API ReferenceGET /v1/sites/:id

GET /v1/sites/:id

Fetch full status and metadata for a single site. Use this to poll for build completion or check the current hosting state.

Cost: Free.

Request

curl https://api.warpweb.ai/v1/sites/site_8f3c2a1b-5d47-4c9e-b820-1f8a3e7d9c4f \
  -H "Authorization: Bearer wpwb_sk_xxx"

Response

While building:

{
  "site_id": "site_8f3c2a1b-5d47-4c9e-b820-1f8a3e7d9c4f",
  "status": "building",
  "business_name": "Brookside Plumbing",
  "business_location": "Austin, TX",
  "hosting_tier": "free_subdomain",
  "created_at": "2026-05-17T14:23:11Z",
  "metadata": {}
}

After deploy:

{
  "site_id": "site_8f3c2a1b-5d47-4c9e-b820-1f8a3e7d9c4f",
  "status": "live",
  "deployed_url": "https://brookside-plumbing.warpweb.app",
  "custom_domains": [],
  "business_name": "Brookside Plumbing",
  "business_location": "Austin, TX",
  "hosting_tier": "free_subdomain",
  "last_refreshed_at": "2026-05-17T14:24:38Z",
  "form_webhook_url": null,
  "created_at": "2026-05-17T14:23:11Z",
  "deployed_at": "2026-05-17T14:24:38Z",
  "metadata": {}
}

After custom domain attach:

{
  "site_id": "site_8f3c2a1b-5d47-4c9e-b820-1f8a3e7d9c4f",
  "status": "live",
  "deployed_url": "https://brookside-plumbing.com",
  "custom_domains": ["brookside-plumbing.com", "www.brookside-plumbing.com"],
  "hosting_tier": "paid_custom_domain",
  "form_webhook_url": "https://api.yourapp.com/webhooks/warpweb-leads",
  "subscription_active": true,
  "created_at": "2026-05-17T14:23:11Z",
  "deployed_at": "2026-05-17T14:24:38Z"
}

Fields

FieldTypeWhen present
statusstringalways — one of building, deploying, live, paused, failed.
deployed_urlstringonce status >= deploying. The canonical URL — subdomain or custom domain.
custom_domainsstring[]once any custom domains are attached.
business_name, business_locationstringalways. The inputs you passed at create time.
hosting_tierstringalways — free_subdomain or paid_custom_domain.
last_refreshed_atstringfree-tier sites only. ISO 8601. See Pricing → 7-day refresh.
form_webhook_urlstring | nullthe configured webhook URL, or null if forms deliver to contact_email only.
subscription_activebooleanpaid-tier sites only. false means billing failed; site enters grace period.
failed_reasonstringonly when status = failed. One of unprocessable_business, infra_error, timeout.
metadataobjectalways. Whatever you passed at create time.

Errors

StatusErrorCause
404site_not_foundNo site with that ID belongs to your account.