Partially update incorporation intake details. Each write returns the updated intake state and incorporation validation summary.
Use this endpoint to save the details required to prepare an incorporation, such as proposed company names, registered office address preference, share capital, and business activities. The available fields depend on the selected country and incorporation options. Each request can be partial. Include only the values you want to add or change inDocumentation Index
Fetch the complete documentation index at: https://docs.commenda.io/llms.txt
Use this file to discover all available pages before exploring further.
requirements. Commenda merges them into the current intake state, validates the full incorporation, and returns the updated intakeState plus incorporationValidation.
The Partner API does not expose a submission history endpoint. To read progress after an update, call GET /partner/incorporation/{incorporationId} or GET /partner/incorporation/{incorporationId}/validation.
The incorporation is ready to submit when incorporationValidation.isComplete is true. Call POST /partner/incorporation/{incorporationId}/submit to hand the incorporation to Commenda for review.
Participant roles, participant resource fields, and participant documents are managed outside this intake payload. Register participant roles with the participant endpoints, complete required person or business entity fields through the Commenda OS Partner API, and upsert participant documents through the document endpoint.
requirements only accepts incorporation-level requirement keys defined under blocks[].fields in the requirements response for the current incorporation type.
If you send a key that is not declared at the incorporation level, the request returns 400 Bad Request with an Unknown intake requirement key(s) message and the intake state is not updated. This includes participant-shaped payloads such as participants, directors, shareholders, top-level residentialAddress, or a nested resource object. Submit those values through the appropriate endpoint instead:
| Payload shape | Where to submit |
|---|---|
Participant roles such as directors or shareholders | Register an incorporation participant or Update an incorporation participant |
Person resource fields such as residentialAddress | Update a partner person using PATCH /partner/commenda-os/customers/{customerId}/persons/{personId} |
Participant documents such as PASSPORT_SCAN | Upsert a participant document |
currentState.
companyNameOptions.
registeredOfficeAddressSource.
| Source | Use when | Required fields |
|---|---|---|
commendaService | Commenda should provide the registered office address service for this incorporation. | registeredOfficeAddressSource |
partnerProvidedLocation | You already have a Commenda OS location to use as the registered office address. | registeredOfficeAddressSource and registeredOfficeAddressLocation |
commendaService when Commenda should provide the registered office address service:
partnerProvidedLocation when you are providing a reusable Commenda OS location:
data on the existingResource reference for incorporation validation.
If you later switch registeredOfficeAddressSource back to commendaService, any previously submitted registeredOfficeAddressLocation value may remain in currentState, but it is no longer applicable and will not block validation.
missingRequirements and invalidRequirements until the current incorporation state satisfies those rules.
Example validation details:
POST /partner/incorporation/{incorporationId}/participants for director/shareholder roles.POST /partner/commenda-os/customers/{customerId}/persons or PATCH /partner/commenda-os/customers/{customerId}/persons/{personId} for required person fields such as residentialAddress.PUT /partner/incorporation/{incorporationId}/participants/{participantId}/documents/{documentKind} for participant document requirements.Incorporation identifier returned by create or list endpoints.
Partner-submitted requirement values keyed by requirements field keys.
{
"companyNameOptions": [
{ "name": "Acme SG Pte Ltd" },
{ "name": "Acme Asia Pte Ltd" },
{ "name": "Acme Global Pte Ltd" }
],
"registeredOfficeAddressSource": "commendaService"
}Intake updated and validated
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"
}
]
}
]
}