curl -X POST "https://kodostatus.com/api/v1/status-pages/<page-id>/design/publish" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{ "expected_draft_version_id": "05cc0f5e-c333-4e16-a7f7-67d8c3758f02" }'
{
"success": true,
"status_page_id": "a04cc0eb-35ef-4d7d-a6da-ef79ecb7ff3f",
"current_version_id": "05cc0f5e-c333-4e16-a7f7-67d8c3758f02",
"warnings": []
}
Status Page Design
Publish Design Draft
Publish current draft design via an atomic database transaction with optimistic locking
POST
/
status-pages
/
{id}
/
design
/
publish
curl -X POST "https://kodostatus.com/api/v1/status-pages/<page-id>/design/publish" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{ "expected_draft_version_id": "05cc0f5e-c333-4e16-a7f7-67d8c3758f02" }'
{
"success": true,
"status_page_id": "a04cc0eb-35ef-4d7d-a6da-ef79ecb7ff3f",
"current_version_id": "05cc0f5e-c333-4e16-a7f7-67d8c3758f02",
"warnings": []
}
Path Parameters
string
required
Status page ID.
Body Parameters
string
required
Draft version UUID the client expects to publish.
Response
boolean
true when publish succeeds.string
Status page ID.
string
Now-published version UUID.
array
Validation warnings from publish-time validation.
curl -X POST "https://kodostatus.com/api/v1/status-pages/<page-id>/design/publish" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{ "expected_draft_version_id": "05cc0f5e-c333-4e16-a7f7-67d8c3758f02" }'
{
"success": true,
"status_page_id": "a04cc0eb-35ef-4d7d-a6da-ef79ecb7ff3f",
"current_version_id": "05cc0f5e-c333-4e16-a7f7-67d8c3758f02",
"warnings": []
}
Common Errors
| Status | Code | Meaning |
|---|---|---|
400 | INVALID_SCHEMA | Request body invalid or draft failed publish validation |
403 | PLAN_RESTRICTED | Custom template publish blocked by plan. Response includes upgrade_required: true. |
404 | DRAFT_NOT_FOUND | No draft exists for page |
409 | DRAFT_VERSION_MISMATCH | Draft changed since client last read it. Response includes current_draft_version_id. |
500 | - | Publish failed. Possible causes: “Failed to publish design version” (RPC atomic transaction failure) or “Failed to apply published design to status page” (sync failure). |