Documentation

esc
    API reference · Compute / Instance orders

    Instance orders

    Follow a new instance from payment to provisioning.

    Creating an instance places an order. The order takes the initial payment, from credit or else the organization's default card, and then provisions the instance. Poll the order until its status is provisioned (the instance is ready to read), failed or payment_failed.

    The instance order object

    Fields

    • idstringrequired

      e.g. ord_....

    • instance_idstringrequired

      The id the instance has, or will have once provisioned.

    • statusstringrequired

      awaiting_payment, then paid, provisioning and provisioned (final: the instance exists). payment_failed and failed are final too; any payment taken is returned to your credit.

      One of awaiting_payment, paid, provisioning, provisioned, payment_failed, failed.

    • operation_idstring or null

      The instance's create operation, set once provisioning starts.

    • failure_codestring or null

      Why the order failed, e.g. insufficient_credit, card_declined, payment_expired; null otherwise. organization_deleted: the order was cancelled because its organization was deleted; any payment taken is returned to credit.

    • amount_minorintegerrequired

      The initial payment in minor units of currency.

    • currencystringrequired

      NGN or USD.

      One of NGN, USD.

    • created_atstring or null

      When it was created (RFC 3339, UTC).

    • updated_atstring or null

      When it last changed (RFC 3339, UTC).

    List instance orders

    Your instance orders, newest first, one per Create an instance call. An order shows whether the initial payment was taken and whether provisioning started.

    GET/public/v1/instance-orders
    Read keyReturns200OK

    Headers

    • Authorizationstringrequired

      Bearer and your API key: Bearer PAN_….

    Query parameters

    • limitinteger

      Items per page, 1 to 100. Defaults to 50.

      From 1 to 100. Defaults to 50.

    • cursorstring

      The previous page's next_cursor, to get the next page. Leave out for the first page; keep the other parameters the same.

    Response 200

    A page of orders.
    • dataarray of InstanceOrderrequired
      Show 9 child fields
      • idstringrequired

        e.g. ord_....

      • instance_idstringrequired

        The id the instance has, or will have once provisioned.

      • statusstringrequired

        awaiting_payment, then paid, provisioning and provisioned (final: the instance exists). payment_failed and failed are final too; any payment taken is returned to your credit.

        One of awaiting_payment, paid, provisioning, provisioned, payment_failed, failed.

      • operation_idstring or null

        The instance's create operation, set once provisioning starts.

      • failure_codestring or null

        Why the order failed, e.g. insufficient_credit, card_declined, payment_expired; null otherwise. organization_deleted: the order was cancelled because its organization was deleted; any payment taken is returned to credit.

      • amount_minorintegerrequired

        The initial payment in minor units of currency.

      • currencystringrequired

        NGN or USD.

        One of NGN, USD.

      • created_atstring or null

        When it was created (RFC 3339, UTC).

      • updated_atstring or null

        When it last changed (RFC 3339, UTC).

    • next_cursorstring or nullrequired

      Pass as cursor for the next page; null on the last page.

    Errors

    • 400INVALID_PAGE: limit is not a whole number from 1 to 100. Send a value in that range, or leave it out for 50. INVALID_CURSOR: cursor does not belong to this list with these filters. Start again without a cursor.
    • 401UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. Send Authorization: Bearer PAN_… with a valid key; create one in the console under Organization › API keys.
    • 403INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (read for GET, write for changes; an AI app's key also needs delete for a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access. FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin. AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps.
    • 429RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. Wait Retry-After seconds, then retry. For authenticated quota denials, RateLimit-Scope identifies the denying quota and RateLimit-Reset reports its remaining window in seconds.
    • 503SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.

    Every code is explained in Errors.

    Authorization
    Query
    curl "https://api.pantechdynamics.com/public/v1/instance-orders" \
      -H "Authorization: Bearer $PANTECH_API_KEY"
    Response 200
    {
      "data": [
        {
          "id": "ord_06gk3x9tq7m2v8r4y1c5d0zp8w",
          "instance_id": "vm_06gk3x9tq7m2v8r4y1c5d0zp8w",
          "status": "provisioned",
          "operation_id": "op_06gk3x9tq7m2v8r4y1c5d0zp8w",
          "failure_code": null,
          "amount_minor": 1059200,
          "currency": "NGN",
          "created_at": "2026-10-03T09:30:00Z",
          "updated_at": "2026-10-03T09:30:00Z"
        }
      ],
      "next_cursor": "eyJhdCI6IjIwMjYtMTAtMDNUMDk6MzA6MDBaIiwiaWQiOiJ2bV8wNmdrIn0"
    }

    Get an instance order

    Payment and provisioning progress for one new instance. Poll it after Create an instance until status is provisioned (then read the instance), or payment_failed or failed (final: any payment taken is returned to your credit, and failure_code says why).

    GET/public/v1/instance-orders/{order_id}
    Read keyReturns200OK

    Headers

    • Authorizationstringrequired

      Bearer and your API key: Bearer PAN_….

    Path parameters

    • order_idstringrequired

      The resource's id.

    Response 200

    The order.
    • idstringrequired

      e.g. ord_....

    • instance_idstringrequired

      The id the instance has, or will have once provisioned.

    • statusstringrequired

      awaiting_payment, then paid, provisioning and provisioned (final: the instance exists). payment_failed and failed are final too; any payment taken is returned to your credit.

      One of awaiting_payment, paid, provisioning, provisioned, payment_failed, failed.

    • operation_idstring or null

      The instance's create operation, set once provisioning starts.

    • failure_codestring or null

      Why the order failed, e.g. insufficient_credit, card_declined, payment_expired; null otherwise. organization_deleted: the order was cancelled because its organization was deleted; any payment taken is returned to credit.

    • amount_minorintegerrequired

      The initial payment in minor units of currency.

    • currencystringrequired

      NGN or USD.

      One of NGN, USD.

    • created_atstring or null

      When it was created (RFC 3339, UTC).

    • updated_atstring or null

      When it last changed (RFC 3339, UTC).

    Errors

    • 401UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. Send Authorization: Bearer PAN_… with a valid key; create one in the console under Organization › API keys.
    • 403INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (read for GET, write for changes; an AI app's key also needs delete for a destructive call). Use a key with that scope, or reconnect the AI app with "Manage and delete" access. FORBIDDEN: the member who created the key may not do this in the organization. Use a key created by an owner or admin. AI_APPS_DISABLED: the organization has turned AI app access off, and this request was made with an AI app's key or sent by Pantech's MCP server (Pantech-Client: mcp/…). An owner can turn it on in the console under Organization › AI apps.
    • 404RESOURCE_NOT_FOUND: no instance order with this id in your organization, or the id is not an order id (ord_…). Check the id.
    • 429RATE_LIMITED: this API key, verified user or organization used its request budget for the current window, or this address exceeded an IP/failed-auth limit. Wait Retry-After seconds, then retry. For authenticated quota denials, RateLimit-Scope identifies the denying quota and RateLimit-Reset reports its remaining window in seconds.
    • 503SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.

    Every code is explained in Errors.

    Authorization
    Path
    curl "https://api.pantechdynamics.com/public/v1/instance-orders/ord_06gk3x9tq7m2v8r4y1c5d0zp8w" \
      -H "Authorization: Bearer $PANTECH_API_KEY"
    Response 200
    {
      "id": "ord_06gk3x9tq7m2v8r4y1c5d0zp8w",
      "instance_id": "vm_06gk3x9tq7m2v8r4y1c5d0zp8w",
      "status": "provisioned",
      "operation_id": "op_06gk3x9tq7m2v8r4y1c5d0zp8w",
      "failure_code": null,
      "amount_minor": 1059200,
      "currency": "NGN",
      "created_at": "2026-10-03T09:30:00Z",
      "updated_at": "2026-10-03T09:30:00Z"
    }

    Was this page helpful?

    Updated