Skip to main content
Use this flow when the customer already owns the domains. Import them first, then submit the order to an existing workspace target.

1. Import (sync, up to 25)

POST /domains/import runs before the response returns. Status is terminal: completed, failed, or action_required.
Show nameserver_groups to the customer when they need to update DNS at their registrar. A successful import can still include those nameservers. For batches of up to 500 domains, use POST /domains/import/jobs (returns 202 with in_progress). Poll or subscribe to domain_import.*.

2. Understand terminal statuses

An import may partially succeed. Read completed_count, failed_count, and failed. Listen for:
  • domain_import.completed
  • domain_import.action_required
  • domain_import.failed

3. Submit the order

After the required domains are imported, use POST /orders with an existing workspace target.
Strict Smartlead order
Send a unique Idempotency-Key for this order. Use the same key only when retrying the same request. See How domains work and How orders work.

Provider setup and ordering

See workspace creation and order shapes.

Webhooks

Verify signatures and handle duplicate delivery safely.
Last modified on August 24, 2026