Qué puedes hacer
GET /v1/capabilities es el mapa de tu cuenta. Países, métodos y monedas se descubren ahí, nunca tienen endpoints propios.
Cada elemento de la respuesta es algo que tu cuenta puede hacer: un producto (payin para cobrar, payout para pagar, remittance para un corredor completo) por un método y en una moneda. Trae también los campos que pide, cómo se cobra y si puedes usarlo ahora.
Arma tus formularios con esta respuesta y no tendrás que cambiar código cuando Caibo abra un país o un método nuevo: simplemente aparecerá en la lista.
Filtros
Todos son opcionales y se combinan:
| Parámetro | Ejemplo |
|---|---|
product | payin, payout, remittance |
country | BR, PE (ISO 3166-1 alfa-2) |
currency | BRL, PEN |
method | pix, bank_transfer |
curl "$CAIBO_API/v1/capabilities?product=payin¤cy=BRL" \
-H "Authorization: Bearer $CAIBO_API_KEY"{
"data": [
{
"product": "payin",
"operation": "payin",
"method": "pix",
"currency": "BRL",
"country": "BR",
"payment_currency": "BRL",
"settlement_currencies": ["USDT"],
"settlement_asset": "USDT",
"collection": ["payment"],
"payment_method_fields": [
{
"name": "payer.name",
"type": "string",
"required": true,
"pattern": "^.{2,140}$",
"description": "The payer's full name.",
"example": "Ana Souza"
},
{
"name": "settlement_currency",
"type": "enum",
"required": false,
"enum": ["USDT"],
"description": "The currency the balance is credited in."
}
],
"customer_fields": [
{ "name": "type", "type": "enum", "required": true, "enum": ["individual", "business"], "description": "…" },
{ "name": "country", "type": "string", "required": true, "pattern": "^[A-Z]{2}$", "description": "…" }
],
"available": true
}
],
"has_more": false
}Los campos
Campo
Tipo
FieldSpec: cómo describir un campo
Cada campo trae name, type (string, number, iban, phone, email, date, enum), required y description, y puede traer pattern (una expresión regular), enum, example y note. Con eso puedes validar en tu formulario lo mismo que valida la API.
Un nombre con punto indica un objeto anidado en los details de un beneficiario: document.type es {"document": {"type": "V"}}. En payer, en cambio, la clave es el nombre completo: {"payer": {"payer.name": "Ana Souza"}}.
Disponible y no disponible
reason | Qué significa | Qué hacer |
|---|---|---|
suspended | Caibo detuvo la operación temporalmente, para todos o para tu cuenta. | Reintenta más tarde. Si lo intentas, la API responde 503 operation_suspended. |
not_enabled | El producto no está activado para tu cuenta. | Pide la activación a Caibo. |
no_provider | No hay ruta disponible para tu cuenta. | Pide la activación a Caibo. |
Si pides un método o una moneda que no aparece en la lista, la API responde 422 unsupported_method.
Caibo activa y tú no cambias nada
La activación ocurre del lado de Caibo: por país para todos, o solo para tu cuenta. Cuando algo se activa, empieza a aparecer con available: true. Tu integración lee la lista y lo usa.