---
title: "Export results (v2)"
method: GET
path: "/api/v1/research/results/export-v2"
tags: ["research"]
deprecated: true
---

# Export results (v2)

`GET /api/v1/research/results/export-v2`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/research/results/export-v2`
- 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`)

> **Deprecated.**

Deprecated: use reports.report-tables.export.v1 (reports_report_tables_export), which exports a report of research.answers counted by the same read. This version exports research.results.get.v5's read with its published columns: its two change columns are always empty, since a range compares with nothing. Export one Research campaign's results as CSV, as the results page draws them under the same scope, one line per answer row of each question. Answers the whole file inline as `content`. Pass from and to for the date range, runId for one saved run, and segments to narrow the figures.

## Query parameters

- `id` string, uuid: The campaign id from research.campaigns.list.v1; optional with runId, whose own campaign is read.
- `runId` string, uuid: One customer-triggered run, read as it ran; without id its own campaign is read, with id it must be that campaign's. Omit for the date range.
- `segments` string[]: Entries from research.campaign-segments.get.v1 as `axis:id`; figures count only respondents inside them. Accepts only the audience, channel, store, customer axes; an entry on any other axis is refused as 400 INVALID_INPUT.
- `from` string, date: The date range's first UTC day; omit both from and to for the last 90 days, widened to All time when they hold no interview, or from alone for All time.
- `to` string, date: The date range's last UTC day; omit for today.

## Headers

- `Point11-Organization` string, uuid

## Response `200`

Success.

- ResearchResultsExportV2Response
  - `fileName` string, required
  - `mediaType` 'text/csv', required
  - `content` string, required: The whole file: a header line, then one line per answer row.
  - `rowCount` integer, required: Lines after the header.

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