POST
/
api
/
partner
/
v1
/
user-bank-info
cURL
curl --request POST \
  --url https://staging-api.capa.fi/api/partner/v1/user-bank-info \
  --header 'Content-Type: application/json' \
  --header 'partner-api-key: <partner-api-key>' \
  --header 'x-supported-country: <x-supported-country>' \
  --data '{
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "bankName": "Banco Popular",
  "accountNumber": "12345678901",
  "accountType": "SAVINGS",
  "clabe": "014680260346007120",
  "country": "ES",
  "documentNumber": "RNC1234567",
  "routingNumber": "<string>",
  "bic": "<string>",
  "iban": "ES9121000418450200051332"
}'
{
  "status": "ok",
  "data": {
    "id": "<string>",
    "userId": "<string>",
    "partnerId": "<string>",
    "bankName": "<string>",
    "accountNumber": "<string>",
    "accountType": "SAVINGS",
    "clabe": "<string>",
    "country": "MX",
    "rampType": "ON_RAMP",
    "documentNumber": "<string>",
    "documentType": "PASSPORT",
    "isVerified": true,
    "verificationStatus": "PENDING",
    "verifiedAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}
Allows an affiliated partner to add bank details about their users.

Headers

PartnerApiKey (string) - API key associated with the partner.
Partner API Key RequiredRequires partner-api-key for authentication to ensure only authorized partners can access this data.See 🔑 API Key Generation Guide for getting your API key

Input Body

All fields are required unless they’re explicitly marked as optional
  • userId (string): The unique identifier of the user who owns this bank information.
  • bankName (string, optional): The name of the bank where this account is held. This field is required if supportedBankId is not provided.
  • supportedBankId (string, optional): The identifier for the bank where this account is held.
  • accountNumber (string): The account number associated with this bank account.
  • accountType (string): The type of the bank account.
    • Possible values:
      • CHECKING
      • SAVINGS
  • clabe (string, optional): The account identifier specific to bank accounts in Mexico.
  • country (string): The country where this bank account information is applicable.
    • Possible values:
      • MX
      • DO
  • documentNumber (string, optional): The nationality identifier for the user. If not provided, the document number from the user’s KYC information will be used.

Example

JSON
{
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "bankName": "Bank of Example",
  "supportedBankId": "bank_abc123",
  "accountNumber": "1234567890",
  "accountType": "CHECKING",
  "clabe": "123456789012345678",
  "country": "MX",
  "documentNumber": "ABCD123456XYZ"
}

Response


This is the response body returned after creating or retrieving a user’s bank information. All fields are required unless explicitly marked as optional. Below are the details of each field included in the response: id (string): The unique identifier for this bank information record. userId (string): The unique identifier of the user who owns this bank information. partnerId (string, optional): The unique identifier of the partner that owns this bank information. bankName (string, optional): The name of the bank if it is not listed as a supported bank. accountNumber (string): The account number associated with this bank account. accountType (enum: SupportedBankAccountType): The type of the bank account. clabe (string, optional): The CLABE number specific to Mexican banks. country (string): The country where this bank account information is applicable.
  • Possible values:
    • CHECKING
    • SAVINGS
rampType (string): The type of transaction that this bank information is associated with.
  • Possible values:
    • ON_RAMP
    • OFF_RAMP
documentNumber (string): The user’s nationality identifier. supportedBankId (string | null): The identifier of the supported bank. This field is null if the bank is not listed as a supported bank. createdAt (Date): The date and time when this bank information was created. updatedAt (Date): The date and time when this bank information was last updated.

Example

JSON
{
  "id": "987e6543-e21b-12d3-b456-426614174999",
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "partnerId": "partner_001",
  "bankName": "Bank of Example",
  "accountNumber": "1234567890",
  "accountType": "CHECKING",
  "clabe": "123456789012345678",
  "country": "MX",
  "rampType": "ON_RAMP",
  "documentNumber": "ABCD123456XYZ",
  "createdAt": "2024-09-16T12:34:56Z",
  "updatedAt": "2024-09-17T08:22:30Z"
}

Use cases

Register account for off ramp transfers A partner wants to register a new bank account details to transfer fiat currency to the user. Update bank information about the user A partner who wants to update old information about the user’s bank account

Headers

x-supported-country
string
required

Country code of the flow (MX or DO)

partner-api-key
string
required

Api key for the affiliated partner that is performing the request

Body

application/json
userId
string
required

The id of the user that owns this bank information.

Example:

"123e4567-e89b-12d3-a456-426614174000"

accountNumber
string
required

The identifier for this account in the specified bank.

Example:

"12345678901"

accountType
enum<string>
required

The type of account (CHECKING / SAVINGS).

Available options:
SAVINGS,
CHECKING
Example:

"SAVINGS"

country
enum<string>
required

Country of the bank account.

Available options:
MX,
DO,
US,
AT,
BE,
BG,
HR,
CY,
CZ,
DK,
EE,
FI,
FR,
DE,
GR,
HU,
IE,
IT,
LV,
LT,
LU,
MT,
NL,
PL,
PT,
RO,
SK,
SI,
ES,
SE,
IS,
LI,
NO,
CH,
GB,
MC,
SM,
AD,
VA
Example:

"ES"

bankName
string

The name of the bank this account belongs to. Required for DO.

Example:

"Banco Popular"

clabe
string

18–digit CLABE for Mexican accounts.

Example:

"014680260346007120"

documentNumber
string

Document number tied to this bank account (country specific).

Example:

"RNC1234567"

routingNumber
string
bic
string
iban
string

IBAN for SEPA / EU accounts.

Example:

"ES9121000418450200051332"

Response

201 - application/json

Adds a new bank account for the partner user.

status
string
Example:

"ok"

data
object