---
title: "Send an invoice (post to books, optionally email)"
method: POST
path: "/invoices/{id}/send"
tags: ["Invoicing"]
---

# Send an invoice (post to books, optionally email)

`POST /invoices/{id}/send`

## Request

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

Posts the invoice issue journal idempotently, then optionally emails the customer. API-key external email delivery requires confirmed=true; a short-lived previewToken from /invoices/{id}/preview is optional for direct sends and, when supplied, binds the exact recipient/options/email/PDF that are delivered. Session/mobile callers retain the legacy email body. An email failure never rolls back the posting: the response reports emailDelivered=false with emailError, and resending replays the posting as a no-op. Pass Idempotency-Key so a retried request cannot email the customer twice.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `sendEmail` true
  - `confirmed` true: Required for API-key external email delivery; previewToken remains optional for a direct confirmed send.
  - `recipientEmail` string, email
  - `subject` string
  - `templateProps` object
    - `organizationName` string, required
    - `contactName` string, required
    - `documentType` string, required
    - `documentNumber` string, required
    - `personalMessage` string
    - `amountFormatted` string
    - `dueDateFormatted` string
    - `issueDateFormatted` string
  - `attachPdf` boolean
  - `includePaymentLink` boolean
  - `previewToken` string: Optional signed invoice preview token. When supplied, it must match the recipient, subject, message, attachment, payment-link choice, invoice, contact, branding, template, and PDF that are being sent.
  - `confirmationToken` string: Deprecated alias for previewToken.
  - `personalMessage` string

## Response `200`

Posted invoice with email delivery status

## Other responses

- `409`: The invoice delivery preview is expired or no longer matches the invoice and options.
- `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)
