---
title: "Get result segments (v4)"
method: GET
path: "/api/v1/research/result-segments-v4/{id}"
tags: ["research"]
---

# Get result segments (v4)

`GET /api/v1/research/result-segments-v4/{id}`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/research/result-segments-v4/{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 one Research campaign's results campaign-wide and under each audience, channel, store, product (revenue line), tone and topic entry: for every question research_results_get_v7 shows, in study order, the campaign-wide figure and each entry's, counted as research_results_get_v7 counts it with that entry as `segments` (answers, distinct respondents, slices, lead figure, a scale's average). Entries are the audiences, channels and stores research_campaign_segments_get lists (same ids and labels), then the products the campaign's customers carry, each with the most answers any question counted under it; a respondent counts under the entries of the customer version they answered as. Pass dateRange as research_results_get_v7 takes it, or runId for one saved run as it ran; axis reads one axis's entries, each counted as in the full read. Another organization's campaign or run is not found.

## Path parameters

- `id` string, uuid, required: The campaign id from research.campaigns.list.v1.

## Query parameters

- `runId` string, uuid: One of the campaign's customer-triggered runs, read as it ran. Omit for the date range.
- `axis` 'audience' | 'channel' | 'store' | 'product' | 'sentiment' | 'topic': One axis: its entries alone, each figure exactly as the read of every axis counts it. Omit for every axis.

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- ResearchResultSegmentsGetV4Response
  - `campaignId` string, uuid, required
  - `description` string, nullable, required: The study's description as its author wrote it; null when it has none.
  - `runId` string, uuid, nullable, required: The run whose synthesis the cards show; null before any run.
  - `segments` object[], required: Every audience, then channel, then store, then product (revenue line) entry, each axis by label; then each tone a respondent's toned open answers mostly took (a tie places it under none), then the topics the most respondents' answer tags carry, by label. A respondent counts under every topic its answers carry.
    - `axis` 'audience' | 'channel' | 'store' | 'product' | 'sentiment' | 'topic', required
    - `id` string, required: The entry's id: an audience, channel or store entry's as research.campaign-segments.get.v1 lists it, a product's revenue line id from the business profile's revenue mix, a tone (positive, neutral, negative), or a topic's tag text folded by case and spacing.
    - `label` string, required
    - `respondents` integer, required: The most answers any one question counted under the entry.
  - `questions` object[], required
    - `id` string, required: The question id.
    - `badge` string, required
    - `question` string, required
    - `shape` 'open_ended' | 'closed_ended' | 'multi_select' | 'rank' | 'matrix' | 'scale' | 'computer_task', nullable, required: The question's authored type; null when it has left the instrument.
    - `summary` string, nullable, required: The run's synthesized summary, campaign-wide.
    - `overall` object, required: The figure campaign-wide.
      - `n` integer, required: The accepted answers the figure counts, as research.results.get.v5's sampleCount.
      - `slices` object[], required
        - `label` string, required
        - `value` number, required: A whole percent, 0 to 100.
        - `tone` 'positive' | 'neutral' | 'negative', required
        - `averageRank` number: A ranked option's mean position, 1 = first; ranking questions only.
        - `optionIndex` integer: The option's place among the question's authored options, 0 = first; counted choice and ranking figures only.
      - `primary` object, nullable, required: The figure the card leads with; null unanswered.
        - `label` string, required
        - `value` number, required: A whole percent, 0 to 100.
        - `tone` 'positive' | 'neutral' | 'negative', required
        - `averageRank` number: A ranked option's mean position, 1 = first; ranking questions only.
        - `optionIndex` integer: The option's place among the question's authored options, 0 = first; counted choice and ranking figures only.
      - `average` object, nullable, required: A scale's or matrix's mean rating on its authored range; null otherwise.
        - `value` number, required
        - `max` number, required
      - `customers` integer, required: Distinct respondents behind those answers: the sample the figure stands on, whose precision it reads.
    - `segments` object[], required: The figure under each entry, in the order `segments` lists the entries.
      - `axis` 'audience' | 'channel' | 'store' | 'product' | 'sentiment' | 'topic', required
      - `id` string, required
      - `n` integer, required: The accepted answers the figure counts, as research.results.get.v5's sampleCount.
      - `slices` object[], required
        - `label` string, required
        - `value` number, required: A whole percent, 0 to 100.
        - `tone` 'positive' | 'neutral' | 'negative', required
        - `averageRank` number: A ranked option's mean position, 1 = first; ranking questions only.
        - `optionIndex` integer: The option's place among the question's authored options, 0 = first; counted choice and ranking figures only.
      - `primary` object, nullable, required: The figure the card leads with; null unanswered.
        - `label` string, required
        - `value` number, required: A whole percent, 0 to 100.
        - `tone` 'positive' | 'neutral' | 'negative', required
        - `averageRank` number: A ranked option's mean position, 1 = first; ranking questions only.
        - `optionIndex` integer: The option's place among the question's authored options, 0 = first; counted choice and ranking figures only.
      - `average` object, nullable, required: A scale's or matrix's mean rating on its authored range; null otherwise.
        - `value` number, required
        - `max` number, required
      - `customers` integer, required: Distinct respondents behind those answers: the sample the figure stands on, whose precision it reads.
  - `range` ResearchRangeVariant, required
    - `from` string, date, required: The range's first UTC day, never before the campaign's first interview.
    - `to` string, date, required: The range's last UTC day, never past today.
    - `interactionCount` integer, required: The interviews completed on the range's days, under the scope.
    - `customerCount` integer, required: The distinct customers of those interviews.
  - `interactionDays` object, nullable, required: The days of the campaign's first and last interviews, whatever the range; null before its first and on a saved run's.
    - `first` string, date, required: The UTC day of the campaign's first interview.
    - `last` string, date, required: The UTC day of its last.
  - `widenedToAllTime` boolean, required: A dateRange with widenWhenEmpty held no interview, so the figures read All time.

## 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/5241805fe425?raw)
