---
search:
  tags:
    - Visibility setups
    - POST
seo:
  description: >-
    Saves the brand, prompts, platforms, and competitors that scans measure.
    The… Reference for the POST /visibility-setups endpoint in the Zaraftis
    Public API.
sidebar:
  label: Create a visibility setup
  badge: POST
title: Create a visibility setup
type: openapi-operation
---
Saves the brand, prompts, platforms, and competitors that scans measure. The body needs creation_mode (manual or auto) and exactly one of brand_id or new_brand. Manual setups are free and return 201. Auto setups are not available yet and answer 501 not_implemented. With new_brand, a retry with the same Idempotency-Key reuses the brand the first request created.

`POST /visibility-setups`

**Request body** (`application/json`, required)

- `creation_mode` (string, required)
- `brand_id` (string<uuid>)
- `new_brand` (object)
- `name` (string)
- `country` (string, required)
- `language` (string, required)
- `platform_ids` (string[], required)
- `topics` (object[])
- `prompts` (object[], required)
- `competitors` (object[])

Request body example:

```json
{
  "creation_mode": "manual",
  "brand_id": "1bb61461-e5e3-4ebb-8cc6-5b0c37f1b7da",
  "new_brand": {
    "url": "http://example.com",
    "name": "string",
    "aliases": [
      "string"
    ],
    "country": "st",
    "language": "string"
  },
  "name": "string",
  "country": "st",
  "language": "string",
  "platform_ids": [
    "string"
  ],
  "topics": [
    {
      "title": "string"
    }
  ],
  "prompts": [
    {
      "text": "string",
      "topic_title": "string"
    }
  ],
  "competitors": [
    {
      "name": "string",
      "url": "http://example.com"
    }
  ]
}
```

**Responses**

- `201` — Saved Manual setup
- `400` — bad\_request or validation\_failed
- `404` — not\_found: unknown id, or an id this key cannot see
- `409` — conflict, duplicate\_url, or idempotency\_conflict
- `429` — rate\_limited: wait the Retry-After seconds

Response example, 201:

```json
{
  "success": true,
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "brand": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "url": "string"
    },
    "country": "st",
    "language": "string",
    "creation_mode": "manual",
    "status": "active",
    "setup_checksum": "string",
    "current_version": 1,
    "platforms": [
      "string"
    ],
    "topics": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "title": "string"
      }
    ],
    "prompts": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "text": "string",
        "topic_id": "646807af-5da6-43aa-83d3-8ac1d15ab4e5"
      }
    ],
    "competitors": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "url": "string"
      }
    ]
  },
  "request_id": "string"
}
```
