Reviews
Approve and publish
POST
/publish-requests/{id}/approveNeedscontent.publishPublishes exactly the requested version to production. You can't approve your own request unless you're the workspace's only publisher (self_approval).
Authorization
secretKeyheader
AuthorizationBearer <sk_…>A secret API key from Settings → API keys. It acts with its creator's role.
Path Parameters
id*integerThe request's id.
Range
1 <= valueRequest Body
application/json- body
note?|A note for the requester.
Response Body
Approved and live
application/json- response
request*A request to publish a version to production, waiting for (or after) review.
version*An immutable published snapshot of an item.
publication*Which version each environment serves. null = not published there.
Shell
curl -X POST 'https://app.cueston.com/api/publish-requests/1/approve' \
-H 'Content-Type: application/json' \
-d '{}'Example Response
JSON
{
"request": {
"id": 42,
"contentType": "tour",
"contentId": 42,
"contentName": "Onboarding tour",
"versionId": 7,
"version": 3,
"environment": "production",
"status": "pending",
"note": "Clearer copy on step 2",
"requestedBy": {
"id": 42,
"name": "Ada Lovelace",
"email": "ada@acme.com"
},
"reviewer": {
"id": 42,
"name": "Ada Lovelace",
"email": "ada@acme.com"
},
"reviewNote": "Looks good",
"createdAt": "2026-10-26T09:30:00Z",
"reviewedAt": "2026-10-26T09:30:00Z"
},
"version": {
"id": 42,
"version": 3,
"note": "Clearer copy on step 2",
"hash": "7090a4327d58d501f1d2894b7f5148994c165ad4c232de0e817493669e4e9a59",
"createdBy": {
"id": 42,
"name": "Ada Lovelace",
"email": "ada@acme.com"
},
"createdAt": "2026-10-26T09:30:00Z",
"environments": [
"production"
]
},
"publication": {
"production": {
"versionId": 7,
"version": 3,
"publishedAt": "2026-10-26T09:30:00Z"
},
"staging": {
"versionId": 7,
"version": 3,
"publishedAt": "2026-10-26T09:30:00Z"
}
}
}