Retrieve an invoice
Retrieves a single invoice by its id (UUID) or the merchant orderId on the account bound to the API key. At least one of id or orderId must be supplied; if both are present, id takes precedence. The response always includes paymentPageUrl for the hosted payment page.
Required scope: invoices.list.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Invoice ID (UUID) returned from POST /invoice. Mutually optional with orderId.
Merchant orderId supplied when the invoice was created. Mutually optional with id.
Responses
Section titled “Responses”object
object
object
object
Optional reference for the customer on the payment page, when set at creation.
Browser CTA URL for cancelled / expired, when provided at creation.
Browser CTA URL for paid / overpaid, when provided at creation.
Browser CTA URL for failed / suspended / partially_paid, when provided at creation.
ISO 8601 timestamp.
ISO 8601 timestamp.
When payment settled (ISO 8601), if applicable.
Merchant-supplied customer reference when provided at creation.
Opaque string from creation; echoed on webhooks when set.
Hosted payment page URL for this invoice.
Creation channel; omitted when unknown (rows created before this metadata existed).
Example
{ "data": { "status": "created", "cryptoCurrencyCode": "USDT_TRC20", "paymentPageUrl": "https://payment.cryptonly.com/invoice/...", "source": "api" }}Neither id nor orderId was supplied, or a supplied value failed validation.
Missing or invalid x-tenant-api-key header. Code: exceptions.auth.invalidApiKey.
object
Stable machine-readable error code, namespaced under exceptions.. Always prefer branching on this value over message. See the per-route descriptions for the codes that route emits.
Human-readable explanation. Subject to wording changes; for programmatic checks use code instead.
Optional structured payload accompanying the error. For exceptions.rateLimit.exceeded includes msBeforeNext; for validation errors includes the offending field info.
object
Example
{ "code": "exceptions.auth.invalidApiKey", "message": "Invalid or missing API key"}Request origin IP is not on the tenant API allowlist (exceptions.auth.ipNotAllowed), or the API key is missing the scope required by this operation (exceptions.auth.insufficientScope).
object
Stable machine-readable error code, namespaced under exceptions.. Always prefer branching on this value over message. See the per-route descriptions for the codes that route emits.
Human-readable explanation. Subject to wording changes; for programmatic checks use code instead.
Optional structured payload accompanying the error. For exceptions.rateLimit.exceeded includes msBeforeNext; for validation errors includes the offending field info.
object
Example
{ "code": "exceptions.auth.invalidApiKey", "message": "Invalid or missing API key"}Invoice not found.
Rate limit exceeded for this endpoint. Retry after the window resets. Code: exceptions.rateLimit.exceeded. The extension.msBeforeNext field tells you how long to wait.
object
Stable machine-readable error code, namespaced under exceptions.. Always prefer branching on this value over message. See the per-route descriptions for the codes that route emits.
Human-readable explanation. Subject to wording changes; for programmatic checks use code instead.
Optional structured payload accompanying the error. For exceptions.rateLimit.exceeded includes msBeforeNext; for validation errors includes the offending field info.
object
Example
{ "code": "exceptions.auth.invalidApiKey", "message": "Invalid or missing API key"}Unexpected server error. Safe to retry idempotent operations after a backoff.
object
Stable machine-readable error code, namespaced under exceptions.. Always prefer branching on this value over message. See the per-route descriptions for the codes that route emits.
Human-readable explanation. Subject to wording changes; for programmatic checks use code instead.
Optional structured payload accompanying the error. For exceptions.rateLimit.exceeded includes msBeforeNext; for validation errors includes the offending field info.
object
Example
{ "code": "exceptions.auth.invalidApiKey", "message": "Invalid or missing API key"}