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.

GET/v1/capabilities

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ámetroEjemplo
productpayin, payout, remittance
countryBR, PE (ISO 3166-1 alfa-2)
currencyBRL, PEN
methodpix, bank_transfer
curl "$CAIBO_API/v1/capabilities?product=payin&currency=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

reasonQué significaQué hacer
suspendedCaibo 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_enabledEl producto no está activado para tu cuenta.Pide la activación a Caibo.
no_providerNo 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.

En esta página