Onboard a business end customer

Create business and associated-person records, upload documents, and submit an end customer for Roots review.

Create a business person, link associated people, upload documents, and submit the onboarding record for Roots review.

See API availability before you use an onboarding workflow in production.

Before you begin

  • Obtain a bearer access token through Authentication.
  • Generate a new Idempotency-Key for each create, upload, association, and review-submission request.
  • Collect the business identity, mailing address, ownership structure, financial profile, operational profile, and required documents.

1. Create the business person

Create the business with POST /api/v1/client/persons.

FieldTypeRequiredDescription
typestringYesSet to business.
detailsobjectYesBusiness identity information, including the legal name required by your program.
mailing_addressobjectYesBusiness mailing address.
registered_addressobjectNoRegistered address when applicable.
financial_profileobjectNoFinancial information required for review.
operational_profileobjectNoExpected activity and operational information required for review.
{
  "type": "business",
  "details": {
    "legal_name": "Acme Trading Ltd"
  },
  "mailing_address": {
    "line1": "1 Main Street",
    "city": "Singapore",
    "country": "SG"
  }
}

Save the returned id. Roots returns the person lifecycle fields review_stage, review_outcome, review_id, and onboarding_progress_pct with the record.

2. Create and link associated people

Create each associated person with POST /api/v1/client/persons, using type: "individual". Then link the person to the business with POST /api/v1/client/persons/{business_person_id}/associations.

FieldTypeRequiredValues
related_person_idstringYesID of the associated person.
rolestringYesBENEFICIAL_OWNER, AUTHORIZED_SIGNATORY, or DIRECTOR.
ownership_percentageintegerNoOwnership percentage when applicable.
{
  "related_person_id": "person_456",
  "role": "BENEFICIAL_OWNER",
  "ownership_percentage": 60
}

3. Upload documents

Upload each required document with POST /api/v1/client/persons/{person_id}/documents as multipart/form-data.

Form fieldTypeRequiredValues
filebinaryYesDocument content.
typestringYesgovernment_id, proof_of_address, articles_of_incorporation, or beneficial_ownership_certificate.

Use GET /api/v1/client/persons/{person_id}/documents to list uploaded documents. Roots returns document metadata; retrieve document content only through the documented document-content endpoint and your authorized workflow.

4. Submit the onboarding record for review

Submit the completed person record with POST /api/v1/client/persons/{person_id}/review/submit. This request requires both bearer authentication and an idempotency key.

Retrieve the person again after submission. Use review_stage, review_outcome, and any associated compliance workflow to determine the next permitted action.

5. Gate dependent activity

Do not create an account merely because the person record exists. Create an account only after the current review result and any required bank approval permit the account workflow.

Next steps


Did this page help you?