Create accounts for cards
Start onboarding an account with the cards feature enabled.
Before you start
You'll need product-level permissions to use this endpoint. You should also create webhooks for the AccountActivated event type at a minimum, so you're notified when the account's status changes.
Create an account for cards
Post/v2/onboarding
Request
Use this request to submit details and start onboarding an account.
Sample requestRequest structure
curl -i -X POST \
'https://api.equalsmoney.com/v2/onboarding' \
-H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"market": "UK",
"features": [
"cards"
],
"accountType": "business",
"affiliateId": "420e4d3c-2d51-4cad-9caf-d7300258cefd",
"companyId": "420e4d3c-2d51-4cad-9caf-d7300258cefd",
"contact": {
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+447123456789",
"dob": "19/01/1946",
"address": {
"addressLine1": "Great Building",
"addressLine2": "Greater Building",
"townCity": "My Town",
"postCode": "SE13UB",
"countryCode": "GB"
}
},
"account": {
"companyName": "ACME international",
"companyNumber": "1111111111",
"incorporationDate": "1980-01-30",
"type": "llp",
"website": "https://www.exampleurl.com",
"onboardingDetail": "Additional details about the account",
"address": {
"addressLine1": "Great Building",
"addressLine2": "Greater Building",
"townCity": "My Town",
"postCode": "SE13UB",
"countryCode": "GB"
}
},
"kyc": {
"expectedCardUse": [
[
"advertising_and_marketing",
"bills_and_utilities",
"client_entertainment"
]
],
"sourceOfFunds": [
"salary"
],
"currenciesRequired": [
"GBP",
"USD"
]
],
"averageLoad": "10000_25000",
"numberOfCards": "11_50",
"cardFourthLine": "CUSTOMER",
"employeeCards": true,
"atmWithdrawals": true
}
}'curl -i -X POST \
'https://api.equalsmoney.com/v2/onboarding' \
-H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"market": "string",
"features": [
"string"
],
"accountType": "string",
"affiliateId": "string",
"companyId": "string",
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"dob": "string",
"address": {
"addressLine1": "string",
"addressLine2": "string",
"townCity": "string",
"postCode": "string",
"countryCode": "string"
}
},
"account": {
"companyName": "string",
"companyNumber": "string",
"incorporationDate": "string",
"type": "string",
"website": "string",
"onboardingDetail": "string",
"address": {
"addressLine1": "string",
"addressLine2": "string",
"townCity": "string",
"postCode": "string",
"countryCode": "string"
}
},
"kyc": {
"expectedCardUse": [
[
"string"
]
],
"sourceOfFunds": [
"string"
],
"currenciesRequired": [
"string"
],
"averageLoad": "string",
"numberOfCards": "string",
"cardFourthLine": "string",
"employeeCards": boolean,
"atmWithdrawals": boolean
}
}'Request body schema
| Parameter | Description |
|---|---|
marketstring |
The market relating to the license that the account operates under. This may be different from the geographical region that the account operates in. Currently, we support UK and EU market accounts, but your account's geographical region doesn't necessarily have to be the one of those. The API validates that the selected market is allowed for the product. Allowable values: UK, EU |
featuresarray |
The feature that you want to enable on the account. If not provided, this defaults to payments. This can't be changed later.Allowable values: payments or cards |
accountTypestring required |
The type of account that you're onboarding. Allowable values: business, personal |
affiliateIdstring |
The affiliate ID. Allowable values: 36 characters |
companyIdstring |
The company ID. Allowable values: 36 characters |
contactobject required |
Details about the contact (primary owner). Allowable values: firstName, lastName, email, phone, dob, address |
contact.firstNamestring required |
The contact's first name. Allowable values: <= 256 characters |
contact.lastNamestring required |
The contact's last name. Allowable values: <= 256 characters |
contact.emailstring required |
The contact's email address. If this matches an existing person, we'll create a new persona for them. If this doesn't match an existing person, we'll create both a new person and a new associated persona. Allowable values: <= 256 characters |
contact.phonestring required |
The contact's phone number. Allowable values: <= 50 characters |
contact.dobstring |
The contact's date of birth. Allowable values: Format: DD/MM/YYYY |
contact.addressobject required |
Details about the contact's address. Allowable values: addressLine1, addressLine2, townCity, postCode, countryCode |
contact.address.addressLine1string required |
The first line of the primary owner's residential address. Allowable values: <= 256 characters |
contact.address.addressLine2string |
The second line of the primary owner's residential address. Allowable values: <= 256 characters |
contact.address.townCitystring required |
The town or city of the primary owner's residential address. Allowable values: <= 256 characters |
contact.address.postCodestring required |
The postal or ZIP code of the primary owner's residential address. Allowable values: <= 36 characters |
contact.address.countryCodestring required |
The country code of the primary owner's residential address, in ISO 3166-1 format (alpha-2). Allowable values: 2 characters |
accountobject |
Details about the account. This object is optional for personal accounts and required for business accounts. Allowable values: A valid account object containing the following fields: companyName, companyNumber, incorporationDate, type, website, onboardingDetail, address |
account.companyNamestring required required if account is provided |
The company's name. Allowable values: <= 256 characters |
account.companyNumberstring required if account is provided |
The company number. Allowable values: A valid string |
account.incorporationDatestring |
The company's incorporation date. Allowable values: Format: YYYY-MM-DD |
account.typestring required if account is provided |
The company type. Allowable values: ltd, private-limited-guarant-nsc-limited-exemption, private-limited-guarant-nsc, llp, plc, sole_trader, charity, charitable-incorporated-organisation, partnership, assurance-company, converted-or-closed, limited_by_guarantee, limited-partnership, oversea-company, private-unlimited, royal-charter, registered-society-non-jurisdictional, trust, uk-establishment, other |
account.websitestring |
The URL of the account's website. Allowable values: <= 256 characters |
account.onboardingDetailstring |
Optional additional details about the account. Allowable values: A valid string |
account.addressobject required if account is provided |
Details about the account's address. Allowable values: addressLine1, addressLine2, townCity, postCode, countryCode |
account.address.addressLine1string required if account is provided |
The first line of the business' registered address Allowable values: <= 256 characters |
account.address.addressLine2string |
The second line of the business' registered address. Allowable values: <= 256 characters |
account.address.townCitystring required if account is provided |
The town or city of the business' registered address. Allowable values: <= 256 characters |
account.address.postCodestring required if account is provided |
The postal or ZIP code of the business' registered address. Allowable values: <= 36 characters |
account.address.countryCodestring required if account is provided |
The country of the business' registered address, in ISO 3166-1 format (alpha-2). Allowable values: 2 characters |
kycobject required |
Details for the KYC checks. Allowable values: A valid kyc object that contains the following fields: sourceOfFunds, expectedCardUse, currenciesRequired, averageLoad, numberOfCards, cardFourthLine, atmWithdrawals |
kyc.sourceOfFundsarray of strings required |
The source of funds. Allowable values: salary, savings, property, cryptocurrency, inheritance, other |
kyc.expectedCardUsearray of strings required |
The expected uses of the cards. Allowable values: advertising_and_marketing, bills_and_utilities, client_entertainment, customer_incentives, employee_incentives, fuel_and_mileage_domestic, fuel_and_mileage_overseas, location_expenses__film__tv, office_equipment, online_subscriptions, other, payment_terminal_testing, payroll, per_diems, petty_cash, procurement__purchasing, procurement__sourcing_, travel_expenses_domestic, travel_expenses_overseas |
kyc.currenciesRequiredarray of strings required |
The currency codes of the required currencies, in ISO 4217 format. Allowable values: 3 characters |
kyc.averageLoadstring required |
The expected average load. Allowable values: 0_20k, 20_50k, 50_100k, 100_250k, 250_500k, 500_1000k, 1000k |
kyc.numberOfCardsstring required |
The expected number of cards on the account. Allowable values: 0_10, 11_50, 51_100, 101+ |
kyc.cardFourthLinestring required |
The line that appears below the name on the payment card. For example, Equals Money. This is only for business accounts. Note that text that is longer than 15 characters will be truncated.Allowable values: <= 21 characters |
kyc.employeeCardsboolean required |
Whether or not the employee cards feature is enabled. Allowable values: true, false |
kyc.atmWithdrawalsboolean required |
Whether or not the card can be used for withdrawals at automated teller machines (ATMs). Allowable values: true, false |
Response
If your request is successful, you'll receive a 202 response.
For more detailed information about this request and its response, see the API reference.
What's next?
Once we've finished verifying the business or person you've submitted details for, we'll activate their account. If you've set up webhooks, you'll receive an AccountActivated event when this happens.