Skip to main content
Guides

Quickstart

From zero to a generated, hosted website — three requests.

1 · Create an API key

Keys belong to your CurateOne account. Create one on the API Keys page (you'll need to be signed in). The full key — co_live_… — is shown exactly once; store it in a secrets manager, never in client-side code.

The API is part of the Pro / Agency plan. On a lower plan you can create a key, but every call returns 402 upgrade_required until the account is upgraded — see plans.

2 · Verify the key

bash
curl https://curateone.ai/api/v1/me \
  -H "Authorization: Bearer co_live_…"

A valid key returns your account, plan, and remaining AI credits. A 401 means the key is missing, mistyped, or revoked.

3 · Generate a website

Generation is asynchronous: the create call reserves 5 AI credits (a site build, same as in the Studio) and returns a job id immediately; the pipeline runs in the background for roughly a minute.

bash
curl -X POST https://curateone.ai/api/v1/sites \
  -H "Authorization: Bearer co_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "businessName": "Billu Barber",
    "industry": "barber shop",
    "audience": "young professionals",
    "goals": "walk-in bookings"
  }'

# → 202 { "jobId": "job_k2f8…" }

4 · Poll the job

bash
curl https://curateone.ai/api/v1/jobs/job_k2f8… \
  -H "Authorization: Bearer co_live_…"

# running   → { "job": { "status": "running", "progress": 62, "stage": "Composing pages", … } }
# completed → { "job": { "status": "completed", "siteId": "prj_ax92…", … } }

Poll every 3–5 seconds until the status is terminal. If the job fails or you cancel it, the reserved credits are refunded automatically.

The generated site opens in the Studio for editing, and can be published to its own *.curateone.ai subdomain — the API's url field flips from null to the live address once provisioning (SSL, images, compile checks) passes.

5 · Read leads & analytics

bash
curl "https://curateone.ai/api/v1/sites/prj_ax92…/leads?status=new" \
  -H "Authorization: Bearer co_live_…"

curl "https://curateone.ai/api/v1/sites/prj_ax92…/analytics?range=30d" \
  -H "Authorization: Bearer co_live_…"

Prefer push over pull? Webhooks deliver new leads and publish events to your endpoint, HMAC-signed.

Next