Skip to content

Users

users_waitlist_import

Import a LEGACY waitlist into this product.

Tool

users_waitlist_import

Import a LEGACY waitlist into this product.

Import a LEGACY waitlist into this product. Each row becomes a directory user in state `waitlisted` (no credential — a waitlist signup has nothing to sign in with) plus a WaitlistEntry whose consent proof is stored VERBATIM: the policy version, the timestamp and the source the OLD system recorded, never the import time. Rides the Phase 1 bulk import, so it is IDEMPOTENT by canonical identifier — re-running the same file skips instead of duplicating — and reports PER ROW ({row, status, userId, reason}) so one bad row never fails the batch. Addresses that already have an entry are skipped `already_on_list`; addresses on the suppression list (they withdrew) are skipped `suppressed` and are NOT resurrected. SENDS NO EMAIL: an import is a migration, not a signup gesture. Imported addresses land UNVERIFIED, and by default confirmed — pass `confirmed: false` for rows the source system never reached, which then count as `unconfirmed` and are never invited. Up to 500 rows per call.

Behavior

HTTP
POST /users/waitlist/import

Arguments

NameTypeRequiredDescription
entriesarrayThe legacy signups to import, at most 500 per call — batch client-side beyond that.

Response

FieldTypeAlwaysDescription
failedinteger
resultsarray
skippedinteger
importedinteger
requestedinteger

Try it

Import a LEGACY waitlist into this product.

When to use

Import a LEGACY waitlist into this product. Each row becomes a directory user in state `waitlisted` (no credential — a waitlist signup has nothing to sign in with) plus a WaitlistEntry whose consent proof is stored VERBATIM: the policy version, the timestamp and the source the OLD system recorded, never the import time. Rides the Phase 1 bulk import, so it is IDEMPOTENT by canonical identifier — re-running the same file skips instead of duplicating — and reports PER ROW ({row, status, userId, reason}) so one bad row never fails the batch. Addresses that already have an entry are skipped `already_on_list`; addresses on the suppression list (they withdrew) are skipped `suppressed` and are NOT resurrected. SENDS NO EMAIL: an import is a migration, not a signup gesture. Imported addresses land UNVERIFIED, and by default confirmed — pass `confirmed: false` for rows the source system never reached, which then count as `unconfirmed` and are never invited. Up to 500 rows per call.

Example

Ask your agent something like this:

Import a LEGACY waitlist into this product.

The agent will invoke users_waitlist_import with these arguments:

{
  "entries": "<entries>"
}

Esc

Start typing to search the docs.

navigateselect