---
title: "Get campaign analytics (v9)"
method: GET
path: "/api/v1/experience/campaign-analytics-v9/{id}"
tags: ["experience"]
---

# Get campaign analytics (v9)

`GET /api/v1/experience/campaign-analytics-v9/{id}`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/experience/campaign-analytics-v9/{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`)

Get an Experience campaign's measured figures for one breakdown (such as overview, devices or frictions) over a date range and optional customer segments. Each figure is over the campaign's interactions (each visit with a verdict: every website, device, repetition and cycle) in the 30 UTC days ending its day: a single figure as of results.asOf (the range's end, or its last interaction day before), a line one point per day (null where its 30 days hold none), a change the figure minus its value 30 days earlier. A rate is a share of the window's interactions, null with none; figures carry no interval and state the distinct customers behind them (passCustomers, ratedCustomers, earlierPassCustomers). The Experience Score (0 to 100; no single journey has one) is pass rate × (50 + 10 × average stars on passes), null without stars. On overview and revenue, revenueValue is the own website's Experience dollars against competitors over the window's pairs, with each product's assumptions and point value (overview adds revenueValueTrend, revenueValueChange); a point of a product's gap is worth its AI-influenced market (SAM × AI influence, Tools › Products) ÷ 100. drivers count per website passed journeys with a strength (wins) and failed ones with an issue (losses), named by the Advisor from the scorer's notes (a failure blamed on the shopper is none); the overview also counts the own website against each competitor over matched pairs (against). Set panels to also read the overview panels.

## Path parameters

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

## Query parameters

- `destination` string, nullable: A campaign website's id (destinations[].id) or name; absent reads the campaign's own measured website
- `tab` 'overview' | 'revenue' | 'audiences' | 'channels' | 'topics' | 'locations' | 'competitors' | 'engines' | 'sentiment' | 'forecast', required: Which breakdown to read: overview, a segment dimension, or competitors
- `panels` boolean: Also read the overview panels (customerLocations and replayJourneys, as experience_campaign_overview_get_v7 answers them) in the same read, under the same scope; panels is null when false

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- ExperienceCampaignAnalyticsGetV9Response
  - `latestEntry` ExperienceLatestEntry, required
    - `id` string, required
    - `sequence` integer, required: The entry's ordinal among its campaign's entries, from 1.
    - `failureReason` string, nullable, required: The code the entry settled with when it failed or was cancelled (for example no_unit_delivered or no_eligible_customers); null otherwise, or when it recorded no code.
    - `progress` ResearchProgress, required: The entry's units, counted from its product's delivered evidence.
      - `unitLabel` 'visit' | 'interview' | 'conversation', required: What one unit of this entry's work is: an Experience visit, a Research interview, a Discovery conversation.
      - `admission` 'entry' | 'unit', required: `entry`: the entry's work is admitted and billed once; `unit`: each unit is.
      - `counts` object, required
        - `admitted` integer, required: Units admitted to run.
        - `delivered` integer, required: Settled units the product counts as delivered.
        - `failed` integer, required: Units that ended without delivering: counted as each one ends where the entry's work is admitted once, and when a unit's own admission settles where each unit is.
        - `open` integer, required: Units that have not ended yet.
      - `outcome` 'running' | 'succeeded' | 'failed' | 'cancelled' | 'partial', required: Running until the entry settles; failed or cancelled when its product settled it so (a failed final result still counts the units it delivered); otherwise counted from the units: succeeded when every admitted unit delivered, partial when some did, failed when none did. An entry its product settled succeeded whose units no longer exist (all counts 0) stays succeeded.
      - `failureReasons` object[], required: Why the failed units failed, one row per reason with how many units it ended. A unit that failed while its admission still runs has no reason until that settles.
        - `reason` string, required
        - `count` integer, required
  - `campaign` ExperienceCampaign, required
    - `id` string, required
    - `key` string, required
    - `name` string, required
    - `mode` 'pulse' | 'burst', required
    - `status` 'active' | 'paused' | 'archived' | 'deleted', required
    - `objective` string, nullable, required
    - `profileUrl` string, required
    - `sourceDiscoveryCampaignName` string, nullable, required
    - `locationCount` integer, required
    - `pulseSampleEvery` integer, nullable, required
    - `createdAt` string, date-time, required
    - `agents` string[], required: The agents the campaign's cycles shop with from now, in product order: the segment scope's agent options (experience_campaign_segments_get's agents). point11 is Point11's own shopper; every other is simulated: the model its vendor's consumer agent runs, in Point11's browser
  - `destinations` object[], required
    - `id` string, required
    - `name` string, required
    - `url` string, nullable, required
    - `hostname` string, nullable, required
    - `isOriginalTarget` boolean, required
  - `selectedDestination` object, nullable, required
    - `id` string, required
    - `name` string, required
    - `url` string, nullable, required
    - `hostname` string, nullable, required
    - `isOriginalTarget` boolean, required
  - `dateScope` ExperienceDateScope, required
    - `window` object, nullable, required: The window the figures actually cover; null is all time
      - `from` string, date-time, required
      - `to` string, date-time, required
    - `widenedToAllTime` boolean, required
    - `availableDateRange` object, nullable, required: The days of the campaign's first and last interaction under the segment scope; null before its first
      - `from` string, date, required
      - `to` string, date, required
    - `outOfRange` object, nullable, required: Set when the requested window holds none of the campaign's interactions: the days of its first and last
      - `firstDay` string, date, required
      - `lastDay` string, date, required
  - `results` ExperienceResults, nullable, required: Every figure is over the campaign's interactions dated in the 30 UTC days ending with its day: a single figure as of asOf, a line one point per day from `from` to `to`. Null when the campaign has no interaction on or before the range's end under the scope
    - `from` string, date, required: The first UTC day a trend plots: the range's, never before the first interaction.
    - `to` string, date, required: The last UTC day a trend plots: the range's end, never past today.
    - `asOf` string, date, required: The UTC day every single value is as of: its value is the average over the campaign's interactions dated in the 30 days ending with it. The range's end, or, when those 30 days hold none, the last day with an interaction.
    - `comparedTo` string, date, required: The day a change compares with: 30 days before asOf.
    - `interactionCount` integer, required: The interactions dated in the 30 days ending asOf, under the scope.
    - `customerCount` integer, required: The distinct customers of those interactions.
    - `campaignCustomerCount` integer: Under a segment scope: the whole campaign's distinct customers in the same 30 days on the same website, unscoped (customers a precision order added for a group count only in that group's readings). Absent when the read is unscoped, whose customerCount is the campaign's.
    - `bucketCustomerCount` integer: Under a scope that names a customer bucket (an attribute or a store): the distinct customers inside it in the same 30 days. Absent without one.
  - `scopeEntries` object[], required: The read's customer and store segment entries the campaign holds, each with its label, in the order asked. An entry the campaign does not hold is not listed, and narrows the read to nothing. The agent entry is scopeAgent.
    - `axis` 'customer' | 'store', required
    - `id` string, required
    - `label` string, required: The entry's name, as experience_campaign_segments_get names it
  - `scopeAgent` object, nullable, required: The agent entry the read applied: every figure is of that agent's visits alone. Null when the segment scope names no agent: the figures pool every agent's visits, and instrument names each agent's changes
    - `id` 'point11' | 'dots' | 'spark' | 'muse' | 'grok_bot', required
    - `label` string, required: The agent's brand, as experience_campaign_segments_get names it
  - `competition` ExperienceCompetition, required: What every read against competitors stands on, so a reader can say why revenueValue is null, or why a campaign has no Brands map or Matrix to draw
    - `ownWebsite` boolean, required: The campaign has one website of its own to set against competitors: its measured site, else its one page. False for a campaign of several pages and no measured site, which states no gap and no dollars
    - `shopsCompetitors` boolean, required: Discovery named a competitor for the campaign, ready to shop or not. False for a campaign that shops its own website alone, which has nothing to be valued against and no Brands map to draw
    - `readsDiscovery` boolean, required: The campaign names a Discovery campaign the organization still holds, the one its competitors and how often AI picks each brand are read from. False when it names none or the one it named is gone, so the Matrix map has nothing to plot
  - `metrics` object, required
    - `plannedCount` integer, required
    - `finishedCount` integer, required
    - `queuedCount` integer, required
    - `runningCount` integer, required
    - `limitedCount` integer, required
    - `scoredCount` integer, required
    - `passedCount` integer, required
    - `failedCount` integer, required
    - `experienceScore` number, nullable, required: A roll-up over these visits, never a visit's own figure: passRate times the points averageQualityStars earns; null when nothing was judged, or when passes carry no star rating
    - `passRate` number, nullable, required: Site pass rate, %: met journeys over the window's journeys less failures the evaluator blamed on the shopper; null when there are none
    - `shopperExcludedCount` integer, required
    - `siteFailureRate` number, nullable, required
    - `topBoxRate` number, nullable, required
    - `eligibleCustomers` integer, required
    - `passCustomers` integer, required: Distinct customers behind passRate's journeys: the sample it stands on
    - `earlierPassCustomers` integer, required: The same over the 30 days before results.asOf, which changes.passRate compares with
    - `averageQualityStars` number, nullable, required
    - `qualityRatedCount` integer, required
    - `ratedCustomers` integer, required: Distinct customers behind the rated journeys averageQualityStars is the mean of
    - `coverage` object, required: The website's evaluated visits in the as-of window: the measured ones every rate stands on, and those no rate counts
      - `measured` integer, required: Interactions: visits whose scorer gave a verdict (pass or fail), the journeys every rate is over
      - `couldNotTell` integer, required: Visits the scorer could not tell for a reason other than blocked (policy, infrastructure, cut short, does not apply); in no rate
      - `blocked` integer, required: Visits the scorer could not tell because a bot wall, CAPTCHA, access-denied page or login stopped them; in no rate
    - `changes` object, required: Each figure minus its value 30 days before results.asOf, in points (stars for averageQualityStars); null unless both days measured it
      - `experienceScore` number, nullable, required
      - `passRate` number, nullable, required
      - `siteFailureRate` number, nullable, required
      - `topBoxRate` number, nullable, required
      - `averageQualityStars` number, nullable, required
    - `trends` object, required: One point per day from results.from to results.to
      - `experienceScore` object[], required
        - `day` string, date, required: UTC day; the value is its trailing 30-day window's.
        - `value` number, nullable, required: Null where that window holds no interaction.
      - `passRate` object[], required
        - `day` string, date, required: UTC day; the value is its trailing 30-day window's.
        - `value` number, nullable, required: Null where that window holds no interaction.
      - `averageQualityStars` object[], required
        - `day` string, date, required: UTC day; the value is its trailing 30-day window's.
        - `value` number, nullable, required: Null where that window holds no interaction.
  - `segments` object[], required
    - `id` string, required
    - `label` string, required
    - `journeyCount` integer, required
    - `passedCount` integer, required
    - `failedCount` integer, required
    - `shopperExcludedCount` integer, required
    - `qualityRatedCount` integer, required
    - `passRate` number, nullable, required
    - `averageQualityStars` number, nullable, required
    - `experienceScore` number, nullable, required
    - `eligibleCustomers` integer, required
    - `passCustomers` integer, required: Distinct customers behind the row's pass rate: the sample it stands on
    - `earlierPassCustomers` integer, required: The same over the 30 days before results.asOf, which passRateChange compares with
    - `passRateChange` number, nullable, required
    - `experienceScoreChange` number, nullable, required
    - `vsTotalsPts` number, nullable, required
    - `experienceScoreVsTotalsPts` number, nullable, required
    - `coverage` object, nullable, required: The website's evaluated visits in the as-of window: the measured ones every rate stands on, and those no rate counts
      - `measured` integer, required: Interactions: visits whose scorer gave a verdict (pass or fail), the journeys every rate is over
      - `couldNotTell` integer, required: Visits the scorer could not tell for a reason other than blocked (policy, infrastructure, cut short, does not apply); in no rate
      - `blocked` integer, required: Visits the scorer could not tell because a bot wall, CAPTCHA, access-denied page or login stopped them; in no rate
  - `drivers` object[], required: Why journeys passed and failed, per breakdown row, as of results.asOf: a win counts the row's passed journeys that carried a strength that issue grouping named from the reasons the scorer said helped them (key strength:<label>), a loss its failed journeys that carried an issue that issue grouping named from their frictions and the reasons that hurt them (key issue:<label>); findings no grouping run has grouped yet count as Not grouped yet (key ungrouped:strength or ungrouped:issue), a visit scored before the scorer named reasons carries no strength, and a failure blamed on the shopper is no loss. On the overview and competitors tabs a row is a website, its own journeys; on the overview the campaign's own website is also counted against each competitor over their matched pairs (against), a win where its visit beat theirs (a pass over a failure, or more stars) and a loss where theirs beat it
    - `segmentId` string, required
    - `against` string, nullable, required: On the overview tab, for the campaign's own website: the competitor (a destinations id) whose matched pairs this reason is counted over; null for the row's own journeys
    - `kind` 'win' | 'loss', required
    - `key` string, required
    - `label` string, required
    - `count` integer, required
    - `eligibleCustomers` integer, required
  - `failures` object[], required
    - `key` 'site' | 'shopper' | 'external', required
    - `count` integer, required
  - `stars` object[], required
    - `stars` integer, required
    - `count` integer, required
  - `series` object, required
    - `segments` object, required: Each breakdown row's Experience Score, one point per day of the range
    - `segmentCounts` object[], required: How many rows each day's window measured
      - `day` string, date, required: UTC day; the value is its trailing 30-day window's.
      - `value` number, nullable, required: Null where that window holds no interaction.
  - `instrument` object, required
    - `changes` object[], required: Each instrument change among the interactions the figures read, oldest first
      - `day` string, required: The UTC day from which the changed instrument measured
      - `kind` 'scorer' | 'shopper' | 'models' | 'browser', required: scorer: the scoring call's prompt, task or answer schema version moved; shopper: the shopper's Computer Use call's prompt or task version moved; models: the frozen model plan the visits ran under changed, between cycles or re-frozen mid-cycle; browser: the browser conditions one website's visits on one device were frozen under changed (emulation, frame, automation waits, certificate, ad and CAPTCHA settings, connection access). Each marks every figure of the read, whichever website it was measured on
      - `version` string, nullable, required: The call versions measured from day, joined by ' · ': a scorer's prompt, task and answer schema versions, a shopper's prompt and task versions; null for a models or browser change
      - `agents` string[], required: The agents whose visits it measured differently, in product order: each agent's visits are a series of their own (its models are its own shopper call's and the shared ones, never another agent's), so a repin of one agent's model names that agent alone, and a read of every agent names each agent's changes
    - `comparable` boolean, required: No change falls between the start of the window ending results.comparedTo and results.asOf, so every change compares like with like; false: the changes span an instrument change and no significance is claimed for them
  - `destinationIcons` object, required: Each website's stored favicon by destinations[].id; one without (no URL, or none stored) is absent and draws its name's initial
  - `panels` object, nullable, required
    - `customerLocations` object[], required
      - `customerId` string, required
      - `addressDetail` object, nullable, required
      - `countryCode` string, nullable, required
      - `subdivisionCode` string, nullable, required
      - `location` object, required
        - `country` string, nullable, required
        - `countryCode` string, nullable, required
        - `admin1` string, nullable, required
        - `admin1Code` string, nullable, required
        - `city` string, nullable, required
        - `street` string, nullable, required
        - `postcode` string, nullable, required
        - `latitude` number, nullable, required
        - `longitude` number, nullable, required
        - `coordinateSource` 'source' | 'derived_descendants' | 'unavailable' | 'street_address', nullable, required
        - `label` string, nullable, required
      - `journeyCount` integer, required
      - `finishedCount` integer, required
      - `scoredCount` integer, required
      - `judgedCount` integer, required
      - `passedCount` integer, required
    - `replayJourneys` object[], required
      - `runId` string, required
      - `inProgress` boolean, required
      - `executionStatus` 'scheduled' | 'waiting' | 'running' | 'completed' | 'failed' | 'cancelled', nullable, required
      - `customerId` string, required
      - `customerName` string, required
      - `customerJobTitle` string, nullable, required: The customer's job title as the visit's scenario froze it; null when it named none
      - `destinationName` string, required
      - `destinationFingerprint` string, nullable, required: The website's id (experience_campaigns_get_v3's destinations[].id, which destinationFingerprint filters by); null for a visit no campaign website holds
      - `browserDevice` 'desktop' | 'mobile' | 'ios_safari', required
      - `agent` 'point11' | 'dots' | 'spark' | 'muse' | 'grok_bot', required: The agent that shopped the visit; point11 (Point11's own shopper) for a visit no campaign planned. Another agent's visit of the same customer, website and device is another row (visitIdentity.key ends in :<agent>)
      - `nativeApp` object, nullable, required
        - `platform` 'ios' | 'android', required
        - `buildId` string, uuid, required
        - `sha256` string, required
        - `appId` string, required
        - `versionLabel` string, required
        - `deviceName` string, required
        - `osVersion` string, required
      - `unavailableReason` string, nullable, required
      - `achieved` boolean, nullable, required
      - `qualityStars` number, nullable, required
      - `completedAt` string, date-time, nullable, required
      - `actionCount` integer, required
      - `durationMs` number, nullable, required
      - `evidenceDisposition` 'sufficient' | 'insufficient' | 'policy_limited' | 'infrastructure_limited' | 'scenario_mismatch'
      - `recording` object, required
        - `thumbnailArtifactId` string, nullable, required: The journey's stored thumbnail: its first captured screen as a WebP sized for the overview's replay card (kind thumbnail), downloaded with experience_run_artifacts_download_v3; null until it is stored
        - `recorded` boolean, required: Whether the journey captured any screen: one that did and has no thumbnail yet still has a recording to watch
  - `revenueValue` ExperienceRevenueValue, required
    - `foundPairs` integer, required: Every matched pair there is, whether or not both sides have an Experience Score yet: matchedPairs plus the pairs of the comparisons a side has no score on
    - `matchedPairs` integer, required: Matched pairs: one journey on the campaign's website with the same customer's journey on one competitor's, so a customer who shopped three competitors is three pairs. Counted over the comparisons with an Experience Score on both sides
    - `ourMatchedScore` number, nullable, required: The campaign's own website's Experience Score over the matched pairs alone, 0 to 100, each competitor weighted by its matched pairs
    - `competitorScore` number, nullable, required: The competitors' Experience Score over the same pairs, each weighted by its matched pairs
    - `gapPts` number, nullable, required: ourMatchedScore less competitorScore, in points
    - `customers` integer, required: Distinct customers behind the pairs found: the sample the gap's precision reads (98/√n points, Standard at ±5.0 or tighter: 385 customers)
    - `experienceUsd` number, nullable, required: Experience dollars, plus or minus against the competitors: the lines' experienceUsd added up, each line valued apart; null when no line has any. They are over the lines with economics, while gapPts beside them is over every comparison, so the two do not multiply into each other
    - `valuedLines` integer, required: How many of lines have experienceUsd
    - `valuedCustomers` integer, required: Distinct customers behind the pairs of the revenue lines with economics, each once however many of those lines its scenarios froze: the sample the dollars' precision reads; 0 without dollars
    - `passRate` object, required: The site pass rate over the matched pairs, 0 to 100, ours and the competitors'
      - `oursPct` number, nullable, required
      - `theirsPct` number, nullable, required
      - `gapPts` number, nullable, required: oursPct less theirsPct, in points
    - `averageStars` object, required: Mean stars over the rated journeys of the matched pairs, ours and the competitors'
      - `ours` number, nullable, required
      - `theirs` number, nullable, required
    - `lines` object[], required: Every product (revenue line) with a matched pair, most AI-influenced sales first; the journeys of no product are one of them, with assigned false
      - `id` string, required: The product's id: its revenue line id
      - `label` string, required
      - `assigned` boolean, required: False for the journeys whose scenario names no product (revenue line): they count in every gap and have no economics and no dollars
      - `economics` object, nullable, required: The line's company-scope market assumptions in Tools › Products today, as business.revenue-lines.list values them; null without complete assumptions
        - `annualSalesUsd` number, required
        - `aiInfluencePct` number, required
        - `serviceableAvailableMarketUsd` number, required: SAM: annual sales ÷ market share
        - `aiInfluencedSalesUsd` number, required: Annual sales × AI influence: the brand's own sales AI assistants influence
        - `aiInfluencedMarketUsd` number, required: SAM × AI influence, a year: one point of the gap is a hundredth of it
      - `point` object, nullable, required: What one point of Experience Score gap is worth on the line, aiInfluencedMarketUsd ÷ 100; null without economics or a matched score
        - `pointValueUsd` number, required: One point of the line's gap, in dollars
        - `basis` 'ceiling', required: Always ceiling: a point is aiInfluencedMarketUsd ÷ 100, whatever the score
      - `foundPairs` integer, required: Every matched pair there is, whether or not both sides have an Experience Score yet: matchedPairs plus the pairs of the comparisons a side has no score on
      - `matchedPairs` integer, required: Matched pairs: one journey on the campaign's website with the same customer's journey on one competitor's, so a customer who shopped three competitors is three pairs. Counted over the comparisons with an Experience Score on both sides
      - `ourMatchedScore` number, nullable, required: The campaign's own website's Experience Score over the matched pairs alone, 0 to 100, each competitor weighted by its matched pairs
      - `competitorScore` number, nullable, required: The competitors' Experience Score over the same pairs, each weighted by its matched pairs
      - `gapPts` number, nullable, required: ourMatchedScore less competitorScore, in points
      - `customers` integer, required: Distinct customers behind the pairs found: the sample the gap's precision reads (98/√n points, Standard at ±5.0 or tighter: 385 customers)
      - `experienceUsd` number, nullable, required: point.pointValueUsd × gapPts, plus or minus; null without a point or a gap
      - `competitors` object[], required: The line against each competitor, most pairs found first
        - `id` string, required: The competitor's website id, as destinations[].id names it
        - `foundPairs` integer, required: Every matched pair there is, whether or not both sides have an Experience Score yet: matchedPairs plus the pairs of the comparisons a side has no score on
        - `matchedPairs` integer, required: Matched pairs: one journey on the campaign's website with the same customer's journey on one competitor's, so a customer who shopped three competitors is three pairs. Counted over the comparisons with an Experience Score on both sides
        - `ourMatchedScore` number, nullable, required: The campaign's own website's Experience Score over the matched pairs alone, 0 to 100, each competitor weighted by its matched pairs
        - `competitorScore` number, nullable, required: The competitors' Experience Score over the same pairs, each weighted by its matched pairs
        - `gapPts` number, nullable, required: ourMatchedScore less competitorScore, in points
        - `customers` integer, required: Distinct customers behind the pairs found: the sample the gap's precision reads (98/√n points, Standard at ±5.0 or tighter: 385 customers)
        - `experienceUsd` number, nullable, required: This competitor's part of the line's dollars: the line's point by its share of the line's matched pairs, × its gap. A line's parts add up to the line, to the cent
    - `competitors` object[], required: Each competitor's dollars across the lines; they add up to experienceUsd, to the cent. Largest in size first
      - `id` string, required
      - `experienceUsd` number, nullable, required
      - `valuedPairs` integer, required: The competitor's matched pairs on the lines its experienceUsd is parts of: the pairs its dollars stand on, none of a line without economics; 0 without dollars
      - `valuedCustomers` integer, required: Distinct customers behind the competitor's pairs on the revenue lines with economics, each once; 0 without dollars
  - `revenueValueTrend` object[], required: On the overview tab, revenueValue's experienceUsd per day from results.from to results.to, each day's own 30-day window valued by the same formula at each line's point in revenueValue; null where it values nothing. Empty on every other tab and wherever revenueValue is not read
    - `day` string, date, required: UTC day; the value is its trailing 30-day window's.
    - `value` number, nullable, required: Null where that window holds no interaction.
  - `revenueValueChange` number, nullable, required: On the overview tab, revenueValue's experienceUsd less its value 30 days before results.asOf; null unless both days value something

## 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)
