Introduction
One integration to incorporate a company in any supported jurisdiction.
The GetStarted API forms companies. You send the details of the company and the people behind it, and GetStarted files the incorporation, runs the checks, and hands back the registered entity with its documents and identifiers.
You integrate once. Singapore, the United Arab Emirates, the United Kingdom and Delaware all go through the same endpoints, and Switzerland and Malaysia are next. What differs between jurisdictions is described by the API itself: each jurisdiction and company type publishes a requirements schema, and your forms are rendered from it. Adding a country to your product means reading a new schema, not writing a new integration.
Base URL
Every request goes to:
https://api.getstarted.ae/v1Requests and responses are JSON, except file uploads, which are multipart/form-data. Authenticate with a secret key in the Authorization header. See Authentication.
Make a request
Create a customer, the account on your platform that incorporations belong to:
curl https://api.getstarted.ae/v1/customers \
-H "Authorization: Bearer gs_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Northwind Labs",
"email": "ops@northwindlabs.com",
"externalReference": "acct_48213",
"metadata": { "plan": "growth" }
}'{
"id": "cus_01J9ZK4R7Q2M8X",
"object": "customer",
"name": "Northwind Labs",
"email": "ops@northwindlabs.com",
"externalReference": "acct_48213",
"metadata": { "plan": "growth" },
"livemode": false,
"createdAt": "2026-09-20T08:14:22Z"
}A gs_test_ key works in the sandbox, where nothing is ever filed. Build against it until the whole flow works end to end.
The shape of a flow
- Create a customer with POST
/customers. - Pick a jurisdiction and company type from GET
/incorporations/catalog. - Fetch the form contract for that pair with GET
/incorporations/requirements. - Open a draft with POST
/incorporations. - Save company-level answers with PATCH
/incorporations/{incorporationId}/intake. - Create the people and companies involved, then attach them to the draft as participants with roles such as
DIRECTORandSHAREHOLDER. - Upload files and attach them to each participant's document slots.
- Call GET
/incorporations/{incorporationId}/validationuntilisCompleteistrue. - Submit with POST
/incorporations/{incorporationId}/submit. - Follow progress through webhooks. When the company exists, the incorporation points at a business entity holding its registration number, certificate and identifiers.
Where to go next
- Core concepts: the objects and how they relate.
- Authentication and environments: keys, sandbox, idempotency and pagination.
- Build an incorporation flow: every step above, with requests and responses, for a Singapore private limited company.
- Requirements: how to read the requirements schema and render forms from it. Read this before you build any UI.
- Errors: the error envelope and what to do with each status.
- Webhooks: events, delivery and signature verification.