Create a Business Account

This guide walks you through creating a business account with Equals Money using the Onboarding API. Business accounts are for companies, sole traders, partnerships, charities, and other business entities.

For complete API specifications, field definitions, and request/response schemas, refer to the API Reference documentation.

info

Looking for Personal accounts? If you're onboarding an individual for a personal account, see the Create a Personal Account guide instead.


Prerequisites

Before using the Onboarding API, ensure you have:

  • A valid API key for authentication
  • Information about the business you want to onboard
  • Details of associated people (directors, UBOs, authorised signatory)
  • Understanding of which KYC model applies to your integration

Workflow Overview

The business account onboarding flow:

  1. Create Associated People - Add directors, UBOs, and authorised signatories
  2. Create Application - Submit the business details and link associated people
  3. Update Application (optional) - Modify details before submission
  4. Upload Application Documents (optional) - Provide business documentation
  5. Upload Associated People Documents (optional) - Provide identity documents
  6. Submit Application - Finalise and trigger verification

Understanding the Onboarding Process

Why separate Create and Submit steps?

The Onboarding API separates application creation from submission. This allows you to:

  • Gradually collect customer information over multiple sessions
  • Amend application details before final submission
  • Validate data incrementally
  • Upload supporting documents at your own pace

Verification checks are only triggered upon submission, not when the application is created.


Step 1: Create Associated People

Endpoint: POST /v2/applications/associated-people

For business applications, you must create associated people before creating the application. These are the individuals connected to the business.

Types of Associated People

Role Description When Required
APPLICANT The authorised person applying for the account Always required
DIRECTOR A company director Required for companies with directors
ULTIMATE_BENEFICIAL_OWNER Any person with 25%+ ownership Always required, if Sole Trader set to 100%

Required Fields by Role

Role Required Fields
APPLICANT First name, Last name, Date of birth, Nationalities, Residential address, Email address
DIRECTOR First name, Last name, Date of birth
ULTIMATE_BENEFICIAL_OWNER First name, Last name, Date of birth, Nationalities, Residential address, Email address, Ownership percentage
warning

UBO Ownership Percentage: When collecting ownership percentage, always use the upper range. For example, if a person owns between 25-50%, report 50%.

Example Request

Copy
Copied
curl -X POST https://api.equalsmoney.com/v2/applications/associated-people \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "firstName": "John",
      "lastName": "Doe",
      "dateOfBirth": "1990-01-01",
      "emailAddress": "john.doe@example.com",
      "nationalities": ["GB"],
      "residentialAddress": {
        "streetName": "High Street",
        "buildingNumber": "10",
        "postcode": "EC1A 1BB",
        "city": "London",
        "countryCode": "GB"
      }
    },
    {
      "firstName": "Jane",
      "lastName": "Smith",
      "dateOfBirth": "1985-05-15",
      "emailAddress": "jane.smith@example.com",
      "nationalities": ["GB"]
    }
  ]'

Response: Returns an array of created associated people with their IDs. Save these IDs to link them to your application in Step 2.


Sole Trader Requirements

warning

Important: Although sole traders are individuals, they must use the business application flow, not type: 'INDIVIDUAL'.

Sole traders require:

  1. One associated person record for the sole trader themselves
  2. Link this person to the application with both roles:
    • APPLICANT (with jobTitle )
    • ULTIMATE_BENEFICIAL_OWNER (with ownershipPercentage: 100 )

This is required because the sole trader is both the authorised signatory AND the sole owner of the business.

Example: Linking a Sole Trader

Copy
Copied
{
  "associatedPeople": [
    {
      "associatedPersonId": "e9293471-5eb3-4dbc-916c-dbaf9e2deefd",
      "associationType": "APPLICANT",
      "jobTitle": "Owner"
    },
    {
      "associatedPersonId": "e9293471-5eb3-4dbc-916c-dbaf9e2deefd",
      "associationType": "ULTIMATE_BENEFICIAL_OWNER",
      "ownershipPercentage": 100
    }
  ]
}

Step 2: Create Application

Endpoint: POST /v2/applications

This endpoint creates a business application.

Business Application Types

The type field determines what kind of business entity you're onboarding:

