ClearBank

Sole trader customers

Sole traders overview

Sole traders are natural persons operating a business in their own name. You can manage your sole traders' data with ClearBank directly as an embedded banking partner. Creating a sole trader is necessary before you can create accounts for them.

The data required to register a sole trader is a combination of fields associated with both legal entities (incorporated businesses) and retail customers. This is because a sole trader is simultaneously an individual and a business. For example: a sole trader has both an individual's personal details - such as a firstName, and details of their business such as a tradingName.

Compatible account types

Sole traders are eligible for certain account types, these include:

For more details on available account types, please reach out to your Client Director.

Create, update and retrieve a sole trader

Business information

In addition to a sole trader's personal details, you can provide information about their business. This includes their tradingName, annualRevenue, and businessClassification.

A sole trader can use their personal name as their tradingName, or instead pick a business name. Guidance on acceptable business names for sole traders can be found on the gov.uk website.

The annualRevenue you provide for a sole traders should be based on their previous year's revenue. If this is their first year of operation, an estimated value is acceptable.

You can specify the businessClassification details of a sole trader. Their businessClassification.sectorCode should always be _8b_UnincorporatedBusinessesOtherThanLLPs, while their industryClassification should be the option that most closely fits their business.

Know Your Customer (KYC) and Anti-Money Laundering (AML) fields

When you create a sole trader, you'll need to provide the outcomes of any KYC and AML checks you conduct on them. You can record these outcomes using the kycAml object. Guidance for each of the object's properties are listed below:

  • sanctions - If your KYC checks identify the customer as sanctioned, set to true.
  • pep - If your checks identify the customer as a Politically Exposed Person (PEP), set to Yes_Domestic or Yes_International accordingly - otherwise set to No.
  • rca - If your checks identify the customer as a Relative or Close Associate (RCA) of a PEP, set to Yes_Domestic or Yes_International accordingly - otherwise set to No.
  • craRating - Use this field to declare a Customer Risk Assessment rating for the customer. There are four tiers of risk: Low, Medium, High, and Very_High.

If you have new KYC or AML outcomes for a customer, you can update these using the PATCH /customers/v2/sole-traders/{customerId} endpoint.

Addresses

When you create a sole trader, you'll also need to provide their current residential and/or trading address in the addressHistory.currentAddresses array. You can optionally record their previous address history using the addressHistory.previousAddresses array.

Create a sole trader

post/customers/v2/sole-traders

You can use this endpoint to create a new sole trader customer.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

Request Payload (application/json)

  • addressHistory object, Required

    The customer's address history where they have multiple current addresses. For example, a trading address and a residential address.

  • personalDetails object, Required

    Personal details for the customer.

  • identityDocuments array, Required

    The customer's identity documents.

  • businessDetails object, Required

    Request to create business details.

  • businessClassification object, Required

    Request to create a business classification.

  • kycAml object, Required

    KYC/AML information for the customer.

  • taxDetails object, Required

    Tax details for a sole trader customer.

  • specialStatuses array

    The customer's special statuses, if any. Possible values include: 'Vulnerability_Health_VisualImpairmentBraille', 'Vulnerability_Health_VisualImpairmentLargeText', 'Vulnerability_Health_AudioImpairment', 'Vulnerability_Health_Other', 'Vulnerability_LifeEvents', 'Vulnerability_Resilience', and 'Vulnerability_Capability'

request

