Skip to main content
POST
Create an incorporation
Starts an incorporation for one of your customers. The response returns the incorporation resource directly, plus 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 a country plus country-specific countryOptions instead of a flat product id.
  • country is the ISO 3166-1 alpha-2 code for the jurisdiction.
  • countryOptions is an object whose shape depends on country.
  • customerId is the path parameter for the customer that owns the incorporation.
  • intake.requirements is optional and can contain initial partial intake data.
  • Unknown or unsupported options are rejected by this endpoint.

Singapore example

Use 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

Response status

New incorporations are returned with incorporationStatus: "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

x-api-key
string
header
required

Path Parameters

customerId
integer
required

Customer that should own the incorporation.

Body

application/json
country
enum<string>
required

ISO 3166-1 alpha-2 country code for the incorporation jurisdiction.

Available options:
AE,
CA,
GB,
IE,
IN,
KY,
NZ,
SG,
US
Example:

"SG"

countryOptions
object
required

Country-specific incorporation options. Use the jurisdiction catalog for the currently supported fields and values.

Example:
intake
object

Optional initial partial intake data.

Response

Incorporation created successfully

incorporation
object
required
incorporationValidation
object
required
intakeState
object
required

Current intake state for the incorporation. Always returned; an empty intake state is initialized automatically when one does not yet exist.

participants
object[]
required

Participants registered to this incorporation, when requested or available.

requirements
object

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.

Example: