Teamleader Invoices API
The Invoices API from Teamleader — 9 operation(s) for invoices.
The Invoices API from Teamleader — 9 operation(s) for invoices.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/teamleader:teamleader-invoices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Teamleader Invoices API
version: '2026-09-22'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-09-22: 58 operation(s) read from 60 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Teamleader has published no machine-readable contract that the pipeline could find. Engine: anthropic.'
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-09-22'
x-generator: generate-contract-from-docs.py
x-engine: anthropic
x-sources:
- https://developer.focus.teamleader.eu/docs/authentication
- https://developer.focus.teamleader.eu/docs/general-principles
- https://developer.focus.teamleader.eu/docs/api/deals-list
- https://developer.focus.teamleader.eu/docs/api/deals-info
- https://developer.focus.teamleader.eu/docs/api/deals-create
- https://developer.focus.teamleader.eu/docs/api/deals-update
- https://developer.focus.teamleader.eu/docs/api/deals-move
- https://developer.focus.teamleader.eu/docs/api/deals-win
- https://developer.focus.teamleader.eu/docs/api/deals-lose
- https://developer.focus.teamleader.eu/docs/api/deals-delete
- https://developer.focus.teamleader.eu/docs/api/lost-reasons-list
- https://developer.focus.teamleader.eu/docs/api/level-two-areas-list
- https://developer.focus.teamleader.eu/docs/api/files-list
- https://developer.focus.teamleader.eu/docs/api/files-info
- https://developer.focus.teamleader.eu/docs/api/files-download
- https://developer.focus.teamleader.eu/docs/api/files-upload
- https://developer.focus.teamleader.eu/docs/api/files-delete
- https://developer.focus.teamleader.eu/docs/api/ticket-status-list
- https://developer.focus.teamleader.eu/docs/api/tasks-list
- https://developer.focus.teamleader.eu/docs/api/tasks-info
- https://developer.focus.teamleader.eu/docs/api/tasks-create
- https://developer.focus.teamleader.eu/docs/api/tasks-update
- https://developer.focus.teamleader.eu/docs/api/tasks-complete
- https://developer.focus.teamleader.eu/docs/api/tasks-reopen
- https://developer.focus.teamleader.eu/docs/api/tasks-delete
- https://developer.focus.teamleader.eu/docs/api/tasks-schedule
- https://developer.focus.teamleader.eu/docs/api/user-availability-daily
- https://developer.focus.teamleader.eu/docs/api/tickets-list
- https://developer.focus.teamleader.eu/docs/api/tickets-info
- https://developer.focus.teamleader.eu/docs/api/tickets-create
- https://developer.focus.teamleader.eu/docs/api/tickets-update
- https://developer.focus.teamleader.eu/docs/api/tickets-list-messages
- https://developer.focus.teamleader.eu/docs/api/tickets-get-message
- https://developer.focus.teamleader.eu/docs/api/tickets-import-message
- https://developer.focus.teamleader.eu/docs/api/tickets-add-reply
- https://developer.focus.teamleader.eu/docs/api/tickets-add-internal-message
- https://developer.focus.teamleader.eu/docs/api/timers-update
- https://developer.focus.teamleader.eu/docs/api/contacts-list
- https://developer.focus.teamleader.eu/docs/api/contacts-info
- https://developer.focus.teamleader.eu/docs/api/contacts-add
- https://developer.focus.teamleader.eu/docs/api/contacts-update
- https://developer.focus.teamleader.eu/docs/api/contacts-delete
- https://developer.focus.teamleader.eu/docs/api/contacts-tag
- https://developer.focus.teamleader.eu/docs/api/contacts-untag
- https://developer.focus.teamleader.eu/docs/api/contacts-link-to-company
- https://developer.focus.teamleader.eu/docs/api/contacts-unlink-from-company
- https://developer.focus.teamleader.eu/docs/api/contacts-update-company-link
- https://developer.focus.teamleader.eu/docs/api/contacts-upload-avatar
- https://developer.focus.teamleader.eu/docs/api/days-off-bulk-delete
- https://developer.focus.teamleader.eu/docs/api/expenses-list
- https://developer.focus.teamleader.eu/docs/api/payment-methods-list
- https://developer.focus.teamleader.eu/docs/api/invoices-list
- https://developer.focus.teamleader.eu/docs/api/invoices-info
- https://developer.focus.teamleader.eu/docs/api/invoices-download
- https://developer.focus.teamleader.eu/docs/api/invoices-draft
- https://developer.focus.teamleader.eu/docs/api/invoices-update
- https://developer.focus.teamleader.eu/docs/api/invoices-update-booked
- https://developer.focus.teamleader.eu/docs/api/invoices-copy
- https://developer.focus.teamleader.eu/docs/api/invoices-book
- https://developer.focus.teamleader.eu/docs/api/invoices-delete
servers:
- url: https://api.focus.teamleader.eu
security:
- bearer: []
tags:
- name: Invoices
paths:
/invoices.book:
post:
operationId: post_invoices_book
tags:
- Invoices
summary: Book a draft invoice
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-book
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesBookRequest'
responses:
'204':
description: Success (status as documented)
/invoices.copy:
post:
operationId: post_invoices_copy
tags:
- Invoices
summary: Creates a new draft invoice based on another invoice
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-copy
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesCopyRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesCopyResponse'
/invoices.delete:
post:
operationId: post_invoices_delete
tags:
- Invoices
summary: Delete an existing invoice
description: Delete an existing invoice. Only possible for draft invoices or the last booked invoice.
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-delete
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesDeleteRequest'
responses:
'204':
description: Success (status as documented)
/invoices.download:
post:
operationId: post_invoices_download
tags:
- Invoices
summary: Download an invoice in a specific format
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-download
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesDownloadRequest'
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesDownloadResponse'
/invoices.draft:
post:
operationId: post_invoices_draft
tags:
- Invoices
summary: Draft a new invoice
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-draft
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesDraftRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesDraftResponse'
/invoices.info:
post:
operationId: post_invoices_info
tags:
- Invoices
summary: Get details for a single invoice
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-info
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesInfoRequest'
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesInfoResponse'
/invoices.list:
post:
operationId: post_invoices_list
tags:
- Invoices
summary: List invoices with filtering and pagination support
x-source: https://developer.focus.teamleader.eu/docs/general-principles
parameters:
- name: filter
in: query
required: false
schema:
type: string
description: Filter criteria for invoices, such as department_id
- name: page
in: query
required: false
schema:
type: string
description: Pagination settings with size and number
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesListRequest'
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesListResponse'
/invoices.update:
post:
operationId: post_invoices_update
tags:
- Invoices
summary: Update a draft invoice. Booked invoices cannot be updated
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-update
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesUpdateRequest'
responses:
'204':
description: Success (status as documented)
/invoices.updateBooked:
post:
operationId: post_invoices_updateBooked
tags:
- Invoices
summary: Update a booked invoice
x-source: https://developer.focus.teamleader.eu/docs/api/invoices-update-booked
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInvoicesUpdatebookedRequest'
responses:
'204':
description: Success (status as documented)
components:
schemas:
PostInvoicesListResponse:
type: object
properties:
data:
type: array
description: Array of invoice objects
meta:
type: object
description: Pagination metadata including page and matches
PostInvoicesDownloadRequest:
type: object
properties:
id:
type: string
format:
type: string
description: 'Possible values: [pdf, ubl/e-fff, ubl/peppol_bis_3, ubl/xrechnung]'
required:
- id
- format
PostInvoicesDraftRequest:
type: object
properties:
invoicee:
type: object
department_id:
type: string
payment_term:
type: object
currency:
type: object
project_id:
type: string
purchase_order_number:
type: string
quotation_id:
type: string
description: Links the created invoice to the source quotation and its deal, marking the deal as won.
grouped_lines:
type: object
invoice_date:
type: string
discounts:
type: object
note:
type: string
description: This is the remarks field
invoice_content:
type: string
description: Whether the invoice is for goods, services, or both. Required when the department and the customer's invoicing address are both in France and the account sends invoices via Peppol from France. Cleared otherwise.
expected_payment_method:
type: object
custom_fields:
type: object
document_template_id:
type: string
delivery_date:
type: string
required:
- invoicee
- department_id
- payment_term
- grouped_lines
PostInvoicesDownloadResponse:
type: object
properties:
data:
type: object
PostInvoicesBookRequest:
type: object
properties:
id:
type: string
'on':
type: string
required:
- id
- 'on'
PostInvoicesDraftResponse:
type: object
properties:
data:
type: object
PostInvoicesInfoResponse:
type: object
properties:
data:
type: object
PostInvoicesListRequest:
type: object
properties:
filter:
type: string
description: Filter object with department_id and other criteria
page:
type: string
description: Page object with size and number properties
PostInvoicesUpdateRequest:
type: object
properties:
id:
type: string
invoicee:
type: object
payment_term:
type: object
currency:
type: object
project_id:
type: string
purchase_order_number:
type: string
grouped_lines:
type: object
invoice_date:
type: string
note:
type: string
description: This is the remarks field
invoice_content:
type: string
description: Whether the invoice is for goods, services, or both. Required when the department and the customer's invoicing address are both in France and the account sends invoices via Peppol from France. Cleared otherwise.
discounts:
type: object
expected_payment_method:
type: object
custom_fields:
type: object
document_template_id:
type: string
delivery_date:
type: string
required:
- id
PostInvoicesCopyResponse:
type: object
properties:
data:
type: object
PostInvoicesInfoRequest:
type: object
properties:
id:
type: string
includes:
type: string
description: when used, the response will include totals.due_incasso_inclusive, totals.fixed_late_fee and totals.interest
required:
- id
PostInvoicesUpdatebookedRequest:
type: object
properties:
id:
type: string
invoicee:
type: object
payment_term:
type: object
project_id:
type: string
grouped_lines:
type: object
invoice_date:
type: string
note:
type: string
invoice_content:
type: string
description: Whether the invoice is for goods, services, or both. Required when the department and the customer's invoicing address are both in France and the account sends invoices via Peppol from France. Cleared otherwise.
expected_payment_method:
type: object
custom_fields:
type: object
required:
- id
PostInvoicesDeleteRequest:
type: object
properties:
id:
type: string
required:
- id
PostInvoicesCopyRequest:
type: object
properties:
id:
type: string
required:
- id
securitySchemes:
bearer:
type: http
scheme: bearer