Skip to main content
PATCH
Update an entity
Partial update of an entity you have ingested. Omitted fields are left untouched; an explicit null clears a clearable field (abn, acn, address, registrationNumber).
  • Identity freeze: once the entity’s KYB is verified, name, abn, acn, and registrationNumber are frozen — changing them returns 422 validation_failed. Those values came from the registry check and must not silently drift.
  • Immutable: type and origin can never change. Create a new record if the entity was ingested with the wrong type.
  • Contact: passing contact replaces the entity’s contact person — the same customerId / inline fullName + email shapes as on create.

Authorizations

Authorization
string
header
required

Bearer API key issued from Settings → Developers in your Instant Compliance organisation. Format: ic_live_….

Headers

Idempotency-Key
string

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.

Maximum string length: 255

Path Parameters

id
string
required

Entity identifier. Accepts either Instant Compliance's UUID (550e8400-…) or your own external_id.

Body

application/json
name
string
Required string length: 1 - 255
abn
string | null
acn
string | null
address
string | null
Maximum string length: 500
registrationNumber
string | null
Maximum string length: 64
contact
object

The 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.

risk
object

Optional risk pre-answers. Your back-office team will complete the full risk assessment in-app before triggering KYC; these values seed it.

Response

Updated entity record.

id
string<uuid>
required

Instant Compliance customer UUID (entities are customers too).

type
enum<string>
required

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.

Available options:
COMPANY,
TRUST,
PARTNERSHIP,
SMSF,
OTHER
name
string
required

The entity's legal name.

origin
enum<string>
required

Where the entity is formed. AUSTRALIAN (the default) uses ABN/ACN identifiers; INTERNATIONAL uses countryOfFormation + registrationNumber. Immutable after creation.

Available options:
AUSTRALIAN,
INTERNATIONAL
kyb_status
enum<string>
required
Available options:
NOT_STARTED,
PENDING,
IN_PROGRESS,
VERIFIED,
FAILED,
NOT_REQUIRED,
AWAITING_RESUBMISSION
aml
object
required
added_via
enum<string>
required

How the record entered Instant Compliance.

Available options:
ADMIN_MANUAL,
AI_EXTRACTED,
CONTACT_PORTAL,
BULK_IMPORT,
INTEGRATION,
SYSTEM
created_at
string<date-time>
required
updated_at
string<date-time>
required
external_id
string | null
abn
string | null
acn
string | null
country_of_formation
string | null

ISO 3166-1 alpha-3. AUS for Australian entities; the country of formation for international entities.

registration_number
string | null

Registry number recorded for international entities.

kyb_started_at
string<date-time> | null
kyb_completed_at
string<date-time> | null
contact
object | null

The entity's current contact person, or null when none is set.