Skip to main content
GET
Get a customer
Look up an individual customer by Instant Compliance UUID or by your own external_id. We auto-detect the format.

Response shape

See Data minimisation for what is and is not included in the response, and Customer lifecycle for how to interpret the status fields.

Cross-tenant isolation

A UUID that belongs to a different organisation returns 404 not_found — never data, never an “exists but you can’t see it” leak.

Authorizations

Authorization
string
header
required

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

Path Parameters

id
string
required

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

Response

Customer record.

id
string<uuid>
required

Instant Compliance customer UUID.

type
enum<string>
required

Individual customer types — /customers only ingests these. Entity customers (companies, trusts, partnerships, SMSFs) live on /entities with their own EntityType.

Available options:
INDIVIDUAL,
SOLE_TRADER
full_name
string
required
kyc_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
email
string<email> | null
kyc_started_at
string<date-time> | null
kyc_completed_at
string<date-time> | null
identity
object | null

Populated only when kyc_status = VERIFIED. Deliberately minimal — full date of birth and full address are never exposed.