---
title: "Get campaign settings quotes"
method: GET
path: "/api/v1/experience/campaign-settings-quotes/{id}"
tags: ["experience"]
---

# Get campaign settings quotes

`GET /api/v1/experience/campaign-settings-quotes/{id}`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/experience/campaign-settings-quotes/{id}`
- 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`)

Review a Save of an Experience campaign's settings before making it, writing nothing: each change and when it starts (from the next cycle planned; a cycle already planned keeps what it planned), the change in estimated monthly visits at today's price, Billing's answer to the extra work and how the change reaches results. Pass the settingsRevision experience_campaign_settings_get returned as expectedSettingsRevision; refused when the settings changed since. `id` is the campaign's id.

## Path parameters

- `id` string, uuid, required: The Experience campaign's id.

## Query parameters

- `expectedSettingsRevision` integer, required: The settingsRevision the settings read (or a quote) returned.
- `name` string: The campaign's new name.
- `browserDevices` string[]: The devices each next cycle visits on: the whole set, at least one.
- `agents` string[]: The agents that shop every next cycle, each on every customer, page and device: the whole set, at least one. point11 is Point11's own shopper; the others run the model their vendor's agent most likely uses, in Point11's browser. An added agent starts with the next cycle; a cycle already planned keeps its agents. A Mirror (Pulse) shops with point11 alone.
- `addCustomerIds` string[]: Customers the next cycles also visit with.
- `removeCustomerIds` string[]: Customers taken off the list: they stop at once, even in a cycle already planned, and their past visits stay.
- `customerVersionPolicy` 'pinned' | 'latest': Every new cycle uses each customer's newest version, so `latest` changes nothing. `pinned` is no longer a choice: 409 PRECONDITION_FAILED, details.reason invalid_change, details.field customerVersionPolicy.

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- ExperienceCampaignSettingsQuotesGetResponse
  - `settingsRevision` integer, required: The settings revision this quote read; pass it as expectedSettingsRevision.
  - `requiresReview` boolean, required: Whether the Save changes money or results, so Billing is asked about its work and a quoted estimate is re-checked; false when it changes only the name.
  - `changes` DiscoveryItem[], required: Each change and when it starts.
    - `field` string, required: The setting this change moves, in the product's own word (engines, customers…).
    - `summary` string, required: The change and when it starts, in plain words.
    - `starts` 'now' | 'next_run' | 'next_cycle' | 'next_admission_day' | 'when_ready', required: When the change takes effect.
    - `startsAt` string, date-time, nullable, required: The instant it takes effect when known; null when it waits on setup.
  - `estimate` DiscoveryEstimate, nullable, required: The change in estimated monthly usage; null when no work changes.
    - `unit` object, required: What a unit of work is: a conversation, a visit, an interview.
      - `singular` string, required
      - `plural` string, required
    - `monthlyBefore` integer, required: Estimated units a month today.
    - `monthlyAfter` integer, required: Estimated units a month after the Save.
    - `unitPriceCents` integer, nullable, required: Today's price of one unit, in cents; null when Billing could not price it.
    - `monthlyChangeCents` integer, nullable, required: The change in estimated monthly cost, in cents; null when unpriced.
    - `oneTime` object[], required: One-time work the Save starts.
      - `kind` 'customer_generation' | 'catch_up_run' | 'store_setup' | 'places_search', required
      - `summary` string, required: The work, in plain words.
      - `quantity` integer, required: How many units of it.
      - `amountCents` integer, nullable, required: Its estimated cost at today's price, in cents; null when it has no estimate.
  - `billing` union, required
    - object
      - `outcome` 'not_needed', required
    - object
      - `outcome` 'admitted', required
    - object
      - `outcome` 'refused', required
      - `reason` string, required: Billing's refusal reason.
      - `message` string, required: Billing's refusal, in its own words.
      - `paymentDisputeHold` boolean, required: Whether the account is held for a payment dispute, which a new card does not lift.
  - `resultsNote` string, nullable, required: How the change reaches results; null when results do not change.
  - `reviewedEstimate` object, nullable, required: The estimate a quote returned (its reviewedEstimate): the Save is refused if it moved. Null saves at the current estimate.
    - `monthlyAfter` integer, required
    - `unitPriceCents` integer, nullable, required
    - `oneTimeAmountCents` integer, nullable, required

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `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)
