Skip to content
KismetKismetDevelopers
llms.txt

POST promote to production

View .md

POST /v1/developer/collections/{collection}/content/reviews/{id}/promote

Operation ID: promoteContentReview

Typed custom-page content with draft isolation and exact reviewed publication. Production promotion requires an independent grant and the exact staged release. Privileged operations require independent grants. Content channel is separate from booking TEST/LIVE.

Field Value
Maturity preview
Required capability content.production.publish
Freshness class authenticated-state
Quota cost 1

All operations require a Kismet Developer Bearer credential. Collection and resource authority is resolved from the credential’s installation grants; identifiers in the URL never grant access.

Name In Type Required Description
collection path string yes
id path string yes

The request body is JSON. The canonical schema is:

{
"type": "object",
"properties": {
"expectedProductionVersion": {
"type": "integer",
"minimum": 0
},
"expectedProductionOrigin": {
"type": "string",
"format": "uri",
"maxLength": 255
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128
}
},
"required": [
"expectedProductionVersion",
"expectedProductionOrigin",
"idempotencyKey"
],
"additionalProperties": false
}

Minimal example:

{
"expectedProductionVersion": 0,
"expectedProductionOrigin": "https://www.example.com",
"idempotencyKey": "promote-story-v1"
}

Set KISMET_API_ORIGIN=https://api.ksmt.app and configure KISMET_DEVELOPER_API_KEY in your environment. Run server-credential requests from your backend, not browser code.

Terminal window
curl --request POST \
"$KISMET_API_ORIGIN/v1/developer/collections/example-collection/content/reviews/11111111-1111-4111-8111-111111111111/promote" \
--header "Authorization: Bearer $KISMET_DEVELOPER_API_KEY" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{"expectedProductionVersion":0,"expectedProductionOrigin":"https://www.example.com","idempotencyKey":"promote-story-v1"}'
Status Meaning
200 Success.
400 Invalid request parameters or body.
401 Missing, invalid, expired, or inappropriate credential/session.
403 Credential lacks the required grant/capability, or an origin/CSRF check failed.
404 The authorized resource was not found.
409 Request conflicts with the installation environment or current state.
429 Rate limit or quota exceeded; inspect response metadata before retrying.
503 A required Kismet dependency is temporarily unavailable.

Content type: application/json. Required fields, nullable values, and nested structures are defined below.