Value UK Market EU Market US Market
SOLE_TRADER Sole Trader Sole Proprietor Sole Proprietorship
PRIVATE_COMPANY Private Limited Company GmbH, SARL, BV LLC / S Corporation
PUBLIC_COMPANY_LISTED PLC (Listed) AG / SA / NV (Listed) C Corporation (Listed)
PUBLIC_COMPANY_UNLISTED PLC (Unlisted) AG / SA / NV (Unlisted) C Corporation (Unlisted)
PARTNERSHIP Partnership / LP / LLP SNC / KG / SCS / CV GP / LP / LLP
NON_PROFIT Non Profit / Foundation Non Profit / Foundation 501(c)(3) Nonprofit
SOCIAL_ENTERPRISE CIC SCIC / gGmbH Benefit Corporation, L3C
CHARITY Charity Charity Charity
TRUST Trust Trust Trust
PENSION SIPP / SSAS Local pension schemes IRA / 401(k)
FUND Fund Fund Fund

Required Information

Market and Incorporation

Field Required Description
market Yes UK, EU, or US
countryOfIncorporation Yes ISO 3166-1 country code
regionOfIncorporation Conditional Required for Germany, France, US
type Yes Business type (see table above)
registeredName Yes Legal name of the company
registrationNumber Conditional Required if registered
tradingNames Yes Array with at least one trading name
incorporationDate Yes Date of incorporation

Business Profile

Field Required Description
businessOverview Yes Description of the business (1-1000 chars)
industry Yes Object with main and sub industry codes
employeeCount Yes e.g., ONE_TO_TEN, ELEVEN_TO_FIFTY
phoneNumber Yes Business phone number
website Conditional Required if business has a website
businessPromotionDescription Conditional Required if no website to explain how the business acquires customers and promotes itself

Addresses

Business applications need at least one address:

Address Type When Required
REGISTERED Always required
TRADING Required if different from registered address

You can include multiple trading addresses if the business operates from different locations.

Feature Configuration

The featureInformation object determines account capabilities.

If requesting PAYMENTS, provide paymentsInformation:

  • purposes , accountFundingSource , estimatedPaymentCount , estimatedPaymentVolume
  • inboundCurrencies , outboundCurrencies
  • receivingCountries , sendingCountries

If requesting CARDS, provide cardsInformation:

  • businessDisplayName (max 15 characters, appears on cards)
  • purposes , estimatedAnnualSpend , numberOfCardsRequired
  • cardsAreForEmployees , atmWithdrawalsRequired

Linking Associated People

The associatedPeople array links individuals from Step 1 to the application:

Association Type Required Field
APPLICANT jobTitle
DIRECTOR None
ULTIMATE_BENEFICIAL_OWNER ownershipPercentage (0-100)
info

Note: You can link the same person multiple times with different roles.

Example Request

Copy
Copied
curl -X POST https://api.equalsmoney.com/v2/applications \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "market": "UK",
    "countryOfIncorporation": "GB",
    "type": "PRIVATE_COMPANY",
    "registeredName": "Acme Ltd",
    "registrationNumber": "12345678",
    "tradingNames": ["Acme Trading"],
    "businessOverview": "We provide software services to SMEs across the UK.",
    "industry": {
      "main": "INFORMATION-AND-COMMUNICATION",
      "sub": "IT-AND-COMPUTER-SERVICES"
    },
    "employeeCount": "ELEVEN_TO_FIFTY",
    "incorporationDate": "2020-01-01",
    "phoneNumber": "+447911123456",
    "website": "https://acme.example.com",
    "featureInformation": {
      "requestedFeatures": ["PAYMENTS", "CARDS"],
      "cardsInformation": {
        "businessDisplayName": "ACME",
        "purposes": ["EMPLOYEE_INCENTIVES", "TRAVEL_EXPENSES_DOMESTIC"],
        "estimatedAnnualSpend": "100001-250000",
        "numberOfCardsRequired": "11-50",
        "cardsAreForEmployees": true,
        "atmWithdrawalsRequired": false
      },
      "paymentsInformation": {
        "purposes": ["RECEIVING-PAYMENTS-FROM-CUSTOMERS-AND-PAYING-SUPPLIERS"],
        "estimatedPaymentCount": "100-500",
        "estimatedPaymentVolume": "100001-250000",
        "inboundCurrencies": ["GBP", "EUR"],
        "outboundCurrencies": ["GBP", "EUR"],
        "receivingCountries": ["GB", "FR"],
        "sendingCountries": ["GB", "DE"]
      }
    },
    "addresses": [
      {
        "addressType": "REGISTERED",
        "streetName": "Upper Thames Street",
        "buildingNumber": "68",
        "buildingName": "Vintners Place",
        "postcode": "EC4V 3BJ",
        "city": "London",
        "countryCode": "GB"
      }
    ],
    "associatedPeople": [
      {
        "associatedPersonId": "e9293471-5eb3-4dbc-916c-dbaf9e2deefd",
        "associationType": "APPLICANT",
        "jobTitle": "Director"
      },
      {
        "associatedPersonId": "a1234567-8b90-4cde-f012-3456789abcde",
        "associationType": "DIRECTOR"
      },
      {
        "associatedPersonId": "b2345678-9c01-4def-0123-456789abcdef",
        "associationType": "ULTIMATE_BENEFICIAL_OWNER",
        "ownershipPercentage": 75
      }
    ]
  }'

