> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Popup

> Read one popup with its complete content

Return one saved popup with its complete content blocks, trigger, targeting,
schedule, frequency, and theme. Read this before replacing `blocks` so the
replacement array stays complete.

The `embed` object is present only when the popup is published.

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/popups/pop_123" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "popup": {
      "id": "pop_123",
      "name": "Welcome offer",
      "status": "published",
      "viewCount": 1840,
      "conversionCount": 96,
      "content": {
        "version": 1,
        "surface": "popup",
        "template": "discount",
        "presentation": "modal",
        "placement": "center",
        "trigger": { "type": "exit-intent", "delaySeconds": 5 },
        "targeting": { "domains": [], "paths": [], "device": "all" },
        "frequency": { "maxDisplays": 3, "windowDays": 7 },
        "blocks": []
      }
    },
    "embed": {
      "scriptUrl": "https://sequenzy.com/embed/popups/pop_123?v=capture-runtime-20260716-14"
    }
  }
  ```

  ```json 401 theme={null}
  {
    "error": "Missing API key. Provide via x-api-key header or Authorization: Bearer <key>"
  }
  ```

  ```json 403 theme={null}
  { "error": "API key is missing required scope: widgets:read" }
  ```

  ```json 404 theme={null}
  { "error": "Popup not found" }
  ```
</ResponseExample>
