OxusAPI

Convenções

Valores, IDs, paginação, idempotência e erros.

Valores

Valores monetários são inteiros na menor unidade da moeda (centavos).

Na APIMoedaValor
1000000BRLR$ 10.000,00
182765USDUS$ 1.827,65
100000USDT1.000,00 USDT

Taxas de câmbio (exchangeRate, effectiveRate) são strings decimais com seis casas, por exemplo "0.184020". Datas seguem ISO 8601 em UTC.

IDs

IDs são opacos e têm prefixo por recurso: cus_ cliente, kya_ atestação, aud_ auditoria, rcv_ conta de destino, quo_ cotação, trf_ transferência, whe_ endpoint de webhook, evt_ evento, req_ requisição.

Paginação

Listagens devolvem data e nextCursor. Para a próxima página, envie cursor. limit aceita de 1 a 100.

Idempotência

POST /v1/transfers e POST /v1/transfers/{transferId}/refund exigem o header Idempotency-Key. Repetir a chamada nunca duplica um pagamento nem um reembolso.

SituaçãoResposta
Primeira chamada201
Mesma chave, mesmo corpoA mesma resposta, com Idempotent-Replayed: true
Mesma chave, corpo diferente409 IDEMPOTENCY_CONFLICT
Sem a chave400 IDEMPOTENCY_KEY_REQUIRED

Gere um UUID por operação, grave-o antes da chamada e reutilize-o em toda nova tentativa.

Erros

Todo erro tem o mesmo formato:

{
  "error": {
    "code": "QUOTE_EXPIRED",
    "message": "A cotação expirou. Gere uma nova cotação e tente de novo.",
    "requestId": "req_c57158228f0bfc9d"
  }
}

Trate pelo code. Informe o requestId ao suporte.

HTTPcodeO que fazer
400VALIDATION_ERROR, IDEMPOTENCY_KEY_REQUIREDCorrija a requisição
401UNAUTHORIZEDVerifique a API key
403FORBIDDENEscopo, IP ou ambiente incorretos
404NOT_FOUNDO recurso não existe neste ambiente
409IDEMPOTENCY_CONFLICT, TRANSFER_NOT_CANCELLABLE, TRANSFER_NOT_REFUNDABLENão repita a operação
422KYC_ATTESTATION_REQUIREDEnvie a atestação KYC do cliente
422INVALID_ATTESTATION_SIGNATUREConfira a chave de assinatura
422QUOTE_EXPIREDCote de novo e mostre o novo valor
422ROUTE_UNAVAILABLETente outro rail ou mais tarde
429RATE_LIMITEDAguarde o tempo de Retry-After
5xxPROVIDER_ERROR, INTERNAL_ERRORRepita com a mesma Idempotency-Key

Repita apenas timeouts, 429 e 5xx, com backoff exponencial.

Versionamento

A versão é uma data (2026-10-01) e vem em todo webhook. Mudanças incompatíveis só entram em uma nova versão, com aviso prévio.

Nesta página