Skip to main content

Authentication

All requests must be authenticated using your API key in the Authorization header.
Authorization: Bearer tv_live_xxxxxxxxxxxx
Use tv_live_ prefixed keys for production and tv_test_ prefixed keys for sandbox. API keys are generated and managed in the Tavio Dashboard under Settings > API Keys.

Base URL

https://api.tavio.io/v1

Core Endpoints

MethodEndpointDescription
POST/paymentsCreate a new payment
GET/payments/:idRetrieve a payment
POST/quotesGet a conversion quote
POST/payment-linksCreate a payment link
GET/payment-links/:idRetrieve a payment link
POST/invoicesCreate an invoice
POST/invoices/:id/sendSend an invoice by email
POST/payoutsCreate a single payout
POST/payouts/bulkBulk payout disbursement
GET/payouts/:idRetrieve payout status
POST/refundsInitiate a refund
GET/transactionsList all transactions
POST/webhooksRegister a webhook endpoint

Error Handling

All errors follow a consistent format with an HTTP status code, error code, and human-readable message.
{
  "error": {
    "code": "insufficient_liquidity",
    "message": "Unable to find a conversion path for the requested amount.",
    "docs": "https://docs.tavio.io/errors/insufficient_liquidity"
  }
}
HTTP CodeError CodeMeaning
400invalid_requestMissing or malformed request parameters
401unauthorizedInvalid or missing API key
404not_foundResource does not exist
409quote_expiredQuote has expired, request a new one
422insufficient_liquidityNo path found for conversion
429rate_limitedToo many requests
500internal_errorTavio-side error