Developers

POST /v1/transfers
{
  "country": "Cuba",
  "amount": 50,
  "recipient": "+53..."
}
Ready, asere.

Value Router

POST /v1/quotes
POST /v1/quotes
x-api-key: sk_live_...
x-api-secret: ...

{
  "source_kind": "usdt",
  "dest_kind": "recarga",
  "amount_in": 20
}
POST /v1/orders
Idempotency-Key: order-8891

{ "quote_id": "<quote_id>" }

GET /v1/orders/<id>
GET /v1/catalog?country=CU&kind=topup

Same x-api-key / x-api-secret auth and HMAC-signed webhooks as the transfers API. Quotes expire in 60 seconds — pide otra y ya.

Pon tus llaves y dale a Try it.

B2B Resellers · WHOLESALE

GET /v1/products?country=CU
GET /v1/products?country=CU
x-client-id: sm_test_id_...
x-client-secret: sm_test_sk_...

{
  "product_id": "SM-CU-CUBACEL-500",
  "country": "CU",
  "operator": "Cubacel",
  "recipient_value": 500,
  "recipient_currency": "CUP",
  "price": 18.95,
  "currency": "USD",
  "promo": "Datos ilimitados 24h x 10 dias"
}

price is your account's own price book price. Upstream acquisition costs, parent pricing and supplier identities are never returned. The promo field is dynamic — Cuban promotions rotate, so read it, never hard-code it.

Idempotency-KeyHMAC-signed webhookssandbox + productionprepaid wallet + ledger
POST /v1/topups
POST /v1/topups
Idempotency-Key: shop-88213
x-client-id: sm_test_id_...
x-client-secret: sm_test_sk_...

{
  "product_id": "SM-CU-CUBACEL-500",
  "phone": "+53 5 555 0101",
  "reference": "ticket-4471"
}

GET /v1/topups/<id>

Scopes: catalog:read, prices:read, transactions:create, transactions:read, balance:read. Every call is charged against your prepaid wallet with its own ledger entry — a failed delivery releases the reservation and never charges you.

Everything we sell, in the API

GET /v1 lists every endpoint and which credentials it expects. Three credential families: agency keys (x-api-key / x-api-secret), business keys (x-client-id / x-client-secret) and the Recarga IA developer key (Authorization: Bearer ria_…). Amounts in banking and AI credits are whole cents or créditos, and balances are always per currency — never blended.

Banking · USD & EUR accounts

Open accounts per currency, issue ACH/SEPA receiving numbers, fund, withdraw with a confirmation code, move money between your own accounts and exchange between them.

GET  /v1/banking
POST /v1/banking/accounts            { currency }
POST /v1/banking/receiving-numbers   { account_id, alias }
POST /v1/banking/payins              { account_id, method, amount }
POST /v1/banking/payouts             { account_id, method, amount }
POST /v1/banking/payouts/{id}/confirm { code }
POST /v1/banking/transfers           { from_account_id, to_account_id, amount }
POST /v1/banking/fx                  { from_account_id, to_account_id, amount, execute }

Auth: business keys · scopes banking:read, banking:write

Gift cards & currency exchange

The gift-card catalogue, then the same quote/order pair as any other product. Indicative account rates live on /v1/rates; the real price of a route always comes back with its quote.

GET  /v1/gift-cards?country=US
GET  /v1/rates?from=USD&to=EUR
POST /v1/quotes
POST /v1/orders

Auth: agency or business keys

Recarga IA · prepaid AI credits

Read the wallet behind your key, see every credit and charge with the balance after each line, list codes you issued and mint new ones for resale (your 2.5% commission is recorded).

GET  /v1/ia/wallet
GET  /v1/ia/ledger?limit=50
GET  /v1/ia/vouchers
POST /v1/ia/vouchers                 { face_credits: 100|300|500|1000 }
POST /api/public/ia/chat             { message }

Auth: Authorization: Bearer ria_…

Stores, hosted checkout & plans

Your shops with their service contracts and counter sales, a hosted checkout you can open from your own backend, and the software plans we rent.

GET  /v1/stores
POST /v1/checkout-sessions           { product_id, recipient, client_reference }
GET  /v1/plans
GET  /api/public/app/{slug}/config

Auth: business keys · scopes stores:read, checkout:create · plans are public

Home