---
title: "Fill a consumer's mapping values"
method: POST
path: "/consumers/{consumer_id}/syncs/{syncid}/ai-fill"
tags: ["Syncs"]
---

# Fill a consumer's mapping values

`POST /consumers/{consumer_id}/syncs/{syncid}/ai-fill`

## Request

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

Fills the empty mapping values of `tables` (every table the consumer's plan needs when null) with AI. A value is written with `origin: ai` and never replaces one a human or a rule set, unless `force_all`: then it replaces every value but the hidden rows'. Read them with `GET …/mappings/{table_key}`.

## Path parameters

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

## Request body

- AiFillRequest
  - `tables` string[], nullable: Keys of the tables to fill. Null fills every table the consumer's plan needs.
  - `force_all` boolean: Replace every value the filler proposes, whoever set it (a human's included). Rows the consumer hid stay hidden.

## Response `204`

Successful Response

## Other responses

- `400`: Bad Request
- `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/ai-fill/post.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)
