org_ API key (Quickstart).
1. Create (or attach)
POST /v1/users is a create-or-attach: if the email has no 4D account, a
user and a membership in your org are created; if the person already exists
on the platform, they’re attached to your org as a member instead - never
duplicated. Only email is required.
201 Created when a user or a membership was created, or 200 OK when the
person was already a member of your organization and is returned unchanged:
age_bandis derived fromdob+country; the rawdobyou submitted is not echoed back - partner reads get the redacted profile (see Members).walletstartsprovisioningand becomesactivewith an address once the background provisioning completes - no action needed from you.dob_verification_statusisself_declaredwhen adobis sent, andunverifiedwhen none is.countrymust be an assigned ISO 3166-1 alpha-2 code (any case in, stored uppercase);dobmust be a real calendar date, in the past, year ≥ 1900.
2. Retry it - nothing duplicates
Run the exact same command again. SameIdempotency-Key, same body: the
original response is replayed exactly as it was first sent, status included, so
the retry of a call that created Ada answers 201 again with the same body. A different body under the same key
is rejected with 409 IDEMPOTENCY_CONFLICT. Reusing an external_id already
claimed by another member of your org is also a 409.
3. The rest of the lifecycle
Next
- Get user details - reads, updates, and typed attributes.
- Trigger an event - start tracking what this member does.
- Bringing thousands of existing members? Migrate an existing member base runs this same create-or-attach path in bulk.