Create accounts for payments

Start onboarding an account with the payments 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 payments

Post/v2/onboarding

Request

Use this request to submit details and start onboarding an account.

Sample requestRequest structure
Copy
Copied
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": [
      "payments"
    ],
    "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": {
      "mainPurpose": [
        "Investment"
      ],
      "sourceOfFunds": [
        "salary"
      ],
      "destinationOfFunds": [
        "GB"
      ],
      "currenciesRequired": [
        "GBP"
      ],
      "annualVolume": "Less than £10,000",
      "numberOfPayments": "More than 20 payments"
    }
  }'
Copy
Copied
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": {
      "mainPurpose": [
        "string"
      ],
      "sourceOfFunds": [
        "string"
      ],
      "destinationOfFunds": [
        "string"
      ],
      "currenciesRequired": [
        "string"
      ],
      "annualVolume": "string",
      "numberOfPayments": "string"
    }
  }'

Request body schema

Parameter Description
market
string
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.

Allowable values:
UK, EU
features
array
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
accountType
string
required
The type of account that you're onboarding.

Allowable values:
business, personal
affiliateId
string
The affiliate ID.

Allowable values:
36 characters
companyId
string
The company ID.

Allowable values:
36 characters
contact
object
required
Details about the contact (primary owner).

Allowable values:
A valid contact object containing the following fields: firstName, lastName, email, phone, dob, address
contact.firstName
string
required
The contact's first name.

Allowable values:
<= 256 characters
contact.lastName
string
required
The contact's last name.

Allowable values:
<= 256 characters
contact.email
string
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.phone
string
required
The contact's phone number.

Allowable values:
<= 50 characters
contact.dob
string
The contact's date of birth.

Allowable values:
Format: DD/MM/YYYY
contact.address
object
required
Details about the contact's address.

Allowable values:
A valid address object containing the following fields: addressLine1, addressLine2, townCity, postCode, countryCode
contact.address.addressLine1
string
required
The first line of the contact's address.

Allowable values:
<= 256 characters
contact.address.addressLine2
string
required
The second line of the contact's address.

Allowable values:
<= 256 characters
contact.address.townCity
string
required
The town or city of the contact's address.

Allowable values:
<= 256 characters
contact.address.postCode
string
required
The postal or ZIP code of the contact's address.

Allowable values:
<= 36 characters
contact.address.countryCode
string
required
The country code of the contact's address, in ISO 3166-1 format (alpha-2).

Allowable values:
2 characters
account
object
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.companyName
string
required if account is provided
The company's name.

Allowable values:
<= 256 characters
account.companyNumber
string
required if account is provided
The company number.

Allowable values:
A valid string
account.incorporationDate
string
The company's incorporation date.

Allowable values:
Format: YYYY-MM-DD
account.type
string
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.website
string
The URL of the company's website.

Allowable values:
<= 256 characters
account.onboardingDetail
string
Optional additional details about the account.

Allowable values:
A valid string
account.address
object
required if account is provided
Details about the account's address.

Allowable values:
addressLine1, addressLine2, townCity, postCode, countryCode
account.address.addressLine1
string
required if account is provided
The first line of the business' registered address.

Allowable values:
<= 256 characters
account.address.addressLine2
string
The second line of the business' registered address.

Allowable values:
<= 256 characters
account.address.townCity
string
required if account is provided
The town or city of the business' registered address.

Allowable values:
<= 256 characters
account.address.postCode
string
required if account is provided
The postal or ZIP code of the business' registered address.

Allowable values:
<= 36 characters
account.address.countryCode
string
required if account is provided
The country of the business' registered address, in ISO 3166-1 format (alpha-2).

Allowable values:
2 characters
kyc

object
required
Details for the KYC checks.

Allowable values:
A valid kyc object containing the following fields: mainPurpose, sourceOfFunds, destinationOfFunds,currenciesRequired, annualVolume, numberOfPayments
kyc.mainPurpose
array of strings
required
The main purposes of the payments.

Allowable values:
Business acquisition, Business costs/revenue, Charity, Currency purchase/sale, Dividend payments, Inheritance, Intercompany Transfers, Investment, Legal fees, Loan, Mortgage payments, On-going payments to family, One off payment, Payment of services, Payment to suppliers, Property maintenance, Property purchase, Property sale, Purchase of goods, Relocating abroad", Repatriation, Royalties, Sale of shares, Study fees/tuition, Vehicle purchase, Incentives/Grants, Tax payments, Director's fees
kyc.sourceOfFunds
array of strings
required
The source of funds.

Allowable values:
salary, savings, property, cryptocurrency, inheritance, other
kyc.destinationOfFunds
array of strings
required
The destination of funds, in ISO 3166-1 format (alpha-2).

Allowable values:
2 characters
kyc.currenciesRequired
array of strings
required
The currency codes of the required currencies, in ISO 4217 format.

Allowable values:
3 characters
kyc.annualVolume
string
required
The expected annual volume of payments.

Allowable values:
Less than £10,000, £10,000 - £50,000, £50,000 - £100,000, £100,000 - £250,000, £250,000 - £1,000,000, £1,000,000 - £5,000,000, More than £5,000,000
kyc.numberOfPayments
string
required
The expected annual number of payments.

Allowable values:
Fewer than 5 payments, 5 - 10 payments, 10 - 20 payments, More than 20 payments

Response

If your request is successful, you'll receive a 202 response. This will also trigger an AccountCreated event if you've set up webhooks.

For more detailed information about this request and its response, see the API reference.

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.