Announcements
Restore a version into the draft
POST
/announcements/{id}/versions/{versionId}/restoreNeedscontent.editReplaces the working draft with this version's content. Nothing goes live until you publish.
Authorization
secretKeyheader
AuthorizationBearer <sk_…>A secret API key from Settings → API keys. It acts with its creator's role.
Path Parameters
id*integerThe announcement's id.
Range
1 <= valueversionId*integerThe version's id (from the versions list).
Range
1 <= valueResponse Body
OK
application/json- response
announcement*A announcement with its working draft. What visitors see is the version in publication.
restoredFrom*Shell
curl -X POST 'https://app.cueston.com/api/announcements/1/versions/1/restore'Example Response
JSON
{
"announcement": {
"id": 42,
"name": "Onboarding tour",
"urlPattern": "https://app.acme.com/*",
"isActive": true,
"title": "Welcome to Acme",
"body": "Here's a quick look at where everything is.",
"imageUrl": "string",
"imageAlt": "string",
"ctaLabel": "string",
"ctaAction": {
"type": "none"
},
"labels": [],
"display": "feed",
"scheduleType": "scheduled",
"scheduleDate": "string",
"scheduleTime": "string",
"audienceRules": {
"enabled": false,
"matchType": "all",
"rules": [
{
"id": "string",
"attribute": "string",
"operator": "equals",
"value": "string",
"key": "string"
}
]
},
"priority": 0,
"frequencyType": "once",
"createdAt": "2026-10-26T09:30:00Z",
"updatedAt": "2026-10-26T09:30:00Z",
"publication": {
"production": {
"versionId": 7,
"version": 3,
"publishedAt": "2026-10-26T09:30:00Z"
},
"staging": {
"versionId": 7,
"version": 3,
"publishedAt": "2026-10-26T09:30:00Z"
}
},
"hasUnpublishedChanges": true
},
"restoredFrom": {
"id": 42,
"version": 3
}
}