---
title: "One preview: where it stands, what it would create and what would fail"
method: GET
path: "/consumers/{consumer_id}/syncs/{syncid}/previews/{preview_id}"
tags: ["Syncs"]
---

# One preview: where it stands, what it would create and what would fail

`GET /consumers/{consumer_id}/syncs/{syncid}/previews/{preview_id}`

## Request

- Base URL: `https://api.chift.eu`
- URL: `https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/previews/{preview_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/chift/apis/chift-api/docs/consumers/:consumer_id/syncs/:syncid/previews/:preview_id/get.ts> (a function with typed inputs; its response is checked against the schema)

What would fail is grouped by cause; a missing mapping, by table, with the rows to fill. `refill_suggested` says mappings are missing: fill them (`POST …/ai-fill`), then preview again.

## Path parameters

- `consumer_id` string, uuid, required
- `syncid` string, uuid, required
- `preview_id` string, uuid, required

## Query parameters

- `language` string, nullable: ISO 639-1 code of the language of the texts (en, fr, nl, de, es; any case), falling back to English. Without it, translation keys.

## Response `200`

Successful Response

- Preview
  - `preview_id` string, uuid, required: The preview's id.
  - `status` 'pending' | 'ready' | 'failed', required: Pending while it is queued or running, then ready or failed.
  - `started_at` string, date-time, required: When it was asked for.
  - `finished_at` string, date-time, nullable, required: When it ended. Null until it does.
  - `error` string, nullable, required: Why it failed. Null unless it did.
  - `counts` PreviewCount[], required: How many objects of each kind it would create.
    - `kind` string, required: What would be created.
    - `title` string, required: Name to show, in the requested language; its translation key without one.
    - `count` integer, required: How many.
  - `issues` PreviewIssue[], required: What would fail, one entry per cause; a missing mapping, one entry per table.
    - `kind` string, required: What kind of problem it is, and so who acts on it.
    - `code` string, required: The error code.
    - `message` string, required: What would fail.
    - `cause` object, required: What the objects it holds up have in common.
    - `source_ids` string[], required: The source objects it would hold up.
    - `table_key` string, nullable: For a missing mapping: the table to fill, `GET …/mappings/{table_key}`.
    - `table_title` string, nullable: For a missing mapping: the table's name.
    - `source_keys` string[], nullable: For a missing mapping: the rows without a value.
  - `refill_suggested` boolean, required: Mappings are missing: `POST …/ai-fill` may fill them, then preview again.

## Other responses

- `404`: Not Found
- `422`: Validation Error

## Changes

- **2026-11-03** `020884969534`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/chift/apis/chift-api/changes/consumers/:consumer_id/syncs/:syncid/previews/:preview_id/get.md)

---

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