Skip to main content
POST
/
screens
/
{screen_id}
/
copy
Duplicate a screen
curl --request POST \
  --url https://api.qonversion.io/v4/screens/{screen_id}/copy \
  --header 'Authorization: Bearer <token>'
{
  "object": "screen",
  "id": "scr_abc123",
  "url": "/v4/screens/scr_abc123",
  "name": "Onboarding Paywall",
  "status": "published",
  "is_web": false,
  "created_at": "2025-09-15T12:30:00Z",
  "updated_at": "2025-11-03T10:26:40Z",
  "type": "<string>",
  "context_key": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication using the project Secret Key (prefixed with sk_, or test_sk_ for sandbox). All v4 public endpoints require the Secret Key — see Authentication. Never expose the Secret Key in client-side code.

Path Parameters

screen_id
string
required

Screen identifier to duplicate.

Maximum string length: 256
Pattern: ^[a-zA-Z0-9._-]+$

Response

Duplicated screen created successfully.

object
enum<string>
required

Always "screen".

Available options:
screen
id
string
required

Unique screen identifier.

Example:

"scr_abc123"

url
string
required

Canonical API path for this screen.

Example:

"/v4/screens/scr_abc123"

name
string
required

Human-readable name of the screen.

Example:

"Onboarding Paywall"

status
string
required

Lifecycle status of the screen (open enum).

Example:

"published"

is_web
boolean
default:false
required

Whether this is a web flow screen. Derived from type (true when type is web_flow).

created_at
string<date-time>
required

ISO 8601 creation timestamp (UTC).

Example:

"2025-09-15T12:30:00Z"

updated_at
string<date-time>
required

ISO 8601 last-update timestamp (UTC).

Example:

"2025-11-03T10:26:40Z"

type
string | null

Screen type (open enum). Null when not yet determined.

context_key
string | null

Optional context key used for screen targeting.