---
title: "Create a site"
method: POST
path: "/api/v1/sites"
tags: ["sites"]
---

# Create a site

`POST /api/v1/sites`

## Request

- Base URL: `https://app.blueticked.com`
- URL: `https://app.blueticked.com/api/v1/sites`
- Auth: HTTP bearer

Create a draft site (from a house template or the blank starter), ready for the studio.

The new site is a DRAFT. Nothing is public until sites:publish puts it live, so creation sits safely in the agent Prepare profile.

`desired_slug` becomes the DNS label (slug.sites.blueticked.com); lowercase letters, numbers and hyphens, 3 to 63 chars. Omit it to derive one from the business name; a taken slug gets a numbered variant.

An unknown `template` is refused rather than silently falling back to the blank starter.

Multi-business workspaces (or business-restricted keys reaching several) must pass `business_id`.

Draft EDITING stays in the dashboard studio. The schema is a visual document; agents fill it through AI generation and the studio, not raw JSON.

## Request body

- object
  - `business_name` string, required
  - `desired_slug` string
  - `template` string

## Response `201`

Success

- object
  - `site` object, required
    - `id` string, uuid, required
    - `organization_id` string, uuid, required
    - `business_id` string, uuid, required
    - `slug` string, required
    - `status` string, required
    - `schema_version` number, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized: missing or invalid API key
- `402`: Insufficient wallet balance
- `403`: Forbidden: scope, plan limit, or suspension
- `404`: Not found
- `409`: Conflict (idempotency-key reuse or resource in use)
- `413`: Request body above the endpoint's size limit
- `422`: Understood but refused: the request is well-formed, the action is not permitted for this resource
- `429`: Rate limited
- `500`: Internal error
- `502`: An upstream provider refused or failed the request
- `503`: Channel or send queue unavailable

---

[API](https://skmtc.dev/blueticked/apis/blueticked-api.md) · [All operations](https://skmtc.dev/blueticked/apis/blueticked-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blueticked/apis/blueticked-api/revisions/07132284f4ff?raw)
