Register or update an entity
Creates the entity for externalUserId, or updates it when one already exists in this organisation and environment. The call is an idempotent upsert on externalUserId: repeating it never creates a second entity. Registering a reference you previously deleted brings that entity back (restored: true).
type, kycProvenance and kycSource are written from every request, so send them again on an update (an omitted kycProvenance is stored as UNVERIFIED). Profile fields and metadata you omit keep their stored values.
When the entity is declared verified (MYAZA_VERIFIED or EXTERNAL_VERIFIED) and profile.idType and profile.idNumber are both present, the entity is linked to a shared identity by exact match on that document. No name or date-of-birth matching is done, and an unverified entity is never linked.
Side effects: the entity.imported webhook fires when the entity is created, and identity.resolved fires when its identity link changes. The entity is enrolled in ongoing screening where screening runs for your organisation; screening is billed per screen run in production and is free in sandbox. The call is recorded in your audit log.
Error codes
A missing or unknown key returns 401 with a plain sentence in error rather than a code.
Requires a secret (sk_) key. A publishable key receives 403 secret_key_required.
Authentication
Request
Whether the entity is a person or a business. Written on every call, so an omitted value is stored as INDIVIDUAL.
How the entity was verified. EXTERNAL_VERIFIED records a verification done outside Toden, which is trusted as declared. Written on every call, so an omitted value is stored as UNVERIFIED.
Response
The identifier of the shared identity the entity is linked to, or null when it has not been resolved to one.
Your metadata exactly as stored, or null when none is held.
The provenance sent in this request, or UNVERIFIED when none was sent.
The screening enrolment, or the string INACTIVE when screening does not run for your organisation.