Argentive Docs
Cards

Approvals

Pagos retenidos por cap: listar y resolver.

GET  /api/card/approvals
POST /api/card/approvals/request
GET  /api/card/approvals/{id}

Un approval se crea cuando un pago supera el cap del agente (hold-no-block). Guarda el motivo (reasons[]) con el breach (type: "limitExceeded"). Solo un humano / el owner lo resuelve; el agente que lo originó no. Ver Approvals.

Listar GET /approvals

{
  "items": [
    {
      "kind": "approval",
      "id": "appr_4b5c6d7e8f9001a2b3c4d5e6f7081920",
      "actionType": "wallet_pay",
      "amountCents": 250000,
      "currency": "ARS",
      "payee": "Insumos SRL",
      "agent": "compras",
      "reasons": null,
      "agentReason": "Compra de insumos",
      "channel": "inbox",
      "createdAt": "2026-08-20T09:10:00.000Z",
      "expiresAt": "2026-08-20T10:10:00.000Z"
    }
  ],
  "count": 1
}

Resolver POST /approvals/{id}

Body: { "decision": "approved" } o { "decision": "rejected", "declineReason": "..." }.

Al aprobar y liquidar OK:

{
  "id": "appr_4b5c6d7e8f9001a2b3c4d5e6f7081920",
  "status": "approved",
  "settled": true,
  "kind": "wallet_pay",
  "amountCents": 250000,
  "payee": "Insumos SRL",
  "masterAfterCents": 750000,
  "capAfter": 500000
}

Si se aprueba pero la liquidación falla, el status es approved con settled: false, error y message (HTTP 502).

Errores

StatusBody
400{ "error": "invalid_request", "message": "approval already decided" }
400{ "error": "invalid_request", "message": "approval expired" }
401{ "error": "unauthorized", "message": "Authentication required" }
403{ "error": "forbidden", "message": "approval belongs to another cardholder" }
404{ "error": "not_found", "message": "approval not found" }

On this page