Instances#
Cloud instance lifecycle management
Estimate cloud credits#
POST/organizations/{org_id}/cloud/estimate
Estimate cloud credit usage and spend-limit impact for a prospective cloud operation.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
Request Body#
{
"operation": "create_instance",
"instance_id": "550e8400-e29b-41d4-a716-446655440000",
"tier": "starter",
"mode": "single",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"region": "us-central1",
"hours_per_month": 730
}
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/estimate" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"operation": "create_instance",
"instance_id": "550e8400-e29b-41d4-a716-446655440000",
"tier": "starter",
"mode": "single",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"region": "us-central1",
"hours_per_month": 730
}'
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/estimate", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"operation": "create_instance",
"instance_id": "550e8400-e29b-41d4-a716-446655440000",
"tier": "starter",
"mode": "single",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"region": "us-central1",
"hours_per_month": 730
})
});
const data = await response.json();
Responses#
{
"operation": "create_instance",
"tier": "starter",
"mode": "single",
"region": "string",
"hours_per_month": 0,
"allowed": true,
"reason": "string",
"credit_units": 0,
"estimated_cents": 0,
"monthly_package_cents": 0,
"monthly_commitment_cents": 0,
"prorated_package_cents": 0,
"delta_cents": 0,
"baseline_backfill_cents": 0,
"covered_credit_units": 0,
"overage_credit_units": 0,
"balance_before": 0,
"cloud_overage_enabled": true,
"spend_allowed": true,
"spend_limit_remaining_cents": 0,
"metrics": [
{
"metric_type": "cloud_cpu_core_hour",
"quantity": 0,
"credit_units": 0,
"display_value": 0,
"display_unit": "core-hours"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
List cloud instances#
GET/organizations/{org_id}/cloud/instances
List all cloud instances for an organization
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
offset | integer | query | No | Number of items to skip |
limit | integer | query | No | Maximum number of items to return |
Code Examples#
curl -X GET "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances?offset=0&limit=20" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances?offset=0&limit=20", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
],
"meta": {
"offset": 0,
"limit": 1,
"total": 0
}
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Create cloud instance#
POST/organizations/{org_id}/cloud/instances
Create a new hosted AntflyDB instance. Provisioning is asynchronous —
the instance is created with status=pending and a dedicated cluster is
provisioned in the background.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
Request Body#
{
"name": "My Production DB",
"slug": "my-production-db",
"region": "us-central1",
"tier": "starter",
"mode": "single",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"version_policy": "pinned"
}
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Production DB",
"slug": "my-production-db",
"region": "us-central1",
"tier": "starter",
"mode": "single",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"version_policy": "pinned"
}'
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "My Production DB",
"slug": "my-production-db",
"region": "us-central1",
"tier": "starter",
"mode": "single",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"version_policy": "pinned"
})
});
const data = await response.json();
Responses#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Get cloud instance#
GET/organizations/{org_id}/cloud/instances/{instance_id}
Get cloud instance details including status and connection info
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X GET "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Update cloud instance#
PATCH/organizations/{org_id}/cloud/instances/{instance_id}
Update instance configuration (rename, scale)
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Request Body#
{
"name": "string",
"mode": "single",
"tier": "starter",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"version_policy": "pinned",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "us-central1-docker.pkg.dev/antfly-image-artifacts/containers/antfly:v0.2.1",
"target_antfly_image_digest": "sha256:abc123",
"clear_antfly_version_target": true,
"shared_inference_mode": "enabled"
}
Code Examples#
curl -X PATCH "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"mode": "single",
"tier": "starter",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"version_policy": "pinned",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "us-central1-docker.pkg.dev/antfly-image-artifacts/containers/antfly:v0.2.1",
"target_antfly_image_digest": "sha256:abc123",
"clear_antfly_version_target": true,
"shared_inference_mode": "enabled"
}'
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000", {
method: "PATCH",
headers: {
Authorization: "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "string",
"mode": "single",
"tier": "starter",
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "string",
"memory": "string",
"storage": "string",
"metadata_storage": "string",
"data_storage": "string",
"accelerator": {
"type": "string",
"count": 0
}
},
"version_policy": "pinned",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "us-central1-docker.pkg.dev/antfly-image-artifacts/containers/antfly:v0.2.1",
"target_antfly_image_digest": "sha256:abc123",
"clear_antfly_version_target": true,
"shared_inference_mode": "enabled"
})
});
const data = await response.json();
Responses#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Delete cloud instance#
DELETE/organizations/{org_id}/cloud/instances/{instance_id}
Delete a cloud instance. Deprovisioning is asynchronous — the instance
status is set to deprovisioning and the dedicated cluster is cleaned up
in the background.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X DELETE "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000", {
method: "DELETE",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Get browser access policy#
GET/organizations/{org_id}/cloud/instances/{instance_id}/browser-access
Get the opt-in CORS and edge admission policy for browser clients that call query APIs directly.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X GET "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/browser-access" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/browser-access", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"enabled": true,
"allowed_origins": [
"https://docs.example.com"
],
"rate_limits": {
"requests_per_minute_per_key": 60,
"requests_per_minute_per_ip": 120,
"concurrent_requests_per_key": 5
}
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Update browser access policy#
PUT/organizations/{org_id}/cloud/instances/{instance_id}/browser-access
Enable or disable direct browser access and configure exact allowed origins plus per-key and per-IP edge admission limits. Wildcard origins are not accepted. These limits are enforced per edge replica and complement the fleet-wide WAF.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Request Body#
{
"enabled": true,
"allowed_origins": [
"string"
],
"rate_limits": {
"requests_per_minute_per_key": 60,
"requests_per_minute_per_ip": 120,
"concurrent_requests_per_key": 5
}
}
Code Examples#
curl -X PUT "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/browser-access" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"allowed_origins": [
"string"
],
"rate_limits": {
"requests_per_minute_per_key": 60,
"requests_per_minute_per_ip": 120,
"concurrent_requests_per_key": 5
}
}'
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/browser-access", {
method: "PUT",
headers: {
Authorization: "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"enabled": true,
"allowed_origins": [
"string"
],
"rate_limits": {
"requests_per_minute_per_key": 60,
"requests_per_minute_per_ip": 120,
"concurrent_requests_per_key": 5
}
})
});
const data = await response.json();
Responses#
{
"enabled": true,
"allowed_origins": [
"https://docs.example.com"
],
"rate_limits": {
"requests_per_minute_per_key": 60,
"requests_per_minute_per_ip": 120,
"concurrent_requests_per_key": 5
}
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
List browser-access tables#
GET/organizations/{org_id}/cloud/instances/{instance_id}/browser-access/tables
List instance-owned tables that may be granted to direct-browser API keys.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X GET "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/browser-access/tables" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/browser-access/tables", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"data": [
{
"table_name": "acme_prod_events",
"display_name": "events",
"source": "managed"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
List S3 objects for a cloud instance credential#
GET/organizations/{org_id}/cloud/instances/{instance_id}/provider-auths/{auth_id}/objects
Lists immediate prefixes and objects for a bucket/prefix authorized by the selected S3 credential. Responses may be truncated when the requested limit is reached.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
auth_id | string | path | Yes | Provider credential ID |
bucket | string | query | Yes | Allowed bucket name to list. |
prefix | string | query | No | Optional object key prefix. |
recursive | boolean | query | No | Whether to list recursively instead of returning immediate prefixes. |
limit | integer | query | No | Maximum number of object entries to return. |
Code Examples#
curl -X GET "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/provider-auths/550e8400-e29b-41d4-a716-446655440000/objects?bucket=string&prefix=string&recursive=false&limit=200" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/provider-auths/550e8400-e29b-41d4-a716-446655440000/objects?bucket=string&prefix=string&recursive=false&limit=200", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"data": [
{
"key": "string",
"size": 0,
"etag": "string",
"last_modified": "2025-10-02T15:30:00Z"
}
],
"objects": [
{
"key": "string",
"size": 0,
"etag": "string",
"last_modified": "2025-10-02T15:30:00Z"
}
],
"prefixes": [
"string"
],
"truncated": true
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Pause import job#
POST/organizations/{org_id}/cloud/instances/{instance_id}/import-jobs/{job_id}/pause
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
job_id | string | path | Yes | Import job ID |
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000/pause" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000/pause", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Resume import job#
POST/organizations/{org_id}/cloud/instances/{instance_id}/import-jobs/{job_id}/resume
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
job_id | string | path | Yes | Import job ID |
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000/resume" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000/resume", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Archive import job#
POST/organizations/{org_id}/cloud/instances/{instance_id}/import-jobs/{job_id}/archive
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
job_id | string | path | Yes | Import job ID |
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000/archive" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000/archive", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Archive import job#
DELETE/organizations/{org_id}/cloud/instances/{instance_id}/import-jobs/{job_id}
Archives the import job while retaining run history. This is an alias for the archive action.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
job_id | string | path | Yes | Import job ID |
Code Examples#
curl -X DELETE "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/import-jobs/550e8400-e29b-41d4-a716-446655440000", {
method: "DELETE",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Provision cloud instance#
POST/organizations/{org_id}/cloud/instances/{instance_id}/provision
Retry or repair provisioning for an existing cloud instance. This action
reconciles existing infrastructure in place and does not delete the
instance namespace, CRD, or persistent volumes.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/provision" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/provision", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Restart a single-node cloud instance#
POST/organizations/{org_id}/cloud/instances/{instance_id}/restart
Restarts the database pod for a single-node instance without deleting
its AntflyCluster, configuration, secrets, or persistent volume. The
action briefly interrupts connections and is processed asynchronously.
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X POST "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/restart" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/restart", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Production DB",
"slug": "my-production-db",
"tier": "starter",
"mode": "single",
"status": "pending",
"region": "us-central1",
"shared_inference_enabled": true,
"node_config": {
"metadata_nodes": 0,
"data_nodes": 1,
"cpu": "500m",
"memory": "4Gi",
"storage": "10Gi",
"metadata_storage": "2Gi",
"data_storage": "10Gi",
"replication_factor": 3,
"accelerator": {
"type": "string",
"count": 1
},
"shared_inference_mode": "enabled"
},
"provisioning_started_at": "2025-10-02T15:30:00Z",
"provisioning_completed_at": "2025-10-02T15:30:00Z",
"provisioning_error": "string",
"version_policy": "pinned",
"current_antfly_version": "v0.2.0",
"current_antfly_image": "string",
"current_antfly_image_digest": "string",
"target_antfly_version": "v0.2.1",
"target_antfly_image": "string",
"target_antfly_image_digest": "string",
"version_upgrade_status": "idle",
"version_upgrade_error": "string",
"version_upgrade_started_at": "2025-10-02T15:30:00Z",
"version_upgrade_completed_at": "2025-10-02T15:30:00Z",
"created_at": "2025-10-02T15:30:00Z",
"updated_at": "2025-10-02T15:30:00Z"
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
Get connection details#
GET/organizations/{org_id}/cloud/instances/{instance_id}/connection
Get connection URL and instructions for connecting to the instance
Parameters#
| Name | Type | Location | Required | Description |
|---|
org_id | string | path | Yes | Organization ID |
instance_id | string | path | Yes | Cloud instance ID |
Code Examples#
curl -X GET "https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/connection" \
-H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://platform.antfly.io/api/v1/organizations/550e8400-e29b-41d4-a716-446655440000/cloud/instances/550e8400-e29b-41d4-a716-446655440000/connection", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_TOKEN"
}
});
const data = await response.json();
Responses#
{
"proxy_url": "https://platform.antfly.io/cloud/v1/abc123-def456",
"dashboard_url": "https://platform.antfly.io/cloud/instances/abc123-def456",
"antfly_inference_proxy_url": "https://platform.antfly.io/cloud/v1/abc123-def456/ai/v1",
"status": "pending"
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}
{
"type": "https://platform.antfly.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "Email address is required",
"instance": "https://platform.antfly.io/api/v1/users/550e8400-e29b-41d4-a716-446655440000",
"errors": [
{
"field": "string",
"message": "string"
}
]
}