---
title: "List billing email templates"
method: GET
path: "/api/external/v2/billing_email_templates"
tags: ["Billing email templates"]
---

# List billing email templates

`GET /api/external/v2/billing_email_templates`

## Request

- Base URL: `https://app.pennylane.com`
- URL: `https://app.pennylane.com/api/external/v2/billing_email_templates`
- Auth: OAuth 2
  - Authorization code: `https://app.pennylane.com/oauth/authorize`
  - Token URL: `https://app.pennylane.com/oauth/oauth/token` scopes: `customer_invoices:all`, `customer_invoices:readonly`, `quotes:all`, `quotes:readonly`, `commercial_documents:all`, `commercial_documents:readonly`

List the company's billing email templates that can be used to send a document.

`kind` decides which document accepts the template:
- `billing_email_invoice`: a customer invoice or a proforma
- `billing_email_quote`: a quote, a shipping order, or a purchasing order

Payment reminders, GoCardless subscription emails, and PDF footer templates are not included.
These are not the PDF layout templates listed by `customer_invoice_templates`.

Liquid variables in `subject` and `content` are left unrendered.


> ℹ️
> This endpoint requires one of the following scopes: `customer_invoices:all`, `customer_invoices:readonly`, `quotes:all`, `quotes:readonly`, `commercial_documents:all`, `commercial_documents:readonly`

## Query parameters

- `cursor` string
- `limit` integer
- `filter` string
- `sort` string

## Headers

- `X-Company-Id` string

## Response `200`

A list of billing email templates

- object
  - `has_more` boolean, required: Indicates whether additional results are available beyond this set. Use this flag to determine if another request is needed.
  - `next_cursor` string, nullable, required: Cursor to retrieve the next set of results. Include this value in the cursor parameter of your next request to fetch subsequent items. A `null` `next_cursor` in the response indicates no further results.
  - `items` object[], required
    - `id` integer, required
    - `label` string, nullable, required
    - `kind` 'billing_email_invoice' | 'billing_email_quote', required: Which document a billing email template is used to send. - `billing_email_invoice`: a customer invoice or a proforma - `billing_email_quote`: a quote, a shipping order, or a purchasing order
    - `locale` 'fr_FR' | 'en_GB' | 'de_DE' | 'es_ES', required: The local default is based on the thirdparty (customer / supplier ) billing_language . In case the customer is not present, we will default to the company locale.
    - `subject` string, nullable, required: Email subject. Liquid variables are left unrendered.
    - `content` string, required: Email body. Liquid variables are left unrendered.
    - `default` boolean, required: Whether this template is selected automatically when sending a document of this kind and locale.
    - `cc_recipients` string[], required: Copy recipients stored on the template. Empty when the template does not use them.
    - `bcc_recipients` string[], required: Blind copy recipients stored on the template. Empty when the template does not use them.

## Other responses

- `400`: Bad request
- `401`: Access token is missing or invalid
- `403`: Access to this resource forbidden
- `404`: The resource was not found

## Changes

- **2026-11-03** `871f863307e5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pennylane/apis/company-v2/changes/api/external/v2/billing_email_templates/get.md)

---

[API](https://skmtc.dev/pennylane/apis/company-v2.md) - [All operations](https://skmtc.dev/pennylane/apis/company-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/pennylane/apis/company-v2/revisions/871f863307e5?raw)
