Skip to main content
POST
/
api
/
partner
/
v2
/
banks
/
receivers
/
{receiverId}
/
accounts
cURL
curl --request POST \
  --url https://staging-api.capa.fi/api/partner/v2/banks/receivers/{receiverId}/accounts \
  --header 'Content-Type: application/json' \
  --header 'partner-api-key: <partner-api-key>' \
  --data '
{
  "accountIdentifier": "014680260346007120",
  "country": "MX",
  "accountType": "SAVINGS",
  "bankName": "Banco Popular",
  "documentIdentifier": "40212345678",
  "documentType": "CEDULA",
  "routingNumber": "021000021",
  "address": {
    "streetLine1": "123 Main St",
    "city": "New York",
    "postalCode": "10001",
    "country": "US",
    "streetLine2": "<string>",
    "state": "NY"
  },
  "accountHolder": {
    "type": "INDIVIDUAL",
    "firstName": "<string>",
    "lastName": "<string>",
    "businessName": "<string>"
  },
  "bic": "DEUTDEFF",
  "iban": "DE89370400440532013000"
}
'
{
  "success": true,
  "data": {
    "id": "<string>",
    "userId": "<string>",
    "accountNumber": "<string>",
    "accountType": "SAVINGS",
    "clabe": "<string>",
    "country": "MX",
    "rampType": "ON_RAMP",
    "isVerified": true,
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "partnerId": "<string>",
    "bankName": "<string>",
    "documentNumber": "<string>",
    "documentType": "PASSPORT",
    "verificationStatus": "PENDING",
    "verifiedAt": "2023-11-07T05:31:56Z"
  }
}
Creates a new bank account for a user by receiverId. First gets the user by receiver ID, then creates the bank account. The required fields vary by country.

Error Codes

Common Errors

HTTP StatusCodeMessage
401UNAUTHORIZED”API Key is missing”
401UNAUTHORIZED”Invalid API Key format”
401UNAUTHORIZED”Invalid API Key”
403INVALID_PARTNER_FLOW”The partner has an invalid flow.”

User Ownership Errors

HTTP StatusCodeMessage
401UNAUTHORIZED”Partner information is required for this operation”
401UNAUTHORIZED”User is not associated with the partner”

Endpoint-Specific Errors

HTTP StatusCodeMessage
400INVALID_USER_INPUT_ERROR”Invalid User Input”
404RECEIVER_NOT_FOUND”Receiver not found.”
400OFF_RAMP_USER_BANK_INFO_CREATION_FAILED”The provided bank is not currently supported.”
400USER_BANK_INFO_CREATION_FAILED”Failed to create user bank information.”

Headers

partner-api-key
string
required

Api key for the affiliated partner that is performing the request

Path Parameters

receiverId
string
required

The receiver ID to get bank info for

Example:

"8374f327-38bd-4b0b-b8a7-2524599eb903"

Body

application/json
accountIdentifier
string
required

Unique identifier for bank account. CLABE if country=MX.

Example:

"014680260346007120"

country
enum<string>
required

Country code. Determines validation rules.

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,
CN
Example:

"MX"

accountType
enum<string>

Account type. Required for DO.

Available options:
SAVINGS,
CHECKING
Example:

"SAVINGS"

bankName
string

Bank name. Required for DO / US / SEPA. Not allowed for MX.

Example:

"Banco Popular"

documentIdentifier
string

Document identifier. Required for DO, optional for MX.

Example:

"40212345678"

documentType
enum<string>

Document type. Required for DO.

Available options:
PASSPORT,
CEDULA,
RNC
Example:

"CEDULA"

routingNumber
string

ABA routing number. Required for US.

Example:

"021000021"

address
object

Address. Required for US.

accountHolder
object

Account holder info. Required for US & SEPA.

bic
string

BIC code. Required for SEPA.

Example:

"DEUTDEFF"

iban
string

IBAN. Required for SEPA.

Example:

"DE89370400440532013000"

Response

201 - application/json

Creates a new bank account for a user by receiverId. First gets the user by receiver ID, then creates the bank account.

success
boolean
Example:

true

data
object