---
title: "Send a message to a Tally conversation"
method: POST
path: "/tally/conversations/{id}/messages"
tags: ["Tally"]
---

# Send a message to a Tally conversation

`POST /tally/conversations/{id}/messages`

## Request

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

Queues a Tally conversation turn. Structured Fast Coding start and batch submissions execute directly, including while Tally is answering, and return updated conversation metadata without starting a model turn. Fast Coding actions cannot be combined with attachments, question responses, or other work launches. A humanInputItemId plus humanInputVersion may be supplied instead of client-authored content; the server re-resolves that item and constructs the authoritative launch message. Tally runs on the single LedgerHQ-managed model; there is no provider or model choice.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `content` string
  - `guidedFastCodingStart` boolean: Start or refresh the company-scoped Fast Coding batch. Supply a short content label. Mutually exclusive with guidedFastCodingResponse.
  - `guidedFastCodingResponse` object: Apply the exact frozen batch from guidedFastCodingBatch metadata. Requires banking permissions. Every transaction must have exactly one decision; normal posting integrity checks apply.
    - `selectionId` string, uuid, required
    - `decisions` union[], required
      - union
        - object
          - `bankTransactionId` string, uuid, required
          - `action` 'code', required
          - `accountId` string, uuid, required
        - object
          - `bankTransactionId` string, uuid, required
          - `action` 'ask_client', required
  - `humanInputItemId` string: Opaque id from GET /tally/human-input. Cannot be combined with content, evidence, or question responses.
  - `humanInputVersion` string: Item version returned with humanInputItemId. The server accepts current version drift but revalidates source ownership and state.
  - `attachmentIds` string[]
  - `questionResponse` object: One standalone Tally question or financial-approval response.
    - `questionId` string, uuid, required
    - `optionId` string, nullable
    - `customAnswer` string, nullable
    - `deferred` boolean
  - `questionResponses` object[]: A complete Bookkeeping Startup decision batch submitted in one turn.
    - `questionId` string, uuid, required
    - `optionId` string, nullable
    - `customAnswer` string, nullable
    - `deferred` boolean

## Response `200`

Queued Tally turn, or direct Fast Coding result, and refreshed conversation. Fast Coding tool-result metadata includes guidedFastCodingBatch (up to five company rows) and guidedFastCodingResult with posting counts, per-row failures, and rule outcomes. Existing active chat turns remain available.

## Other responses

- `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)
