Create an incorporation
Begin an incorporation for one of your customers.
incorporationValidation, current requirements, and intakeState. If no initial intake values are supplied, intakeState.currentState is {}.
For a complete Singapore walkthrough with the IDs to save, see Build an incorporation flow.
Request shape
Create requests use acountry plus country-specific countryOptions instead of a flat product id.
countryis the ISO 3166-1 alpha-2 code for the jurisdiction.countryOptionsis an object whose shape depends oncountry.customerIdis the path parameter for the customer that owns the incorporation.intake.requirementsis optional and can contain initial partial intake data.- Unknown or unsupported options are rejected by this endpoint.
Singapore example
GET /partner/incorporation/jurisdiction-catalog to see currently supported countries and option values. Use GET /partner/incorporation/requirements before building an intake UI.
Initial partial intake example
Supported options
| Country | Required options | Optional options |
|---|---|---|
US | corporationType: CORPORATION, LLC | state: US state abbreviation |
CA | corporationType: CORPORATION | None |
IN | corporationType: LLP, PRIVATE_LIMITED_COMPANY | None |
AE | corporationType: FZC | corporationTypeOptions.freeZone: ADGM, DIFC, DMCC, IFZA |
GB, IE, NZ | corporationType: LIMITED_COMPANY | None |
KY | corporationType: EXEMPTED_COMPANY | None |
SG | corporationType: PRIVATE_LIMITED_COMPANY | None |
Response status
New incorporations are returned withincorporationStatus: "AWAITING_CUSTOMER_INPUT". Once required intake data, participant roles, and documents validate, call POST /partner/incorporation/{incorporationId}/submit; after submit succeeds, the status becomes SUBMITTED or IN_PROGRESS depending on workflow start state.Authorizations
Path Parameters
Customer that should own the incorporation.
Body
ISO 3166-1 alpha-2 country code for the incorporation jurisdiction.
AE, CA, GB, IE, IN, KY, NZ, SG, US "SG"
Country-specific incorporation options. Use the jurisdiction catalog for the currently supported fields and values.
{
"corporationType": "PRIVATE_LIMITED_COMPANY"
}Optional initial partial intake data.
Response
Incorporation created successfully
Current intake state for the incorporation. Always returned; an empty intake state is initialized automatically when one does not yet exist.
Participants registered to this incorporation, when requested or available.
Requirements schema for the selected incorporation. Clients can use this to render their own intake UI, but intake updates are always validated against the current server-side incorporation requirements.
{
"schemaVersion": "2026-04-22",
"dslVersion": "mvp-2026-04-22",
"key": "sg.private_limited_company",
"country": "SG",
"countryOptions": {
"corporationType": "PRIVATE_LIMITED_COMPANY"
},
"name": "Singapore Private Limited Company Incorporation Requirements",
"blocks": [
{
"key": "companyNames",
"name": "Company name options"
}
],
"participantRequirements": [
{
"key": "directors",
"name": "Directors",
"role": "DIRECTOR",
"allowedParticipantTypes": ["INDIVIDUAL"],
"allowedResourceTypes": ["KEY_PERSON"],
"resourceFieldsByParticipantType": {
"INDIVIDUAL": [
{
"kind": "resource",
"key": "residentialAddress",
"name": "Residential address",
"description": "The key person's current residential address. Store this on the Commenda OS person as residentialAddress.",
"required": true,
"resourceKind": "address",
"commendaOs": {
"entity": "keyPerson",
"field": "residentialAddress"
},
"fields": [
{
"kind": "scalar",
"key": "addressLine1",
"name": "Address line 1",
"required": true,
"commendaOs": {
"entity": "keyPerson",
"field": "residentialAddress.addressLine1"
}
},
{
"kind": "scalar",
"key": "city",
"name": "City",
"required": true,
"commendaOs": {
"entity": "keyPerson",
"field": "residentialAddress.city"
}
},
{
"kind": "scalar",
"key": "country",
"name": "Country",
"required": true,
"commendaOs": {
"entity": "keyPerson",
"field": "residentialAddress.country"
}
}
]
}
]
},
"documentRequirements": [
{
"documentKind": "PASSPORT_SCAN",
"name": "Passport scan"
},
{
"documentKind": "UTILITY_BILL",
"name": "Utility bill"
}
]
}
]
}