{
"addressHistory": {
"currentAddresses": [
{
"addressType": "TradingAddress",
"buildingNameNumber": "322",
"streetName": "Long Road",
"city": "Cyan City",
"county": "Greenshire",
"postalCode": "PG15 8AB",
"country": "GBR",
"validFrom": "2022-05-15"
}
],
"previousAddresses": [
{
"addressType": "TradingAddress",
"buildingNameNumber": "0",
"streetName": "Short Road",
"city": "Blue City",
"county": "Redshire",
"postalCode": "PG15 8AB",
"country": "GBR",
"validFrom": "2016-06-22",
"validTo": "2022-05-15"
}
]
},
"personalDetails": {
"firstName": "Karol",
"middleName": "Henryk",
"surname": "Agrowicz",
"email": "krl@workaholicmail.com",
"telephone": "07123589778",
"countryOfResidence": "GBR",
"dateOfBirth": "1988-05-21",
"nationalIdentificationNumber": "PC112233D"
},
"identityDocuments": [
{
"idCountryOfIssue": "GBR",
"idType": "Passport",
"idNumber": "178087840846",
"idExpiryDate": "2030-05-21"
}
],
"businessDetails": {
"tradingName": "Build It Solutions",
"annualRevenue": 37000
},
"businessClassification": {
"sectorCode": "_8b_UnincorporatedBusinessesOtherThanLLPs",
"industryClassification": "_6C_ConstructionOfDomesticBuildings"
},
"kycAml": {
"sanctions": true,
"pep": "No",
"rca": "No",
"craRating": "LowRisk"
},
"taxDetails": {
"validSelfCertification": true,
"usPerson": "NotAUSPerson",
"taxResidencies": [
{
"countryOfTaxResidence": "GBR",
"taxIdNumber": "PC556498D",
"noTaxIdReason": "CountryDoesNotIssue"
}
],
"vatRegistrationNumber": "GB123456789"
},
"specialStatuses": [
"Vulnerability_LifeEvents"
]
}
Code copied

Response (application/json)

  • 201 Created
  • 400 Bad Request
  • 403 Forbidden
  • 422 Unprocessable Content

Created

