Create or upsert an entity
Ingest an entity customer (company, trust, partnership, SMSF). The
record is created with kyb_status = NOT_STARTED and
added_via = INTEGRATION. No KYB is triggered and no credits are
charged — your back-office team starts verification (and chooses
the KYB method) from inside Instant Compliance.
Identifiers
AUSTRALIANentities (the default) acceptabn(11 digits) andacn(9 digits). Spaces are tolerated and stripped.INTERNATIONALentities requirecountryOfFormation(ISO 3166-1 alpha-3) and acceptregistrationNumber;abn/acnare rejected.
Contact person
KYB needs an individual who acts for the entity. Pass contact
with either customerId (an existing individual’s UUID or
external_id) or an inline fullName + email (which reuses an
exact name+email match or creates a contact-role individual).
contact.kycRequired (default true) records the intent to
verify the contact alongside the entity’s KYB — nothing is sent,
armed, or billed until your team starts the KYB in-app.
Designated services
designatedServices behaves exactly as on POST /customers: the
list replaces the entity’s set, derives the designated flag,
recomputes risk, and an explicit empty array creates the record
with kyb_status = NOT_REQUIRED.
Idempotency
- If
externalIdis supplied and already exists in your organisation, the existing record is updated and the response is 200 OK. - Otherwise a match on
abn, thenacn, then legal name + entity type (case-insensitive) updates that record — unless it carries a differentexternal_id, which is a 409 conflict. - Otherwise a new record is created and returned with 201 Created.
type and origin are immutable — an upsert that disagrees with
the stored values is a 409 conflict. Once the entity’s KYB is
VERIFIED, identity fields (name, abn, acn,
countryOfFormation) freeze — re-sending unchanged values is fine,
changing them returns 422 validation_failed.
Include an Idempotency-Key header to make network retries safe
for 24 hours.
INTEGRATION with
kyb_status = NOT_STARTED. No KYB is triggered. No credits are
charged. Your back-office team chooses the KYB method and starts
verification in-app when ready.
Individuals vs entities
Entities verify via KYB (business verification + beneficial-owner resolution) instead of KYC, so they live on their own resource. UsePOST /customers for individuals
and sole traders.
Identifiers
AUSTRALIANentities (the default) takeabn(11 digits) andacn(9 digits). Spaces are tolerated and stripped.INTERNATIONALentities requirecountryOfFormation(ISO 3166-1 alpha-3) and acceptregistrationNumber;abn/acnare rejected.
Contact person
KYB needs an individual who acts for the entity — they receive the verification link when your team starts KYB. Passcontact with either
customerId (an existing individual’s UUID or external_id) or an
inline fullName + email. Inline contacts reuse an exact name+email
match or create a contact-role individual; nothing is emailed or billed
at ingest time.
Idempotent upsert behaviour
name, abn,
acn, countryOfFormation) freeze — re-sending unchanged values is
fine, changing them returns 422 validation_failed.
Retry safety
PassIdempotency-Key (a UUID or any string ≤ 255 chars). Repeated
calls with the same key within 24 hours replay the original response.
See Idempotency.Authorizations
Bearer API key issued from Settings → Developers in your
Instant Compliance organisation. Format: ic_live_….
Headers
Caller-supplied unique key for safe retries. Repeat the same key within 24 hours and we replay the original response instead of repeating the side effect. Reusing the key with a different request body returns 409 idempotency_conflict.
255Body
Entity customer types accepted by /entities. SMSF is treated
as a type of trust and OTHER as a company for verification
purposes, but the type you post round-trips back unchanged.
Immutable after creation.
COMPANY, TRUST, PARTNERSHIP, SMSF, OTHER The entity's legal name.
1 - 255Your CRM identifier. Strongly recommended for idempotent upsert + round-tripping.
255Where the entity is formed. AUSTRALIAN (the default) uses
ABN/ACN identifiers; INTERNATIONAL uses countryOfFormation +
registrationNumber. Immutable after creation.
AUSTRALIAN, INTERNATIONAL Australian Business Number (11 digits; spaces tolerated). AUSTRALIAN entities only.
Australian Company Number (9 digits; spaces tolerated). AUSTRALIAN entities only.
500ISO 3166-1 alpha-3. Required for INTERNATIONAL entities; rejected for AUSTRALIAN.
Company/registry number in the country of formation. INTERNATIONAL entities only.
64The entity's primary contact person — the individual who acts for
the entity and receives the KYB portal link when your team starts
verification. Provide either customerId (an existing
individual) or fullName + email (inline create/reuse) —
not both.
Optional risk pre-answers. Your back-office team will complete the full risk assessment in-app before triggering KYC; these values seed it.
The specific designated service(s) provided to the customer, as
stable catalog codes. An empty array is an explicit "no designated
services". Unknown or non-designated codes are rejected with
422 validation_failed.
The catalog is also available programmatically via
GET /designated-services.
Professional services
Real estate
Financial services
Other designated services
6464Response
Existing entity updated (idempotent upsert).
Instant Compliance customer UUID (entities are customers too).
Entity customer types accepted by /entities. SMSF is treated
as a type of trust and OTHER as a company for verification
purposes, but the type you post round-trips back unchanged.
Immutable after creation.
COMPANY, TRUST, PARTNERSHIP, SMSF, OTHER The entity's legal name.
Where the entity is formed. AUSTRALIAN (the default) uses
ABN/ACN identifiers; INTERNATIONAL uses countryOfFormation +
registrationNumber. Immutable after creation.
AUSTRALIAN, INTERNATIONAL NOT_STARTED, PENDING, IN_PROGRESS, VERIFIED, FAILED, NOT_REQUIRED, AWAITING_RESUBMISSION How the record entered Instant Compliance.
ADMIN_MANUAL, AI_EXTRACTED, CONTACT_PORTAL, BULK_IMPORT, INTEGRATION, SYSTEM ISO 3166-1 alpha-3. AUS for Australian entities; the country
of formation for international entities.
Registry number recorded for international entities.
The entity's current contact person, or null when none is set.

