Importing a domain to Cloudflare
Bring in domains your customer registered elsewhere. This endpoint is
capped at 25 domains per request. It returns the nameserver groups the
customer must set before those domains can be used on an order. Submit
root domains only, such as acme-mail.com, not subdomains. Peeker
validates import eligibility before returning; invalid domains can
return a completed failed job and take longer than a normal enqueue.
POST
Importing a domain to Cloudflare
Authorizations
Your partner API key. Use pk_live_… against the live system or
pk_test_… against the sandbox.
Body
application/json
Maximum array length:
25Response
200 - application/json
Import finished (success or per-domain failures surfaced in the job).
Last modified on June 16, 2026
Previous
Submitting an async import jobQueue an async import job for domains your customer already owns. This
endpoint is capped at 500 domains per request and returns immediately
with an `in_progress` import job. Poll `GET /domains/import/jobs/{id}`
or listen for `domain_import.*` webhooks for the terminal result.
Live async job creation uses the normal Partner API rate limit and does
not reject just because Cloudflare accounts are currently busy. The
backend keeps the import on one selected Cloudflare account.
Retrying the same normalized domain set is safe: Peeker hashes the
sorted unique domains server-side and returns the existing import job.
No idempotency header is required.
Next
Importing a domain to Cloudflare