Onboard a sub-entity using the API
Last updated: December 24, 2025
You can submit an application to onboard a sub-entity using the Platforms API.
Information
You can also onboard sub-entities without code using the Dashboard.
- Submit the sub-entity's onboarding application using the API.
- Checkout.com performs verification checks on the sub-entity.
- You receive webhooks as the checks progress.
Note
Your sub-entity cannot process payments until it has passed the verification checks.
Ensure you've completed the following steps before submitting the application.
- Your account is able to onboard sub-entities.
- You have received your
client_idandclient_secret, which you need to generate access tokens with the required scopes. See OAuth 2.0 client credentials for more information. - You have received one or more processing channel IDs.
- You have configured yourwebhook server and subscribed to the relevant events.
The Platforms API uses OAuth authentication. Call the Onboard an entity endpoint.
In the request body, select the platform type, region, and account type. Provide the required fields.
Information
You can only set profile.mccs and either company.principal_address.country or individual.principal_address.country (depending on the platform type) to the values that were configured for your scope when onboarding your platform.
Information
Your base URL [prefix] is unique. To learn how to retrieve your unique base URLs for the sandbox and production environments, see API endpoints.
post
https://[prefix].api.checkout.com/accounts/entities
1{2"reference": "CAKE12345",3"contact_details": {4"phone": {5"number": "7700900000"6},7"email_addresses": {8"primary": "[email protected]"9}10},11"profile": {12"urls": [ "https://www.thecakeshop.com" ],13"mccs": [ "5814" ]14},15"company": {16"business_registration_number": "12345678",17"legal_name": "The Cake Shop Inc.",18"trading_name": "The Cake Shop",19"principal_address": {20"address_line1": "654 Example St.",21"city": "Edinburgh",22"zip": "EH9 2XY",23"country": "GB"24},25"registered_address": {26"address_line1": "123 High St.",27"city": "London",28"zip": "W1T4TJ",29"zip": "SW1A 1AA",30"country": "GB"31},32"representatives": [33{34"first_name": "Ali",35"last_name": "Farid",36"address": {37"country": "GB"38}39}40]41}42}
You can receive one of the following HTTP responses:
- 201 – Application submitted successfully
- 409 – Conflict
- 422 – Invalid data was sent
1{2"id": "ent_vv2jjkuf2gzj5tcw2x7ptua7zy",3"reference": "0123456",4"status": "pending",5"capabilities": {6"payments": {7"available": true,8"enabled": false9},10"payouts": {11"available": false,12"enabled": false13}14},15"requirements_due": [],16"_links": {17"self": {18"href": "https://[prefix].api.sandbox.checkout.com/accounts/entities/ent_vv2jjkuf2gzj5tcw2x7ptua7zy"19}20}21}
A successful response returns:
idfield – The sub-entity ID, which you need for future requests.capabilitiesobject – Indicates whether the sub-entity’s capabilities are enabled. Capabilities are only enabled after the sub-entity passes the verification checks.statusfield – The status ispending, while awaiting the verification checks. For all possible statuses, see Sub-entity status.
You also receive a Sub-entity created webhook.
1{2"_links": {3"self": {4"href": "https://[prefix].api.sandbox.checkout.com/accounts/entities/ent_lcvk7ay5zcglzvda6n7o5ws2hq"5}6}7}
If you receive a 409 response, you provided a reference that has already been used for another sub-entity. The reference must be a unique alphanumeric value . Try again with a different reference.
1{2"request_id": "0HM72UMS6H39C:00000003",3"error_type": "invalid_request",4"error_codes": ["reference_required"]5}
If you receive a 422 response, ensure you have provided all required fields in your request.
The response also returns an error_codes array with one or more specific errors. For more information, see Possible error codes.
You can receive the following error codes when onboarding a sub-entity:
| Error code | Description |
|---|---|
| The MCCs you provided for the sub-entity are outside your platforms's processing scope. |
| The default holding currency you provided for the sub-entity is outside your platform's currency scope. |
| The principal address country you provided for the sub-entity is outside your platform's processing scope. |
| Your platform is not permitted to onboard new sub-entities. |
| You must provide the |
| There was an internal validation error. Contact your account manager or request support. |
| The specified field has uses invalid formatting, or an invalid minimum or maximum length. The exceptions to this are You must provide the |
| The specified field is required, but was not provided in the request. The field can be |
You can simulate different failure scenarios for sub-entity onboarding in the sandbox environment as follows:
Providing specific values in the legal_name field of your onboarding request triggers different outcomes for verification checks and the sub-entity's payment capabilities.
Note
If you provide any other value, such as a company name, in the legal_name field, this triggers positive VMSS and MATCH checks, and enables payment capabilities.
You can provide the following scenarios in the legal_name field for the specified check and capabilities outcomes:
| Scenario | Check outcome | Capabilities outcome |
|---|---|---|
| Both the VMSS and the MATCH checks fail. | Remain disabled |
| The VMSS check fails, but the MATCH check passes. | Remain disabled |
| The VMSS check passes, but the MATCH check fails. | Remain disabled |