Skip to documentation
DocumentationAPI referenceBuy a VPS quote with team USD
POSTBearer token

Buy a VPS quote with team USD

/api/v1/orders/buy

Buy your own unexpired order quote using only the token’s fixed team USD balance. Success returns HTTP 202 with the payment intent in applied/balance state, not a delivered server. Repeating the same quote returns the original result.

Before you call

API buying is off by default. First open a ticket linked to an existing, unreclaimed server in your team and ask an administrator to enable the specific token. Other or new tokens do not inherit access. Insufficient USD is rejected with 409; no x402, deposit, xTOVA or commission fallback. Reuse the same quote ID and query get_payment and get_order after an uncertain outcome. MCP purchases do not use this switch.

Request example

cURL
curl "https://tovahub.com/api/v1/orders/buy" -X POST \
  -H "Authorization: Bearer $TOVAHUB_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{
  "id": "507f1f77bcf86cd799439011"
}'

Examples only. No requests are sent from this page.

Illustrative response
JSON
{
  "id": "507f1f77bcf86cd799439011",
  "purpose": "order",
  "amount": "1200",
  "asset": "USD",
  "state": "applied",
  "mode": "balance",
  "expiresAt": "2026-11-07T12:30:00.000Z",
  "transactionHash": null,
  "network": null,
  "result": {
    "_id": "507f1f77bcf86cd799439012",
    "status": "pending"
  },
  "error": null
}

Parameters

idJSON body · Required

string

Quote/payment-intent ID from quote_vps_order: exactly 24 hexadecimal characters. Only the quote creator in the same fixed team can buy. Send no other fields.

Response

HTTP status 202

The same accepted order result is returned on replay. Acceptance is not server delivery.

idstring (ObjectId)

Payment-intent identifier; also the quote identifier.

purpose"order"

Intent purpose; current public creation paths use order or deposit. The stored purpose can also be renew; that does not mean renewal is currently supported.

amountstring

Integer USD cents.

assetstring ('USD')

The platform accounting asset.

state"applied"

Durable payment-intent state.

mode"balance"

Selected funding mode, or null before selection.

expiresAtstring (ISO 8601)

Quote expiry; already accepted funds still require reconciliation after this time.

transactionHashnull

Blockchain transaction hash, if any.

networknull

Payment network, if any.

resultunknown | null

Purpose-specific persisted application result; no universal nested response schema is declared.

errornull

Persisted payment error, if any.