View complete response schema
{
"type": "object",
"properties": {
"documentId": {
"type": "string",
"format": "uuid"
},
"origin": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"version": {
"type": "integer",
"minimum": 0
},
"staging": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"channel": {
"type": "string",
"enum": [
"staging"
]
},
"baselineReleaseId": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"document": {
"type": "object",
"properties": {
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"template": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"path": {
"type": "string",
"maxLength": 255,
"pattern": "^\\/[a-z0-9]+(?:[-/][a-z0-9]+)*$"
},
"fields": {
"type": "object",
"additionalProperties": {}
},
"seo": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 500
}
},
"required": [
"title",
"description"
],
"additionalProperties": false
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"imported"
]
},
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"capturedAt": {
"type": "string",
"format": "date-time"
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"kind",
"url",
"capturedAt",
"sha256"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"authored"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
}
]
},
"resourceType": {
"type": "string",
"enum": [
"content"
]
},
"type": {
"type": "string",
"enum": [
"page"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"collectionId": {
"type": "string"
},
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"contentType",
"template",
"path",
"fields",
"seo",
"source",
"resourceType",
"type",
"id",
"collectionId",
"key",
"revision",
"updatedAt"
],
"additionalProperties": false
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z][a-zA-Z0-9]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"kind": {
"type": "string",
"enum": [
"text",
"textarea",
"prose",
"image",
"gallery"
]
},
"required": {
"type": "boolean"
},
"maxLength": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 50000
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"label",
"kind",
"required"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 40
}
},
"required": [
"id",
"version",
"name",
"fields"
],
"additionalProperties": false
},
"template": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"pageType": {
"type": "string",
"enum": [
"ABOUT",
"CUSTOM"
]
}
},
"required": [
"id",
"version",
"contentType",
"pageType"
],
"additionalProperties": false
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"channel",
"baselineReleaseId",
"document",
"contentType",
"template",
"createdAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"production": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"channel": {
"type": "string",
"enum": [
"staging"
]
},
"baselineReleaseId": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"document": {
"type": "object",
"properties": {
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"template": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"path": {
"type": "string",
"maxLength": 255,
"pattern": "^\\/[a-z0-9]+(?:[-/][a-z0-9]+)*$"
},
"fields": {
"type": "object",
"additionalProperties": {}
},
"seo": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 500
}
},
"required": [
"title",
"description"
],
"additionalProperties": false
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"imported"
]
},
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"capturedAt": {
"type": "string",
"format": "date-time"
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"kind",
"url",
"capturedAt",
"sha256"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"authored"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
}
]
},
"resourceType": {
"type": "string",
"enum": [
"content"
]
},
"type": {
"type": "string",
"enum": [
"page"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"collectionId": {
"type": "string"
},
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"contentType",
"template",
"path",
"fields",
"seo",
"source",
"resourceType",
"type",
"id",
"collectionId",
"key",
"revision",
"updatedAt"
],
"additionalProperties": false
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z][a-zA-Z0-9]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"kind": {
"type": "string",
"enum": [
"text",
"textarea",
"prose",
"image",
"gallery"
]
},
"required": {
"type": "boolean"
},
"maxLength": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 50000
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"label",
"kind",
"required"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 40
}
},
"required": [
"id",
"version",
"name",
"fields"
],
"additionalProperties": false
},
"template": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"pageType": {
"type": "string",
"enum": [
"ABOUT",
"CUSTOM"
]
}
},
"required": [
"id",
"version",
"contentType",
"pageType"
],
"additionalProperties": false
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"channel",
"baselineReleaseId",
"document",
"contentType",
"template",
"createdAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"previous": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"channel": {
"type": "string",
"enum": [
"staging"
]
},
"baselineReleaseId": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"document": {
"type": "object",
"properties": {
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"template": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"path": {
"type": "string",
"maxLength": 255,
"pattern": "^\\/[a-z0-9]+(?:[-/][a-z0-9]+)*$"
},
"fields": {
"type": "object",
"additionalProperties": {}
},
"seo": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 500
}
},
"required": [
"title",
"description"
],
"additionalProperties": false
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"imported"
]
},
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"capturedAt": {
"type": "string",
"format": "date-time"
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"kind",
"url",
"capturedAt",
"sha256"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"authored"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
}
]
},
"resourceType": {
"type": "string",
"enum": [
"content"
]
},
"type": {
"type": "string",
"enum": [
"page"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"collectionId": {
"type": "string"
},
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"contentType",
"template",
"path",
"fields",
"seo",
"source",
"resourceType",
"type",
"id",
"collectionId",
"key",
"revision",
"updatedAt"
],
"additionalProperties": false
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z][a-zA-Z0-9]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"kind": {
"type": "string",
"enum": [
"text",
"textarea",
"prose",
"image",
"gallery"
]
},
"required": {
"type": "boolean"
},
"maxLength": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 50000
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"label",
"kind",
"required"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 40
}
},
"required": [
"id",
"version",
"name",
"fields"
],
"additionalProperties": false
},
"template": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,79}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"pageType": {
"type": "string",
"enum": [
"ABOUT",
"CUSTOM"
]
}
},
"required": [
"id",
"version",
"contentType",
"pageType"
],
"additionalProperties": false
},
"createdAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"channel",
"baselineReleaseId",
"document",
"contentType",
"template",
"createdAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"documentId",
"origin",
"version",
"staging",
"production",
"previous"
],
"additionalProperties": false
}