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 (or 200 OK when the user/membership already existed and is
returned unchanged):
age_bandis derived fromdob+country; the rawdobyou submitted is not echoed back - partner reads get the redacted profile (see Tenants and members).walletstartsprovisioningand becomesactivewith an address once the background provisioning completes - no action needed from you.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 with 200. 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.