Docs
Announcements

Duplicate a announcement

POST/announcements/{id}/duplicateNeedscontent.edit

Copies the announcement as a new draft named "Copy of …" and translations.

Authorization

secretKey
headerAuthorizationBearer <sk_…>

A secret API key from Settings → API keys. It acts with its creator's role.

Path Parameters

id*integer

The announcement's id.

Range1 <= value

Request Body

application/json
  1. body
isActive?boolean
Defaultfalse

Response Body

Created

application/json
  1. response
announcement*

A announcement with its working draft. What visitors see is the version in publication.

Shell
curl -X POST 'https://app.cueston.com/api/announcements/1/duplicate' \
  -H 'Content-Type: application/json' \
  -d '{}'
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
  }
}