Docs
Banners

Duplicate a banner

POST/banners/{id}/duplicateNeedscontent.edit

Copies the banner 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 banner's id.

Range1 <= value

Request Body

application/json
  1. body
isActive?boolean
Defaultfalse

Response Body

Created

application/json
  1. response
banner*

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

Shell
curl -X POST 'https://app.cueston.com/api/banners/1/duplicate' \
  -H 'Content-Type: application/json' \
  -d '{}'
Example Response
JSON
{
  "banner": {
    "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",
    "buttonText": "Next",
    "imagePosition": "top",
    "showCloseButton": true,
    "positionX": "left",
    "positionY": "top",
    "offsetX": -1000,
    "offsetY": -1000,
    "width": 200,
    "height": "string",
    "showBackdrop": true,
    "backdropOpacity": 0,
    "cardBgColor": "string",
    "cardTextColor": "string",
    "cardBorderRadius": 0,
    "cardPadding": 0,
    "cardShadow": "none",
    "textAlign": "left",
    "cardBlurIntensity": 0,
    "cardBgOpacity": 0,
    "showBorder": true,
    "borderColor": "string",
    "borderThickness": 0,
    "titleSize": 10,
    "bodySize": 10,
    "bodyLineHeight": 1,
    "buttonColor": "string",
    "buttonTextColor": "string",
    "buttonBorderRadius": 0,
    "buttonSize": "xxs",
    "buttonPosition": "left",
    "buttonType": "regular",
    "zIndex": 0,
    "delayMs": 0,
    "scheduleType": "immediate",
    "scheduleDate": "string",
    "scheduleTime": "string",
    "timezone": "string",
    "forceTimezone": true,
    "frequencyType": "once",
    "frequencyCount": 1,
    "frequencyDays": 1,
    "audienceRules": {
      "enabled": false,
      "matchType": "all",
      "rules": [
        {
          "id": "string",
          "attribute": "string",
          "operator": "equals",
          "value": "string",
          "key": "string"
        }
      ]
    },
    "priority": 0,
    "goal": {
      "type": "event",
      "event": "string",
      "urlPattern": "https://app.acme.com/*",
      "contentRef": "string",
      "withinDays": 7
    },
    "holdoutPercent": 0,
    "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
  }
}