---
title: "Apply Back work vendor categories"
method: POST
path: "/tally/programs/backwork-bookkeeping/{id}/vendor-review"
tags: ["Tally"]
---

# Apply Back work vendor categories

`POST /tally/programs/backwork-bookkeeping/{id}/vendor-review`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/tally/programs/backwork-bookkeeping/{id}/vendor-review`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Requires firm owner/admin accounting authority. Applies one or more digest-bound answers while vendor review is open. Each answer applies to every transaction in that vendor group and saves reusable versioned rules. Optional assist: partial applies update draft categories without blocking Stage 4. An exact replay of an already-applied submission returns without writes; new or conflicting decisions after import begins return backwork_program_closed.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `analysisDigest` string, required
  - `decisions` object[], required
    - `groupKey` string, required
    - `accountId` string, uuid, nullable, required
    - `contactId` string, uuid, nullable: Optional customer/vendor for every row in the group; also set on the group's saved rule.

## Response `200`

Updated draft analysis after vendor apply, or exact write-free replay

## Other responses

- `409`: The Back work program has an import receipt or is terminal; ordinary recoding remains available.
- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
