---
title: "Read, create, revise, preview, version or publish a managed client site"
method: POST
path: "/workspaces/{workspace_id}/sites/action"
---

# Read, create, revise, preview, version or publish a managed client site

`POST /workspaces/{workspace_id}/sites/action`

## Request

- Base URL: `https://api.bamf.ai/v1`
- URL: `https://api.bamf.ai/v1/workspaces/{workspace_id}/sites/action`
- Auth: HTTP bearer

Accepts only canonical Site Builder action names and their bounded params. Requires sites:read for reads, sites:write for revisions/session/context/template actions, or sites:publish for approval/access/execute actions, plus current client workspace capabilities. User-scoped keys only; creator-scoped keys are rejected. Requires an existing authorized managed client workspace binding; does not provision universal creator hosting. Writes require Idempotency-Key. Publish executes the existing exact approval/version contract; timeout returns pending, never success. MCP tools: bamf.list_sites, bamf.get_site, bamf.manage_site, bamf.publish_site.

## Path parameters

- `workspace_id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `action` string, required: Canonical Site Builder action; discover supported read/write/publish enums from MCP tools/list.
  - `params` object, required: Canonical action parameters; server validates size, identities and approval contract.

## Response `200`

Normalized site result and request audit IDs

## Other responses

- `400`: Invalid action/params or missing mutation idempotency key
- `401`: Authentication required
- `403`: Scope, key type, tenant binding or capability denied
- `409`: Version/approval or idempotency conflict
- `504`: Publish still running; pending=true. Recheck status before another execution.

---

[API](https://skmtc.dev/bamf/apis/bamf-developer-platform-api.md) · [All operations](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/revisions/a390dd3294bd?raw)
