Tamino

API

One POST. One payment.

REST, JSON, API Key authentication. Sandbox available with no prior approval.

Authentication

Every request uses an API Key in the Authorization: Bearer header — sk_test_... in sandbox, sk_live_... in production.

bash
curl https://api.tamino.com.br/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json"

Create payment

A payment starts as pending and changes status as the provider confirms.

Request
POST /v1/payments

{
  "amount": 15000,
  "currency": "BRL",
  "method": "pix"
}
Response
200 OK

{
  "id": "pay_xxxxxxxxx",
  "status": "pending"
}

Get payment

The same resource, queried anytime by its id.

json
GET /v1/payments/pay_xxxxxxxxx

{
  "id": "pay_xxxxxxxxx",
  "status": "approved",
  "amount": 15000,
  "currency": "BRL",
  "method": "pix"
}

Idempotency

Send Idempotency-Key on any mutable request — resending with the same key returns the already computed response, never duplicates the operation.

bash
curl -X POST https://api.tamino.com.br/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: 8f14e45f-ceea-..." \
  -d '{ "amount": 15000, "currency": "BRL", "method": "pix" }'

Errors

Every error follows the same envelope, with a correlationId to trace with support.

json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "amount must be a positive integer.",
    "correlationId": "c7a1..."
  }
}