---
title: "A consumer's recent previews"
method: GET
path: "/consumers/{consumer_id}/syncs/{syncid}/previews"
tags: ["Syncs"]
---

# A consumer's recent previews

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

## Request

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

One page of the consumer's previews, the latest first: `size=1` gives the latest.

## Path parameters

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

## Query parameters

- `page` integer
- `size` integer
- `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

- ChiftPagePreview
  - `items` Preview[], required
    - `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.
  - `total` integer, required
  - `page` integer, required
  - `size` integer, required

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