---
title: "Publish a site"
method: POST
path: "/api/v1/sites/{id}/publish"
tags: ["sites"]
---

# Publish a site

`POST /api/v1/sites/{id}/publish`

## Request

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

Put the site's current draft live on the public internet: validated, image-audited, cache-busted.

Requires `sites:publish`, which is deliberately OUTSIDE the agent Prepare profile: publishing changes what the public sees, so it is an Operate-level act.

The draft is schema-validated and its images audited before going live; an invalid draft returns 400 with the reason.

409 means the draft changed while publishing (optimistic concurrency). Re-fetch and retry deliberately.

First-time publishes count against the plan's published-sites entitlement; republishing a live site does not.

## Path parameters

- `id` string, required

## Response `200`

Success

- object
  - `site` object, required
    - `id` string, uuid, required
    - `business_id` string, uuid, required
    - `slug` string, required
    - `status` string, required
    - `published_at` string, date-time, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `primary_domain` string, nullable, required
    - `public_url` string, 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)
- `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)