Response: Returns the created application with an id and status: 'DRAFT'.


Step 3: Update Application (Optional)

Endpoint: PATCH /v2/applications/:applicationId

You can update an application before submitting it.

Validation rules:

  • You cannot change the application type
  • You cannot add personal-specific fields to a business application
  • Must maintain at least one REGISTERED or TRADING address

Example Request

Copy
Copied
curl -X PATCH https://api.equalsmoney.com/v2/applications/{applicationId} \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "registeredName": "Acme Ltd Updated",
    "businessOverview": "Updated business description here."
  }'

Step 4: Upload Application Documents (Optional)

Endpoint: POST /v2/applications/:applicationId/documents

Upload documents to support the business verification process.

Request: Multipart form data with:

  • purpose - Document purpose (e.g., 'PROOF_OF_FORMATION' , 'PROOF_OF_OWNERSHIP_STRUCTURE' , 'OTHER' )
  • file - The document file (accepts media and document file types, maximum file size is 10MB)

Please refer to the KYC Pack for more information on documents we will expect to receive based on your company type.

warning

Note: Additional documents may be requested by the KybInformationRequest webhook after application submission.

Example Request

Copy
Copied
curl -X POST https://api.equalsmoney.com/v2/applications/{applicationId}/documents \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -F "purpose=PROOF_OF_FORMATION" \
  -F "file=@certificate_of_incorporation.pdf"

File requirements: Media and document file types accepted, maximum 10MB.


Step 5: Upload Associated People Documents (Optional)

Endpoint: POST /v2/applications/associated-people/:associatedPersonId/documents

Upload identity documents for associated people (directors, UBOs, applicants).

Request: Multipart form data with:

  • purpose - Document purpose (e.g., 'PROOF_OF_IDENTITY' , 'PROOF_OF_ADDRESS' , 'OTHER' )
  • file - The document file (accepts media and document file types, maximum file size is 10MB)

Document Upload Requirements by KYC Model

KYC Model Document Upload Requirements
Managed by Equals Document upload via API is optional. A portal link will be generated for your customer to complete a guided ID verification journey.
Hybrid Upload documents via API to support the verification process. This should include a Proof of Identity and Proof of Address, unless otherwise specified.
Delegated Upload certified identity documents via API.
warning

Note: Additional documents may be requested by the KybInformationRequest webhook after application submission.

Example Request

Copy
Copied
curl -X POST https://api.equalsmoney.com/v2/applications/associated-people/{associatedPersonId}/documents \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -F "purpose=PROOF_OF_IDENTITY" \
  -F "file=@passport.pdf"

Step 6: Submit Application

Endpoint: POST /v2/applications/:applicationId/submit

This finalises the application and submits it for review. Once submitted, the application status changes to 'SUBMITTED' and cannot be modified.

warning

Important: Verification checks are triggered at this point. For the Managed by Equals KYC model, associated people will receive instructions to complete their verification journey.

Example Request

Copy
Copied
curl -X POST https://api.equalsmoney.com/v2/applications/{applicationId}/submit \
  -H "Authorization: ApiKey YOUR_API_KEY"

Response: Returns the application with status: 'SUBMITTED'.


Validation Rules and Common Errors

Address Validation

Business applications must have at least one REGISTERED or TRADING address.

Associated People Validation

  • Must have at least one APPLICANT
  • All UBOs with 25%+ ownership must be included
  • ownershipPercentage required for UBOs
  • jobTitle required for APPLICANTs

Type Validation

You cannot add personal-specific fields to a business application.

Error: "Cannot update business application with personal-specific fields: ..."

Authentication Errors

Error: 401 Unauthorized

  • Verify your Authorization header uses: Authorization: ApiKey YOUR_API_KEY
  • Check that your API key is valid

Best Practices

  1. Create associated people first : Always create associated people before the application
  2. Verify data : Use GET endpoints to verify data before submission
  3. Handle errors : Check validation error responses for specific field issues
  4. Test with DRAFT status : Applications start with status: 'DRAFT' - use this to test
  5. Understand your KYC model : Know which verification model applies to your integration
  6. Reference the API spec : For complete field specifications, refer to the API Reference documentation

Next Steps

For information about webhook events and application status updates, see the Webhooks Documentation.

For complete API specifications, refer to the API Reference documentation.

← Create a Personal Account