---
title: "Retry campaign setups"
method: POST
path: "/api/v1/discovery/campaign-setups/retry"
tags: ["discovery"]
---

# Retry campaign setups

`POST /api/v1/discovery/campaign-setups/retry`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/discovery/campaign-setups/retry`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

Retry a campaign's setup, typically after it failed: start a new full measurement run of the whole panel. The run is admitted and charged like any Discovery run (it consumes plan allowance, and overage only where the organization allows it). Responds at once with the run id; read progress with platform_runs_get_v2.

## Headers

- `Point11-Organization` string, uuid
- `Idempotency-Key` string, uuid, required

## Request body

- DiscoveryCampaignSetupsRetryRequest
  - `campaignId` string, uuid, required: The campaign whose setup to retry.

## Response `202`

Accepted: the durable run started. Follow it with `GET /api/v1/platform/runs-v2/{id}`.

- DiscoveryCampaignSetupsRetryResponse
  - `runId` string, required: The run's id; read its progress with platform.runs.get.
  - `entryId` string, required: The campaign entry this request started; read its progress with campaigns.campaign-entries.get.v1.
  - `status` 'started', required
  - `campaignId` string, required

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `402`: Billing refused the write: the code names the reason and `details.reason` carries it.
- `403`: The credential lacks the operation's scope or role, or the operation needs a different door.
- `404`: The resource or organization does not exist for this caller.
- `405`: This path takes another HTTP method, named in `Allow`.
- `409`: The request conflicts with current state or with prior use of its Idempotency-Key.
- `413`: The request, or the answer it asks for, is too large; narrow it.
- `429`: The credential's rate budget is spent; retry after `Retry-After` seconds.
- `500`: An unexpected server failure; retry later. Only `request_id` identifies it.
- `503`: A dependency is temporarily unavailable; retry after `Retry-After` seconds.
- `default`: Another status a product answers for its own refusal (for example `415` for an unsupported attachment); branch on `code`.

---

[API](https://skmtc.dev/point11/apis/point11-api.md) · [All operations](https://skmtc.dev/point11/apis/point11-api/llms.txt) · [OpenAPI document](https://skmtc.dev/point11/apis/point11-api/revisions/36a84c7aca11?raw)
