| Method | Path | Summary | Auth |
|---|---|---|---|
| GET | /v1/sites | List websites visible in the authenticated scope | Session |
| POST | /v1/sites | Create a website | Session |
| POST | /v1/sites/batch-action | Enable, disable, soft-delete, or queue CNAME regeneration for websites | Session |
| GET | /v1/sites/export | Export an immutable snapshot of site domains | Session |
| GET | /v1/sites/{id} | Get one website and its basic settings | Session |
| PATCH | /v1/sites/{id} | Replace the complete basic or origin settings section | Session |
| DELETE | /v1/sites/{id} | Soft-delete a website | Session |
| POST | /v1/sites/{id}/lock | Lock a website against tenant writes | Session |
| POST | /v1/sites/{id}/origin-failback | Switch the pool back to the highest healthy level (manual failback) | Session |
| GET | /v1/sites/{id}/origin-routing | Get the normalized conditional origin-routing document | Session |
| PUT | /v1/sites/{id}/origin-routing | Replace the complete conditional origin-routing document | Session |
| GET | /v1/sites/{id}/origin-status | Origin pool probe state and the active origin level | Session |
| GET | /v1/sites/{id}/schedule302 | Get the site's HTTP 302 scheduling settings | Session |
| PUT | /v1/sites/{id}/schedule302 | Replace the site's HTTP 302 scheduling settings | Session |
| POST | /v1/sites/{id}/unlock | Restore tenant write access to a website | Session |
| GET | /v1/sites/{site_id}/access | Get a site's request handling settings | Session |
| PUT | /v1/sites/{site_id}/access | Replace a site's request handling settings | Session |
| GET | /v1/sites/{site_id}/certificate-binding | Get the active certificate binding for one site | Session |
| POST | /v1/sites/{site_id}/dns-reconcile/apply | Persist and enqueue a DNS reconciliation task | Session |
| POST | /v1/sites/{site_id}/dns-reconcile/dry-run | Build a deterministic repair plan without provider side effects | Session |
| GET | /v1/sites/{site_id}/dns-reconcile/tasks/{task_id} | Read one durable DNS reconciliation task | Session |
| POST | /v1/sites/{site_id}/dns-reconcile/tasks/{task_id}/cancel | Persist a cancellation request for a DNS reconciliation task | Session |
| POST | /v1/sites/{site_id}/dns-reconcile/tasks/{task_id}/commit | Delete superseded records after propagation is healthy | Session |
| GET | /v1/sites/{site_id}/traffic-limit | Read a website's traffic caps and their enforcement (sites.read) | Session |
| PUT | /v1/sites/{site_id}/traffic-limit | Replace a website's traffic caps (sites.manage) | Session |
Contract file:api/openapi/v1/sites.yaml api/control-site-access.openapi.yaml api/control-certificate-assets.openapi.yaml api/control-dns-reconcile.openapi.yaml api/control-site-traffic-limit.openapi.yaml