{
  "opencollection": "1.0.0",
  "info": {
    "name": "Agentcard Authentication Withdrawals API",
    "version": "2.0.0"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Withdrawals",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List saved bank destinations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.agentcard.sh/api/v2/wallet/withdrawal-recipients",
            "params": [
              {
                "name": "user_id",
                "value": "",
                "type": "query",
                "description": "The connected user's id."
              }
            ]
          },
          "docs": "The user's active bank destinations, masked. Removed destinations never appear."
        },
        {
          "info": {
            "name": "Save a bank destination",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.agentcard.sh/api/v2/wallet/withdrawal-recipients",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Saves a bank account the user can withdraw to. `ach` needs `routing_number`, `account_number`, and `account_type`; `international_wire` needs `iban` and `swift_code`. Some countries need extra fields via `country_specific` (for example `ifsc`, `clabe`, `bsb`); the validation error names any missing key. A user can hold up to 25 active destinations."
        },
        {
          "info": {
            "name": "Remove a bank destination",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.agentcard.sh/api/v2/wallet/withdrawal-recipients/:recipient_id",
            "params": [
              {
                "name": "recipient_id",
                "value": "",
                "type": "path",
                "description": "The recipient id (`wrec_...`)."
              },
              {
                "name": "user_id",
                "value": "",
                "type": "query",
                "description": "The connected user's id."
              }
            ]
          },
          "docs": "Soft-removes a saved destination. Withdrawals already requested against it are unaffected."
        },
        {
          "info": {
            "name": "List withdrawals",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.agentcard.sh/api/v2/wallet/withdrawals",
            "params": [
              {
                "name": "user_id",
                "value": "",
                "type": "query",
                "description": "The connected user's id."
              }
            ]
          },
          "docs": "The user's most recent withdrawals (up to 20), newest first, across every rail. Poll this to reflect status changes in your UI; `completed` and `rejected` are terminal and also emailed to the user."
        },
        {
          "info": {
            "name": "Request a withdrawal",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.agentcard.sh/api/v2/wallet/withdrawals",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Requests a withdrawal from the user's spendable balance. Two rails: `bank` (default) pays a saved destination by wire; `address` sends USDC on Base to `destination_address`. Both are processed manually by the Agentcard team, usually within 1-3 business days; the user is emailed when the request is received and again when it is sent. Open (not yet completed or rejected) requests count against the balance, so a user cannot over-request. Amounts range from $2.00 to $10,000.00."
        }
      ]
    }
  ],
  "bundled": true
}