---
title: "Read an export job's status and stable schema manifest."
method: GET
path: "/v1/exports/{id}"
---

# Read an export job's status and stable schema manifest.

`GET /v1/exports/{id}`

## Request

- Base URL: `http://127.0.0.1:8080`
- URL: `http://127.0.0.1:8080/v1/exports/{id}`
- Auth: HTTP bearer

Authorized polling resumes queued work and reclaims expired execution leases within the caller workspace.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Likerts-Workspace` string

## Response `200`

Success

- ExportJob
  - `id` string, uuid, required
  - `format` 'csv' | 'json', required
  - `status` 'queued' | 'running' | 'ready' | 'failed' | 'revoked', required
  - `createdAt` string, date-time, required
  - `expiresAt` string, date-time, required
  - `responseCount` integer, nullable, required
  - `contentSha256` string, nullable, required
  - `manifest` ExportManifest, required
    - `formatVersion` unknown, required
    - `responseCount` integer, required
    - `snapshotUpperSequence` integer, required
    - `collectionId` string, uuid, nullable, required
    - `acceptedFrom` string, date-time, nullable, required
    - `acceptedTo` string, date-time, nullable, required
    - `schemas` ExportSchema[], required
      - `surveyId` string, uuid, required
      - `version` integer, required
      - `schemaVersion` integer, required
      - `title` string, required
      - `questions` Question[], required
        - union: Question IDs must be unique within a survey; option IDs unique within each question; min must not exceed max. Backend validates these cross-field constraints. Expanded fields are permitted only on their respective types. preset, labels, minSelections or maxSelections require schemaVersion 2. visibleWhen, Other/exclusive choices or presentation require schemaVersion 3. Hidden answers are discarded before validation and persistence; hidden required questions are not required. ranking, matrix or constant_sum requires schemaVersion 5.
          - SingleChoiceQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'single_choice', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `options` Choice[], required
              - …
            - `preset` 'yes_no'
            - `presentation` 'dropdown'
          - MultipleChoiceQuestion: Selection bounds must satisfy effective minimum <= maximum <= option count. Effective minimum is max(minSelections or 0, required ? 1 : 0). Default maximum is option count. Optional answers may be omitted, but a supplied array must respect the bounds. Backend enforces these related-field constraints.
            - `id` string, required
            - `label` string, required
            - `type` 'multiple_choice', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `options` Choice[], required
              - …
            - `minSelections` integer
            - `maxSelections` integer
          - ScaleQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'scale', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `min` integer, required
            - `max` integer, required
            - `preset` 'nps'
            - `labels` object: Keys must be canonical integer strings within min/max; the backend enforces range membership.
            - `presentation` 'stars'
          - TextQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'text', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `maxLength` integer, required
          - NumberQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'number', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `min` number
            - `max` number
          - DateQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'date', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
          - RankingQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'ranking', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `options` Choice[], required
              - …
          - MatrixQuestion: rows × columns is limited to 200; semantic validation enforces unique IDs and plain columns without Other/exclusive.
            - `id` string, required
            - `label` string, required
            - `type` 'matrix', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `matrixMode` 'single' | 'multiple', required
            - `rows` PromptItem[], required
              - …
            - `columns` Choice[], required
              - …
          - ConstantSumQuestion
            - `id` string, required
            - `label` string, required
            - `type` 'constant_sum', required
            - `required` boolean
            - `visibleWhen` VisibilityCondition: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
              - …
            - `total` integer, required
            - `items` PromptItem[], required
              - …
      - `pages` SurveyPage[]
        - `id` string, required
        - `title` string
        - `questionIds` string[], required
        - `branches` PageBranch[]
          - `when` VisibilityCondition, required: One bounded predicate. answered/not_answered forbid value; other operators require it. equals/not_equals apply to scalar answers; includes/not_includes apply to multiple-choice selections. The backend validates reference existence, source compatibility, choice/range membership and an acyclic dependency graph. Comparison operators are false when the effective source answer is absent; answered trims strings.
            - `questionId` string, required
            - `operator` 'equals' | 'not_equals' | 'includes' | 'not_includes' | 'answered' | 'not_answered', required
            - `value` union
              - …
          - `goToPageId` string, required
  - `errorCode` string, nullable, required

## Other responses

- `400`: Invalid input, resource identifier or workspace selection.
- `401`: Missing or invalid credential.
- `403`: The credential scope, membership or role does not permit this operation.
- `404`: No export in this workspace.
- `410`: Export expired or was revoked.
- `429`: Admission or collection rate limit reached. Honor Retry-After in seconds; admission usually returns1, the collection minute window returns60.
- `500`: Internal failure; do not assume a write failed. Retry only with its original idempotency key and payload.
- `503`: Distributed request admission is temporarily unavailable. No protected handler ran; honor Retry-After.

---

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