{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Update a sole trader

patch/customers/v2/sole-traders/{customerId}

You can use this endpoint to update certain details of an existing sole trader customer.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • X-Request-Time string, header, Required

    The current UNIX timestamp in seconds. This value will be rejected if it is more than 60 seconds late.

  • customerId string, path, Required

    The ID of the customer.

Request Payload (application/json)

  • personalDetails object

    Personal Details update request. Null values are ignored.

  • kycAml object

    KYC AML update request. Null values are ignored.

  • specialStatuses array

    Special Status update request. Null value is ignored. All existing special statuses will be replaced with the provided collection. An empty collection will clear all special statuses.

  • businessDetails object

    Business Details update request. Null values are ignored.

  • businessClassification object

    Business Classification update request. Null values are ignored.

  • taxDetails object

    Tax details for a sole trader customer.

request

{
"personalDetails": {
"firstName": "Carol",
"middleName": "Henrik",
"surname": "Agarowicz",
"dateOfBirth": "1988-05-21",
"email": "c.agarowicz@workmailurl.com",
"telephone": "07777222666",
"countryOfResidence": "GBR",
"nationalIdentificationNumber": "PC548823D"
},
"kycAml": {
"sanctions": true,
"pep": "No",
"rca": "No",
"craRating": "LowRisk"
},
"specialStatuses": [
"Vulnerability_LifeEvents"
],
"businessDetails": {
"tradingName": "Jackson and Sons",
"annualRevenue": 37000
},
"businessClassification": {
"sectorCode": "_8b_UnincorporatedBusinessesOtherThanLLPs",
"industryClassification": "_6C_ConstructionOfDomesticBuildings"
},
"taxDetails": {
"validSelfCertification": true,
"usPerson": "NotAUSPerson",
"vatRegistrationNumber": "GB123456789"
}
}
Code copied

Response (application/json)

  • 200 OK
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 422 Unprocessable Content

OK

{
"customerId": "4751c860-5654-49d8-854d-43f16ab51406",
"personalDetails": {
"firstName": "Carol",
"middleName": "Henrik",
"surname": "Agarowicz",
"dateOfBirth": "1988-05-21",
"countryOfResidence": "GBR",
"email": "c.agarowicz@workmailurl.com",
"telephone": "07777222666",
"nationalIdentificationNumber": "PC548823D"
},
"kycAml": {
"sanctions": false,
"pep": "No",
"rca": "No",
"craRating": "LowRisk"
},
"taxDetails": {
"validSelfCertification": true,
"usPerson": "NotAUSPerson",
"vatRegistrationNumber": "GB123456789"
},
"specialStatuses": [
"Vulnerability_LifeEvents"
],
"businessDetails": {
"tradingName": "Build It Enterprises",
"annualRevenue": 75000
},
"businessClassification": {
"sectorCode": "_8b_UnincorporatedBusinessesOtherThanLLPs",
"industryClassification": "_6A_DevelopmentOfBuildings"
}
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Retrieve a sole trader

get/customers/v2/customers/{customerId}

You can call this endpoint to retrieve a sole trader by their customer ID.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • X-Request-Time string, header, Required

    The current UNIX timestamp in seconds. This value will be rejected if it is more than 60 seconds late.

  • customerId string, path, Required

    The ID of the customer, given as a UUID.

Response (application/json)

  • 200 OK
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found

OK

{
"id": "4751c860-5654-49d8-854d-43f16ab51406",
"institutionId": "cdae5c01-a629-4362-be56-52101ec22a49",
"status": "Active",
"type": "SoleTrader",
"kycAml": {
"sanctions": false,
"pep": "No",
"rca": "No",
"craRating": "LowRisk"
},
"taxDetails": {
"taxResidencies": [
{
"countryOfTaxResidence": "GBR",
"taxIdNumber": "DR123467L",
"noTaxIdReason": "CountryDoesNotIssue"
}
],
"validSelfCertification": true,
"usPerson": "NotAUSPerson",
"vatRegistrationNumber": "GB123456789"
},
"specialStatuses": [
"Vulnerability_LifeEvents"
],
"businessDetails": {
"tradingName": "Build It Solutions",
"annualRevenue": 57000
},
"personalDetails": {
"firstName": "Karol",
"middleName": "Henryk",
"surname": "Agrowicz",
"emailAddress": "karol.workmail@mymail.com",
"telephone": "01234555666",
"countryOfResidence": "GBR",
"dateOfBirth": "1988-05-22",
"nationalIdentificationNumber": "PC112233D"
},
"businessClassification": {
"sectorCode": "_8b_UnincorporatedBusinessesOtherThanLLPs",
"industryClassification": "_6C_ConstructionOfDomesticBuildings"
},
"identityDocuments": [
{
"idNumber": "1189345699",
"expiryDate": "2028-12-15",
"countryOfIssue": "GBR",
"type": "Passport"
}
],
"addresses": {
"currentAddresses": [
{
"addressType": "TradingAddress",
"buildingNameNumber": "9",
"streetName": "Short Road",
"county": "Blueshire",
"city": "Lilac City",
"postalCode": "LB1 7CC",
"country": "GBR",
"validFrom": "2022-05-15",
"isCurrentAddress": true
}
],
"previousAddresses": [
{
"addressType": "TradingAddress",
"buildingNameNumber": "9",
"streetName": "Short Road",
"county": "Blueshire",
"city": "Lilac City",
"postalCode": "LB1 7CC",
"country": "GBR",
"validFrom": "2021-02-18",
"validTo": "2022-05-15",
"isCurrentAddress": false
}
]
}
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Sole trader addresses

When you create a sole trader, you'll need to provide their current residential and/or trading address in the addressHistory.currentAddresses array. You can optionally record their previous address history via the addressHistory.previousAddresses array.

A sole trader can have more than one current address by having both a residential and trading address, but no more than one of each.

You can update a sole trader's current residential or trading address using the POST /customers/v2/customers/{customerId}/current-addresses endpoint. When you do this, the sole trader's current address of that type - either residential or trading address - will be automatically moved to the previousAddresses array, and will have a validTo date set to the new address' validFrom date. If you do not specify a validFrom date for the new address, it will default to today's date.

It is not currently possible to delete a previous address.

Update a sole trader's current addresses

post/customers/v2/customers/{customerId}/current-addresses

You can use this endpoint to update a customer's current address. When you add a new current address, the previous address history is retained.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • customerId string, path, Required

    The ID of the customer.

Request Payload (application/json)

  • addressType string, Required

    Represents the type of the address

    Enum array
    TradingAddress, ResidentialAddress
  • buildingNameNumber string, Required

    The building name or number of this address.

    Minimum length
    1
  • streetName string, Required

    This address' street name.

    Minimum length
    1
  • city string, Required

    City of the customer's address.

    Minimum length
    1
  • county string

    County of the customer's address.

    Minimum length
    1
  • postalCode string, Required

    Postal code of the customer's address.

    Minimum length
    1
  • country string, Required

    3-letter country codes as defined in ISO 3166-1

    Enum array
    AFG, ALB, ATA, DZA, ASM, AND, AGO, ATG, AZE, ARG, AUS, AUT, BHS, BHR, BGD, ARM, BRB, BEL, BMU, BTN, BOL, BIH, BWA, BVT, BRA, BLZ, IOT, SLB, VGB, BRN, BGR, MMR, BDI, BLR, KHM, CMR, CAN, CPV, CYM, CAF, LKA, TCD, CHL, CHN, TWN, CXR, CCK, COL, COM, MYT, COG, COD, COK, CRI, HRV, CUB, CYP, CZE, BEN, DNK, DMA, DOM, ECU, SLV, GNQ, ETH, ERI, EST, FRO, FLK, SGS, FJI, FIN, ALA, FRA, GUF, PYF, ATF, DJI, GAB, GEO, GMB, PSE, DEU, GHA, GIB, KIR, GRC, GRL, GRD, GLP, GUM, GTM, GIN, GUY, HTI, HMD, VAT, HND, HKG, HUN, ISL, IND, IDN, IRN, IRQ, IRL, ISR, ITA, CIV, JAM, JPN, KAZ, JOR, KEN, PRK, KOR, KWT, KGZ, LAO, LBN, LSO, LVA, LBR, LBY, LIE, LTU, LUX, MAC, MDG, MWI, MYS, MDV, MLI, MLT, MTQ, MRT, MUS, MEX, MCO, MNG, MDA, MNE, MSR, MAR, MOZ, OMN, NAM, NRU, NPL, NLD, CUW, ABW, SXM, BES, NCL, VUT, NZL, NIC, NER, NGA, NIU, NFK, NOR, MNP, UMI, FSM, MHL, PLW, PAK, PAN, PNG, PRY, PER, PHL, PCN, POL, PRT, GNB, TLS, PRI, QAT, REU, ROU, RUS, RWA, BLM, SHN, KNA, AIA, LCA, MAF, SPM, VCT, SMR, STP, SAU, SEN, SRB, SYC, SLE, SGP, SVK, VNM, SVN, SOM, ZAF, ZWE, ESP, SSD, SDN, ESH, SUR, SJM, SWZ, SWE, CHE, SYR, TJK, THA, TGO, TKL, TON, TTO, ARE, TUN, TUR, TKM, TCA, TUV, UGA, UKR, MKD, EGY, GBR, GGY, JEY, IMN, TZA, USA, VIR, BFA, URY, UZB, VEN, WLF, WSM, YEM, ZMB
  • validFrom string

    Date from which the address is valid, formatted: yyyy-MM-dd. Defaults to today if unspecified.

request

{
"addressType": "TradingAddress",
"buildingNameNumber": "322",
"streetName": "Long Road",
"city": "Cyan City",
"county": "Greenshire",
"postalCode": "PG15 8AB",
"country": "GBR",
"validFrom": "2022-05-15"
}
Code copied

Response (application/json)

  • 201 Created
  • 403 Forbidden
  • 404 Not Found
  • 422 Unprocessable Content

Created

{
"customerId": "4751c860-5654-49d8-854d-43f16ab51406"
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Sole trader ID document endpoints

Similar to retail customers, you can optionally provide identity document information for sole traders. For example, you can provide a sole trader's passport number idNumber and date of expiry idExpiryDate in the identityDocuments array in the POST /customers/v2/sole-traders endpoint.

If you provide customer identity information, you must always include its idCountryOfIssue, idType, idNumber, and idExpiryDate. The combination of idCountryOfIssue and idType uniquely identifies a customer's identity documents in our APIs. You can therefore only provide one idCountryOfIssue and idType combination per sole trader.

To update or delete an existing identity information, use the PUT /customers/v2/customers/{customerId}/identity-documents/{idCountryOfIssue}-{idType} or DELETE /customers/v2/customers/{customerId}/identity-documents/{idCountryOfIssue}-{idType} endpoint accordingly.

There is currently no facility to upload images of customer ID documents.

Update a sole trader's ID document

put/customers/v2/customers/{customerId}/identity-documents/{idCountryOfIssue}-{idType}

You can use this endpoint to add to or update a sole trader's identity documents. This endpoint returns 200 OK when you update an existing ID, or 201 Created when you add a new ID.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • customerId string, path, Required

    The ID of the customer.

  • idCountryOfIssue string, path, Required

    Country of issue, given as a 3-letter ISO 3166-1 country-code.

  • idType string, path, Required

    The type of identity document. Possible values include: 'Passport', 'DrivingLicence', and 'NationalId'.

Request Payload (application/json)

  • idNumber string, Required

    The identity document's number.

    Minimum length
    1
  • idExpiryDate string, Required

    Expiry date of the identity document, formatted: yyyy-MM-dd.

request

{
"idNumber": "684611049245",
"idExpiryDate": "2029-02-13"
}
Code copied

Response (application/json)

  • 200 OK
  • 201 Created
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 422 Unprocessable Content

Created

{
"customerId": "4751c860-5654-49d8-854d-43f16ab51406"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Delete a sole trader's ID document

delete/customers/v2/customers/{customerId}/identity-documents/{idCountryOfIssue}-{idType}

You can call this endpoint to removes a customer's existing identity document.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • X-Request-Time string, header, Required

    The current UNIX timestamp in seconds. This value will be rejected if it is more than 60 seconds late.

  • customerId string, path, Required

    The ID of the customer.

  • idCountryOfIssue string, path, Required

    The ID's country of issue, given as a 3-letter ISO 3166-1 country-code.

  • idType string, path, Required

    Type of identity document. Possible values include: 'Passport', 'DrivingLicence', and 'NationalId'.

Response (application/json)

  • 204 No Content
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 409 Conflict

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Conflict

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Tax residency endpoints

When you create a sole trader, you must specify at least one tax residency for them. A customer can have dual tax residency in certain situations, such as if they live in one country but earn income in another. You should specify all currently active tax residencies for a sole trader when you create them.

US citizens are generally considered to be US tax residents regardless of where they live.

To change a sole trader's tax residency from one country to another, follow the below steps:

  1. Add the new tax residency first. You can do this using the PUT /customers/v2/customers/{customerId}/tax-residencies/{countryOfTaxResidence} endpoint.
  2. Delete the old tax residency. You can do this using the DELETE /customers/v2/customers/{customerId}/tax-residencies/{countryOfTaxResidence} endpoint.

Note: If a customer has only one tax residency, you must add a new tax residency before you can delete the current one. If you attempt to delete a sole trader's only tax residency you will receive a 422 - Unprocessable Entity error.

Add a tax residency to a sole trader

put/customers/v2/customers/{customerId}/tax-residencies/{countryOfTaxResidence}

Adds or updates a customer's tax residency entry for the specified country. Returns 200 OK when updating an existing tax residency, or 201 Created when adding a new tax residency.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • customerId string, path, Required

    The ID of the customer.

  • countryOfTaxResidence string, path, Required

    Country of tax residence.

Request Payload (application/json)

  • taxIdNumber string

    Tax identification number.

    Minimum length
    1
  • noTaxIdReason string

    Supported reasons for not having a tax ID (required if no tax ID number provided)

    Enum array
    CountryDoesNotIssue, UnableToObtain, NotRequired

request

{
"taxIdNumber": "DR123467L",
"noTaxIdReason": "CountryDoesNotIssue"
}
Code copied

Response (application/json)

  • 200 OK
  • 201 Created
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 422 Unprocessable Content

Created

{
"customerId": "4751c860-5654-49d8-854d-43f16ab51406"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Delete a sole trader's tax residency

delete/customers/v2/customers/{customerId}/tax-residencies/{countryOfTaxResidence}

Removes a customer's tax residency entry for the specified country.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • X-Request-Time string, header, Required

    The current UNIX timestamp in seconds. This value will be rejected if it is more than 60 seconds late.

  • customerId string, path, Required

    The ID of the customer.

  • countryOfTaxResidence string, path, Required

    Country of tax residence to remove.

Response (application/json)

  • 204 No Content
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 422 Unprocessable Content

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Customer relation endpoints

The POST /customers/v2/customers/{customerId}/related-parties endpoint allows you to link two parties by providing their customerId and specifying the nature of the relation.

Note: The arrangement of customerId in the path parameter and the relatedCustomerId request field matters when creating a customer relation.
The customerId in the path refers to the primary customer, while the relatedCustomerId refers to the customer which will have the specified relation (relatedPartyType) toward the primary customer.
For example, when defining a UBO relationship, the customer referred to in the relatedCustomerId will become the Ultimate Beneficial Owner of the customerId specified in the path.

To retrieve all existing relations to a customer, you can call the GET /customers/v2/customers/{customerId}/related-parties.

To remove a relation between two parties, you can use the DELETE /customers/v2/customers/{customerId}/related-parties/{relatedCustomerId} using the customerId of each party.

Relate a sole trader and another customer

post/customers/v2/customers/{customerId}/related-parties

You can use this endpoint to relate one customer to another.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • customerId string, path, Required

    The ID of the original customer.

Request Payload (application/json)

  • relatedCustomerId string, Required

    The ID of the customer to be linked as a related party.

  • relatedPartyType string, Required

    Related party types

    Enum array
    Director, UBO, ControllingPerson
  • ownershipPercentage integer

    The ownership percentage of the related party. Optional: applies only to UBO relationship types.

request

{
"relatedCustomerId": "32e67bbf-9276-4dd4-b51b-bb65a95d4224",
"relatedPartyType": "UBO",
"ownershipPercentage": 100
}
Code copied

Response (application/json)

  • 201 Created
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 409 Conflict
  • 422 Unprocessable Content

Created

{
"customerId": "4751c860-5654-49d8-854d-43f16ab51406",
"relatedCustomerId": "32e67bbf-9276-4dd4-b51b-bb65a95d4224"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Conflict

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Get all relations of a sole trader customer

get/customers/v2/customers/{customerId}/related-parties

You can call this endpoint to retrieve all related parties to a given customer by their customer ID.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • X-Request-Time string, header, Required

    The current UNIX timestamp in seconds. This value will be rejected if it is more than 60 seconds late.

  • customerId string, path, Required

    The ID of the customer.

Response (application/json)

  • 200 OK
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found

OK

{
"value": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "UBO",
"ownershipPercentage": 100
}
]
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Delete a relation between two customers

delete/customers/v2/customers/{customerId}/related-parties/{relatedCustomerId}/{relatedPartyType}

You can call this endpoint to removes a related party link between two customers.

Parameters

  • Authorization string, header, Required

    Your API token, retrieved from the web portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

  • X-Request-Time string, header, Required

    The current UNIX timestamp in seconds. This value will be rejected if it is more than 60 seconds late.

  • customerId string, path, Required

    The ID of the customer

  • relatedCustomerId string, path, Required

    The ID of the related customer to unlink.

  • relatedPartyType string, path, Required

    The type of related party. Used to disambiguate where a party is related in more than one way.

Response (application/json)

  • 204 No Content
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 409 Conflict
  • 422 Unprocessable Content

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Conflict

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Unprocessable Content

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property1": null,
"property2": null
}
Code copied