# The feedback object

## Attributes

- `object` (string, required):
- `id` (string, required):
- `batch_id` (nullable string, required): Id of the request (id of the batch).
- `film_id` (string, required): Id of the film.
- `scene` (nullable integer, required): Number of the scene.
- `at_s` (nullable number, required): Time from the request.
- `scene_offset_s` (nullable number, required): Time within the scene (seconds from its start).
- `preview_id` (nullable string, required): Preview the time refers to.
- `storyboard_version` (nullable integer, required): Storyboard version at the time of the request.
- `kind` (enum, required):  Values: `text`, `image`, `layout`, `general`.
- `message` (string, required): The feedback as sent.
- `region` (nullable object, required): Area of the frame as fractions of width and height (0..1, origin top left). It is cut to the frame.
  - `x` (number, required):
  - `y` (number, required):
  - `w` (number, required): Width; the area must be greater than 0.
  - `h` (number, required): Height; the area must be greater than 0.
- `point` (nullable object, required): Point in the frame as fractions of width and height (0..1, origin top left).
  - `x` (number, required):
  - `y` (number, required):
- `attachments` (array of objects, required):
  - `upload_id` (nullable string, required): Id of the upload.
  - `media_id` (nullable string, required): Id of the file in the media of the film.
- `allow_redraw` (boolean, required):
- `external_ref` (nullable string, required):
- `status` (enum, required): queued: waiting for the scene; applying: being planned or applied (see stage); applied: the scene was changed; failed: not applied (see failure, retry possible); discarded: cancelled via the API or stopped in mint. Values: `queued`, `applying`, `applied`, `failed`, `discarded`.
- `stage` (nullable enum, required): Only for applying: planning, waiting_for_scene (the scene is rendering), applying, rendering. Values: `planning`, `waiting_for_scene`, `applying`, `rendering`.
- `queue_reason` (nullable enum, required): Only for queued: scene_busy (another change of the scene is running), storyboard_busy (the storyboard is being created), service_unavailable (retried automatically). Values: `scene_busy`, `storyboard_busy`, `service_unavailable`.
- `warnings` (array of strings, required): Hints for the entry, e.g. timeline_may_be_outdated or scene_changed_since_preview. New values may be added.
- `result` (nullable object, required):
  - `summary` (nullable string, required): What mint changed (German, as in the mint chat).
  - `action` (nullable enum, required): Kind of change. Values: `text`, `image`, `layout`, `redraw`, `regenerate`, `none`.
  - `storyboard_version` (nullable integer, required): Storyboard version with the change.
  - `render` (enum, required): pending: the scene is not rendered yet; done: rendered. Values: `pending`, `done`.
- `failure` (nullable object, required):
  - `code` (enum, required): Reason (for failed and discarded). New codes may be added within v1; treat unknown codes like apply_failed. Values: `not_feasible`, `redraw_required`, `images_not_allowed`, `texts_not_allowed`, `scene_changed`, `scene_removed`, `storyboard_replaced`, `planning_interrupted`, `planning_failed`, `apply_failed`, `insufficient_credits`, `client_revoked`, `client_expired`, `scope_revoked`, `production_unavailable`, `stopped_in_app`, `discarded_in_app`, `cancelled_via_api`.
  - `message` (string, required): English description of the reason.
  - `app_message` (nullable string, required): The text mint shows in the chat (German), if any.
  - `retry_allowed` (boolean, required): true for failed: POST …/retry is possible.
  - `fixed_price_credits` (nullable number): Only for redraw_required: the current fixed price of redrawing the scene from the mint price list (may change). Retry with allow_redraw: true to accept it.
- `sender` (nullable object, required): Who sent the entry: the API access that sent (or last retried) it. Personal data.
  - `kind` (enum, required): user: a mint user; api: an API access of your company. Values: `user`, `api`.
  - `name` (nullable string, required): Name of the user, or the name of the API access.
  - `email` (nullable string, required): E-mail address of the user (lower case), if known; always null for api.
- `created_at` (string (date-time), required): Time of the request (UTC).
- `updated_at` (string (date-time), required): Last change of the state (UTC).

## Example

```json
{
  "object": "feedback",
  "id": "fb_2a7d4c9e1b6f3a8d5c0e7b2f4a9d1c6e",
  "batch_id": "fbb_6e1c8a3f5d2b9e4a7c0f1d6b3e8a5c2f",
  "film_id": "k7m2xq9v4t8n1b5r3c6d0wza",
  "scene": 4,
  "at_s": null,
  "scene_offset_s": null,
  "preview_id": "pv_8c1e4a7d2b5f9e3c6a0d1b4e7f2a5c8d",
  "storyboard_version": 1,
  "kind": "text",
  "message": "Please write \"customer groups\" instead of \"target groups\" in the headline.",
  "region": null,
  "point": null,
  "attachments": [],
  "allow_redraw": false,
  "external_ref": "lms-review-8812",
  "status": "queued",
  "stage": null,
  "queue_reason": null,
  "warnings": [],
  "result": null,
  "failure": null,
  "sender": {
    "kind": "user",
    "name": "Anna Schmidt",
    "email": "anna.schmidt@example.edu"
  },
  "created_at": "2026-11-10T08:31:02Z",
  "updated_at": "2026-11-10T08:31:02Z"
}
```
