API reference · Databases / Database orders
Database orders
Follow a new database from payment to provisioning.
Creating a database places an order. The order takes the initial payment, from credit or else the organization's default card, and then provisions the database. Poll the order until its status is provisioned (the database is ready to read), failed or payment_failed. An order never includes the password.
The database order object
How a new database is paid for and provisioned. Never includes a password. The console API returns the same order, naming the id order_id.
Fields
admin_usernamestringrequiredThe admin login the database is created with.
idstringrequiredThe order's id,
ord_….order_idstringrequiredThe same value as
id.attempt_idstring or nullrequiredThe card payment attempt; null when the order was paid from credit or not charged yet.
database_idstringrequiredThe id the database has, or will have once provisioned.
statusstringrequiredawaiting_payment, thenpaid,provisioningandprovisioned(final: the database exists).payment_failed(no payment could be taken; nothing charged, or it was returned) andfailed(provisioning could not start; any payment taken is returned to your credit) are final too.One of
awaiting_payment,paid,provisioning,provisioned,payment_failed,failed.operation_idstring or nullrequiredThe database's create operation, set once provisioning starts; null before.
failure_codestring or nullrequiredWhy the order failed, when it did: e.g.
insufficient_credit,card_declined,payment_expired(not paid within an hour),database_name_taken,provisioning_failed. Null otherwise.organization_deleted: the order was cancelled because its organization was deleted; any payment taken is returned to credit.amount_minorintegerrequiredThe initial payment in minor units of
currency(kobo or cents).currencystringrequiredNGNorUSD: your organization's billing currency.One of
NGN,USD.created_atstring or nullrequiredWhen it was created (RFC 3339, UTC).
updated_atstring or nullrequiredWhen it last changed (RFC 3339, UTC).
List database orders
Your database orders, newest first, one per Create a database call. An order shows whether the initial payment was taken and whether provisioning started. Never includes a password.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….
Query parameters
limitintegerItems per page, 1 to 100. Defaults to 50.
From 1 to 100. Defaults to
50.cursorstringThe 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 DatabaseOrderrequiredShow 12 child fieldsHide child fields
admin_usernamestringrequiredThe admin login the database is created with.
idstringrequiredThe order's id,
ord_….order_idstringrequiredThe same value as
id.attempt_idstring or nullrequiredThe card payment attempt; null when the order was paid from credit or not charged yet.
database_idstringrequiredThe id the database has, or will have once provisioned.
statusstringrequiredawaiting_payment, thenpaid,provisioningandprovisioned(final: the database exists).payment_failed(no payment could be taken; nothing charged, or it was returned) andfailed(provisioning could not start; any payment taken is returned to your credit) are final too.One of
awaiting_payment,paid,provisioning,provisioned,payment_failed,failed.operation_idstring or nullrequiredThe database's create operation, set once provisioning starts; null before.
failure_codestring or nullrequiredWhy the order failed, when it did: e.g.
insufficient_credit,card_declined,payment_expired(not paid within an hour),database_name_taken,provisioning_failed. Null otherwise.organization_deleted: the order was cancelled because its organization was deleted; any payment taken is returned to credit.amount_minorintegerrequiredThe initial payment in minor units of
currency(kobo or cents).currencystringrequiredNGNorUSD: your organization's billing currency.One of
NGN,USD.created_atstring or nullrequiredWhen it was created (RFC 3339, UTC).
updated_atstring or nullrequiredWhen it last changed (RFC 3339, UTC).
next_cursorstring or nullrequiredPass as
cursorfor the next page; null on the last page.
Errors
- 400
INVALID_PAGE:limitis not a whole number from 1 to 100. Send a value in that range, or leave it out for 50.INVALID_CURSOR:cursordoes not belong to this list with these filters. Start again without a cursor. - 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor 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. - 429
RATE_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. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.
Every code is explained in Errors.
curl "https://api.pantechdynamics.com/public/v1/database-orders" \
-H "Authorization: Bearer $PANTECH_API_KEY"{
"data": [
{
"admin_username": "dbadmin",
"id": "ord_06gk3x9tq7m2v8r4y1c5d0zp8w",
"order_id": "ord_06gk3x9tq7m2v8r4y1c5d0zp8w",
"attempt_id": "attempt-id",
"database_id": "db_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 a database order
Payment and provisioning progress for one new database. Poll it after Create a database until status is provisioned (then read the database at GET /public/v1/databases/{database_id}), or payment_failed or failed (final: any payment taken is returned to your credit, and failure_code says why). Once operation_id is set you can also follow that operation. Never includes a password.
Headers
AuthorizationstringrequiredBearerand your API key:Bearer PAN_….
Path parameters
order_idstringrequiredThe resource's id.
Response 200
The order.admin_usernamestringrequiredThe admin login the database is created with.
idstringrequiredThe order's id,
ord_….order_idstringrequiredThe same value as
id.attempt_idstring or nullrequiredThe card payment attempt; null when the order was paid from credit or not charged yet.
database_idstringrequiredThe id the database has, or will have once provisioned.
statusstringrequiredawaiting_payment, thenpaid,provisioningandprovisioned(final: the database exists).payment_failed(no payment could be taken; nothing charged, or it was returned) andfailed(provisioning could not start; any payment taken is returned to your credit) are final too.One of
awaiting_payment,paid,provisioning,provisioned,payment_failed,failed.operation_idstring or nullrequiredThe database's create operation, set once provisioning starts; null before.
failure_codestring or nullrequiredWhy the order failed, when it did: e.g.
insufficient_credit,card_declined,payment_expired(not paid within an hour),database_name_taken,provisioning_failed. Null otherwise.organization_deleted: the order was cancelled because its organization was deleted; any payment taken is returned to credit.amount_minorintegerrequiredThe initial payment in minor units of
currency(kobo or cents).currencystringrequiredNGNorUSD: your organization's billing currency.One of
NGN,USD.created_atstring or nullrequiredWhen it was created (RFC 3339, UTC).
updated_atstring or nullrequiredWhen it last changed (RFC 3339, UTC).
Errors
- 401
UNAUTHENTICATED: the request has no API key, or the key is mistyped, revoked or expired, or its creator has left the organization. SendAuthorization: Bearer PAN_…with a valid key; create one in the console under Organization › API keys. - 403
INSUFFICIENT_SCOPE: the API key lacks the scope this endpoint needs (readfor GET,writefor changes; an AI app's key also needsdeletefor 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. - 404
DATABASE_ORDER_NOT_FOUND: no database order with this id in your organization. Check the id; an order of another organization is reported the same way.RESOURCE_NOT_FOUND: the id is not an order id (ord_…). Check the path. - 429
RATE_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. WaitRetry-Afterseconds, then retry. For authenticated quota denials,RateLimit-Scopeidentifies the denying quota andRateLimit-Resetreports its remaining window in seconds. - 503
SERVICE_UNAVAILABLE: request quota storage is unavailable. Wait a few seconds, then retry.
Every code is explained in Errors.
curl "https://api.pantechdynamics.com/public/v1/database-orders/ord_06gk3x9tq7m2v8r4y1c5d0zp8w" \
-H "Authorization: Bearer $PANTECH_API_KEY"{
"admin_username": "dbadmin",
"id": "ord_06gk3x9tq7m2v8r4y1c5d0zp8w",
"order_id": "ord_06gk3x9tq7m2v8r4y1c5d0zp8w",
"attempt_id": "attempt-id",
"database_id": "db_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"
}