Skip to main content
GET
/
offers
/
{offer_id}
/
status
Get Offer Status
curl --request GET \
  --url https://supply-api.compute-index.com/offers/{offer_id}/status \
  --header 'Authorization: Bearer <token>'
{
  "offer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "procurement_status": "<string>",
  "instances": [
    {
      "instance_id": "<string>",
      "instance_name": "<string>",
      "zone": "<string>",
      "status": "<string>",
      "external_ip": "<string>",
      "internal_ip": "<string>",
      "ssh_command": "<string>"
    }
  ],
  "resources": [
    {
      "resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "resource_type": "<string>",
      "role": "<string>",
      "status": "<string>"
    }
  ],
  "progress": "<string>",
  "failure_reason": "<string>",
  "procured_at": "2023-11-07T05:31:56Z"
}
Poll this endpoint after procurement to check instance readiness.

Procurement status values

StatusMeaning
availableOffer exists but not yet procured
provisioning_startedProcurement initiated, vendor provisioning in progress
provisioning_in_progressVendor is creating the instance
readyInstance is active — check instances array for connection details
failedProcurement failed — check failure_reason

Polling pattern

# Poll every 15 seconds until ready
while true; do
  STATUS=$(curl -s https://supply-api.compute-index.com/offers/$OFFER_ID/status \
    -H "Authorization: Bearer $TOKEN" | jq -r '.procurement_status')
  echo "Status: $STATUS"
  [ "$STATUS" = "ready" ] && break
  [ "$STATUS" = "failed" ] && echo "FAILED" && break
  sleep 15
done
When procurement_status is ready, the instances array contains:
  • external_ip — Public IP address
  • ssh_command — Ready-to-use SSH command (e.g., ssh root@1.2.3.4)
  • status — Instance status (usually running)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

offer_id
string<uuid>
required

Response

Successful Response

Status of an offer and its provisioned instances.

offer_id
string<uuid>
required

Unique offer identifier

status
string
required

Offer status: available, procured, failed, or expired

created_at
string<date-time>
required

When this offer was created

procurement_status
string | null

Procurement status: pending, provisioning, ready, or failed

instances
InstanceDetail · object[]

Provisioned instances (empty until procurement starts)

resources
OfferResourceInfo · object[]

Resources created by this offer

progress
string | null

Human-readable progress (e.g. '2/4 instances running')

failure_reason
string | null

Reason for failure (present when status=failed)

procured_at
string<date-time> | null

When this offer was procured (null if not yet procured)