Read Teamleader Focus contacts, companies, deals, invoices, projects; create deals, tasks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: add a note to a contact, company, deal, invoice, quotation, project and more, e.g. a call summary. Optionally notify colleagues. Returns the new note's id. Teamleader: notes.create.
The note text.
The subject id (a UUID).
What the note is attached to (nextgenProject = a project in the projects module).
Users to notify about this note.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: add a note to a contact, company, deal, invoice, quotation, project and more, e.g. a call summary. Optionally notify colleagues. Returns the new note's id. Teamleader: notes.create.
| Argument | Type | Description |
|---|---|---|
| content* | string | The note text. |
| subject_id* | string | The subject id (a UUID). |
| subject_type* | string | What the note is attached to (nextgenProject = a project in the projects module). |
| notify_user_ids | array | Users to notify about this note. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subject_type",
"subject_id",
"content"
],
"properties": {
"content": {
"type": "string",
"minLength": 1,
"description": "The note text."
},
"subject_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The subject id (a UUID)."
},
"subject_type": {
"enum": [
"company",
"contact",
"creditNote",
"deal",
"invoice",
"meeting",
"nextgenProject",
"product",
"quotation",
"subscription"
],
"type": "string",
"description": "What the note is attached to (nextgenProject = a project in the projects module)."
},
"notify_user_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The user id (a UUID)."
},
"description": "Users to notify about this note."
}
}
}WRITE: record time spent, e.g. 90 minutes of development for a company. Give started_at plus duration_minutes or ended_at; optionally a work type, a description, the subject (customer, ticket, task, ...) and whether it is invoiceable. Teamleader splits an entry that passes midnight. Returns the new entry's id. Teamleader: timeTracking.add.
| Argument | Type | Description |
|---|---|---|
| user_id | string | Record the time for another user (default: the signed-in user). |
| ended_at | string | End; give this or duration_minutes (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
| started_at* | string | Start (ISO 8601 with offset, e.g. 2026-02-04T09:00:00+01:00). |
| subject_id | string | The subject id (a UUID). |
| description | string | |
| invoiceable | boolean | |
| subject_type | string | With subject_id: what the time was spent on (todo = a task, nextgenTask = a task in the projects module). |
| work_type_id | string |
WRITE: mark a task (to-do) as complete. It can be reopened in Teamleader. Teamleader: tasks.complete.
| Argument | Type | Description |
|---|---|---|
| task_id* | string | The task id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The task id (a UUID)."
}
}
}WRITE: create a new company in Teamleader. Only name is required. Returns the new company's id. Teamleader: companies.add.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| tags | array | Tag names. |
| string | Primary email address. | |
| remarks | string | |
| website | string | |
| language | string | Language code, e.g. en, nl, fr. |
| telephones | array | |
| vat_number | string | |
| business_type_id | string | Legal structure id (e.g. NV/BV). |
| responsible_user_id | string | The user id (a UUID). |
WRITE: create a new contact (person) in Teamleader. Only last_name is required. Returns the new contact's id. Teamleader: contacts.add.
| Argument | Type | Description |
|---|---|---|
| tags | array | Tag names. |
| string | Primary email address. | |
| remarks | string | |
| website | string | |
| language | string | Language code, e.g. en, nl, fr. |
| last_name* | string | |
| first_name | string | |
| telephones | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"last_name"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag names."
},
"email": {
"type": "string",
"description": "Primary email address."
},
"remarks": {
"type": "string"
},
"website": {
"type": "string"
},
"language": {
"type": "string",
"description": "Language code, e.g. en, nl, fr."
},
"last_name": {
"type": "string",
"minLength": 1
},
"first_name": {
"type": "string"
},
"telephones": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"number"
],
"properties": {
"type": {
"enum": [
"phone",
"mobile",
"fax"
],
"type": "string"
},
"number": {
"type": "string",
"minLength": 1
}
}
}
}
}
}WRITE: create a new deal for an existing contact or company. Requires the customer and a title; optionally a phase (see teamleader_list_deal_phases), value, probability and expected closing date. Returns the new deal's id. Teamleader: deals.create.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| summary | string | The deal's remarks field. |
| phase_id | string | Starting phase; defaults to the default pipeline's first phase. |
| source_id | string | The deal source id (a UUID). |
| customer_id* | string | The customer's contact or company id. |
| customer_type* | string | Whether the customer is a contact or a company. |
| department_id | string | Department (company entity) id. |
| contact_person_id | string | For a company customer: the contact person. |
WRITE: put a meeting or call on the Teamleader calendar. Requires a title, an activity type id (see teamleader_list_activity_types), a start and an end. Attendees are firm users only; link the customer or deal with links. Returns the new event's id. Teamleader: events.create.
| Argument | Type | Description |
|---|---|---|
| links | array | Contacts, companies or deals the event is about. |
| title* | string | |
| ends_at* | string | End (ISO 8601 with offset). |
| location | string | |
| starts_at* | string | Start (ISO 8601 with offset, e.g. 2026-02-04T16:00:00+01:00). |
| description | string | |
| work_type_id | string | The work type id (a UUID). |
| activity_type_id* | string | The activity type id (a UUID). |
| attendee_user_ids |
WRITE: create a task (to-do). Requires a title, a due date and a work type id (see teamleader_list_work_types). Optionally assign it to a user or team and link a customer, deal, project or ticket. Returns the new task's id. Teamleader: tasks.create.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| due_on* | string | Due date (YYYY-MM-DD). |
| deal_id | string | The deal id (a UUID). |
| ticket_id | string | The ticket id (a UUID). |
| project_id | string | The project id (a UUID). |
| assignee_id | string | The assignee id (a UUID). |
| customer_id | string | The customer id (a UUID). |
| description | string | |
| work_type_id* | string | Work type id (required by Teamleader). |
Fetch one company in full: addresses, VAT number, responsible user, related contacts and companies, tags, custom fields and remarks. Teamleader: companies.info.
| Argument | Type | Description |
|---|---|---|
| company_id* | string | The company id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_id"
],
"properties": {
"company_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The company id (a UUID)."
}
}
}Fetch one contact in full: emails, telephones, addresses, linked companies (with position), tags, custom fields and remarks. Teamleader: contacts.info.
| Argument | Type | Description |
|---|---|---|
| contact_id* | string | The contact id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contact_id"
],
"properties": {
"contact_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The contact id (a UUID)."
}
}
}Fetch the Teamleader user the sign-in belongs to: name, email, account id, language, time zone and teams. A cheap way to confirm the connection works. Teamleader: users.me.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fetch one deal in full: lead (customer + contact person), value, probability, current phase, phase history, linked quotations, responsible users, lost reason and custom fields. Teamleader: deals.info.
| Argument | Type | Description |
|---|---|---|
| deal_id* | string | The deal id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"deal_id"
],
"properties": {
"deal_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The deal id (a UUID)."
}
}
}Fetch one invoice in full: invoicee, grouped line items, discounts, totals and taxes, payment term, payments received, payment reference and Peppol status. Teamleader: invoices.info.
| Argument | Type | Description |
|---|---|---|
| invoice_id* | string | The invoice id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_id"
],
"properties": {
"invoice_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The invoice id (a UUID)."
}
}
}Fetch one product in full: code, description, purchase and selling prices, tax rate, unit, stock and category. Teamleader: products.info.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | The product id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The product id (a UUID)."
}
}
}Fetch one quotation in full: deal, grouped line items, discounts, totals, taxes, status and expiry. Teamleader: quotations.info.
| Argument | Type | Description |
|---|---|---|
| quotation_id* | string | The quotation id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quotation_id"
],
"properties": {
"quotation_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The quotation id (a UUID)."
}
}
}Fetch one subscription in full: invoicee, line items, totals, billing cycle, start and end dates and payment term. Teamleader: subscriptions.info.
| Argument | Type | Description |
|---|---|---|
| subscription_id* | string | The subscription id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subscription_id"
],
"properties": {
"subscription_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The subscription id (a UUID)."
}
}
}List the activity types of calendar events (Teamleader has three: tasks, meetings and calls). An activity type id is REQUIRED to create a calendar event. Teamleader: activityTypes.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
}
}
}List or search companies (organisations). Filter by search term, primary email, VAT number, tags, status or last update. Teamleader: companies.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| tags | array | Only companies carrying these tag names. |
| term | string | Search name, VAT number, emails and telephones. |
| string | Exact primary email address. | |
| status | string | |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| sort_field | string | |
| sort_order | string | Sort order. |
| vat_number | string | Exact VAT number, e.g. BE 0899.623.035. |
| updated_since | string |
List or search contacts (people). Filter by search term, primary email, linked company, tags, status or last update. Teamleader: contacts.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| tags | array | Only contacts carrying ALL of these tags. |
| term | string | Search first name, last name, email and telephone. |
| string | Exact primary email address. | |
| status | string | |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| company_id | string | Only contacts linked to this company id. |
| sort_field | string | |
| sort_order | string | Sort order. |
| updated_since | string |
List the phases (stages) of deal pipelines, in flow order, with their probability. Use a phase id when creating a deal. Teamleader: dealPhases.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| deal_pipeline_id | string | Only phases of this pipeline. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"deal_pipeline_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only phases of this pipeline."
}
}
}List the sales pipelines; the reply's meta names the default pipeline. Use a pipeline id with teamleader_list_deal_phases. Teamleader: dealPipelines.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search pipeline names. |
| status | array | |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search pipeline names."
},
"status": {
"type": "array",
"items": {
"enum": [
"open",
"pending_deletion"
],
"type": "string"
}
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
}
}
}List or search deals (sales opportunities). Filter by customer, phase, pipeline, status, responsible user, expected closing date or last update. Teamleader: deals.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search term. |
| status | array | Deal statuses. |
| phase_id | string | Only deals in this phase. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| sort_field | string | |
| sort_order | string | Sort order. |
| customer_id | string | Only deals for this contact/company id. |
| pipeline_ids | array | Only deals in these pipelines. |
| customer_type | string |
List the account's departments (company entities that issue invoices and quotations). A department id is needed to filter subscriptions and product categories or to create a deal for a specific entity. Teamleader: departments.list.
| Argument | Type | Description |
|---|---|---|
| status | array | Filter by status. |
| sort_field | string | |
| sort_order | string | Sort order. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"status": {
"type": "array",
"items": {
"enum": [
"active",
"archived"
],
"type": "string"
},
"description": "Filter by status."
},
"sort_field": {
"enum": [
"default_department",
"name",
"created_at"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
}
}
}List calendar events (meetings, calls) in a time window. Filter by user, activity type, search term, an attending contact, a linked contact / company / deal, a task or done state. Teamleader: events.list.
| Argument | Type | Description |
|---|---|---|
| done | boolean | |
| page | integer | Page number, starting at 1. |
| term | string | Search the title and description. |
| link_id | string | Only events linked to this contact, company or deal. |
| task_id | string | Only events planned for this task. |
| user_id | string | Only this user's events. |
| link_type | string | With link_id: the linked record's type. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| ends_after | string | Start of the period: events ending after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
List or search outgoing invoices. Filter by term, invoice number, status (draft / outstanding / matched = paid), customer, deal, project, invoice date range or last update. Returns totals, due date and paid state. Teamleader: invoices.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search invoice number, PO number, payment reference and invoicee. |
| status | array | |
| deal_id | string | The deal id (a UUID). |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| project_id | string | The project id (a UUID). |
| sort_field | string | |
| sort_order | string | Sort order. |
| customer_id | string | Only invoices for this contact/company id. |
List the notes on one contact, company, deal, invoice, quotation, project and more, with their text and date. Teamleader: notes.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| subject_id* | string | The subject id (a UUID). |
| subject_type* | string | What the notes are attached to (nextgenProject = a project in the projects module). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subject_type",
"subject_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"subject_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The subject id (a UUID)."
},
"subject_type": {
"enum": [
"company",
"contact",
"creditNote",
"deal",
"invoice",
"meeting",
"nextgenProject",
"product",
"project",
"quotation",
"subscription"
],
"type": "string",
"description": "What the notes are attached to (nextgenProject = a project in the projects module)."
}
}
}List the product categories (each one is a ledger account), optionally for one department. Teamleader: productCategories.list.
| Argument | Type | Description |
|---|---|---|
| department_id | string | Only categories of this department. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"department_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only categories of this department."
}
}
}List or search products (the price list) by name or code. Teamleader: products.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search the product name or code. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| updated_since | string | Only products updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search the product name or code."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"updated_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only products updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
}
}
}List projects (the projects module). Filter by term, status, customer or deal. Returns budget, time tracked, billed/unbilled amounts, dates and owners. Teamleader: projects-v2/projects.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search project number, title, customer, assignee and owner names. |
| status | string | |
| deal_ids | array | Only projects linked to these deals. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| customer_id | string | Only projects for this contact/company id. |
| customer_type | string | With customer_id: the customer's type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search project number, title, customer, assignee and owner names."
},
"status": {
"enum": [
"open",
"planned",
"running",
"overdue",
"over_budget",
"closed"
],
"type": "string"
},
"deal_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The deal id (a UUID)."
},
"description": "Only projects linked to these deals."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only projects for this contact/company id."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id: the customer's type."
}
}
}List quotations (offers) with their status, totals and deal. Teamleader filters quotations only by id: to find a deal's quotations, take the ids from teamleader_get_deal. Teamleader: quotations.list.
| Argument | Type | Description |
|---|---|---|
| ids | array | Only these quotations. |
| page | integer | Page number, starting at 1. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The quotation id (a UUID)."
},
"maxItems": 100,
"description": "Only these quotations."
},
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
}
}
}List subscriptions (recurring invoices): title, status, customer, billing cycle and next invoice date. Filter by customer, deal, department, status or the invoice a subscription generated. Teamleader: subscriptions.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| status | array | |
| deal_id | string | Only subscriptions created from this deal. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| invoice_id | string | The subscription that generated this invoice. |
| sort_field | string | |
| sort_order | string | Sort order. |
| customer_id | string | Only this contact's or company's subscriptions. |
| customer_type | string | With customer_id: the customer's type. |
List tasks (to-dos). Filter by assigned user, completed, scheduled, due date range, search term or customer. Teamleader: tasks.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search the task description. |
| due_by | string | Due on or before (YYYY-MM-DD). |
| user_id | string | Tasks assigned to this user or one of their teams. |
| due_from | string | Due on or after (YYYY-MM-DD). |
| completed | boolean | |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| scheduled | boolean | |
| sort_field | string | |
| sort_order | string | Sort order. |
List support tickets: subject, status, assignee, customer, project and last message time. Filter by customer, project or assignee. Teamleader: tickets.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| customer_id | string | Only tickets relating to this contact/company id. |
| project_ids | array | |
| assignee_ids | array | Only tickets assigned to one of these users. |
| customer_type | string | With customer_id: the customer's type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only tickets relating to this contact/company id."
},
"project_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The project id (a UUID)."
}
},
"assignee_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The user id (a UUID)."
},
"description": "Only tickets assigned to one of these users."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id: the customer's type."
}
}
}List tracked time entries: who, when, duration (seconds), work type, subject, invoiceable flag and hourly rate. Filter by user, start range or subject. Teamleader: timeTracking.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| user_id | string | The user id (a UUID). |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
| sort_order | string | Sort by start time (starts_on). |
| subject_id | string | Only entries tracked on this subject. |
| subject_type | string | With subject_id: the subject's type. |
| started_after | string | Entries that started on/after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
| started_before | string | Entries that started on/before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
List the users (colleagues) in the Teamleader account. Use it to find a user id to assign deals or tasks to. Teamleader: users.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search first name, last name, email and function. |
| status | array | Filter by status. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search first name, last name, email and function."
},
"status": {
"type": "array",
"items": {
"enum": [
"active",
"deactivated"
],
"type": "string"
},
"description": "Filter by status."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
}
}
}List work types (e.g. Design, Development), alphabetically. A work type id is REQUIRED to create a task. Teamleader: workTypes.list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| term | string | Search work type names. |
| page_size | integer | Page size, 1-100 (Teamleader default 20). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search work type names."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
}
}
}| The work type id (a UUID). |
| duration_minutes | integer | Time spent, in minutes. Give this or ended_at. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"started_at"
],
"properties": {
"user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Record the time for another user (default: the signed-in user)."
},
"ended_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "End; give this or duration_minutes (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
},
"started_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Start (ISO 8601 with offset, e.g. 2026-02-04T09:00:00+01:00)."
},
"subject_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The subject id (a UUID)."
},
"description": {
"type": "string"
},
"invoiceable": {
"type": "boolean"
},
"subject_type": {
"enum": [
"company",
"contact",
"event",
"milestone",
"nextgenTask",
"ticket",
"todo"
],
"type": "string",
"description": "With subject_id: what the time was spent on (todo = a task, nextgenTask = a task in the projects module)."
},
"work_type_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The work type id (a UUID)."
},
"duration_minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 1,
"description": "Time spent, in minutes. Give this or ended_at."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tag names."
},
"email": {
"type": "string",
"description": "Primary email address."
},
"remarks": {
"type": "string"
},
"website": {
"type": "string"
},
"language": {
"type": "string",
"description": "Language code, e.g. en, nl, fr."
},
"telephones": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"number"
],
"properties": {
"type": {
"enum": [
"phone",
"fax"
],
"type": "string"
},
"number": {
"type": "string",
"minLength": 1
}
}
}
},
"vat_number": {
"type": "string"
},
"business_type_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Legal structure id (e.g. NV/BV)."
},
"responsible_user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The user id (a UUID)."
}
}
}| responsible_user_id |
| string |
| The user id (a UUID). |
| estimated_probability | number | Win probability, 0 to 1. |
| estimated_closing_date | string | Expected closing date (YYYY-MM-DD). |
| estimated_value_amount | number | Expected value; needs estimated_value_currency. |
| estimated_value_currency | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_type",
"customer_id",
"title"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"summary": {
"type": "string",
"description": "The deal's remarks field."
},
"phase_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Starting phase; defaults to the default pipeline's first phase."
},
"source_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The deal source id (a UUID)."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The customer's contact or company id."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "Whether the customer is a contact or a company."
},
"department_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Department (company entity) id."
},
"contact_person_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "For a company customer: the contact person."
},
"responsible_user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The user id (a UUID)."
},
"estimated_probability": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Win probability, 0 to 1."
},
"estimated_closing_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expected closing date (YYYY-MM-DD)."
},
"estimated_value_amount": {
"type": "number",
"description": "Expected value; needs estimated_value_currency."
},
"estimated_value_currency": {
"enum": [
"BAM",
"CAD",
"CHF",
"CLP",
"CNY",
"COP",
"CZK",
"DKK",
"EUR",
"GBP",
"INR",
"ISK",
"JPY",
"MAD",
"MXN",
"NOK",
"PEN",
"PLN",
"RON",
"SEK",
"TRY",
"USD",
"ZAR"
],
"type": "string"
}
}
}| array |
| Firm users who attend. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"activity_type_id",
"starts_at",
"ends_at"
],
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The linked record id (a UUID)."
},
"type": {
"enum": [
"contact",
"company",
"deal"
],
"type": "string"
}
}
},
"maxItems": 20,
"description": "Contacts, companies or deals the event is about."
},
"title": {
"type": "string",
"minLength": 1
},
"ends_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "End (ISO 8601 with offset)."
},
"location": {
"type": "string"
},
"starts_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Start (ISO 8601 with offset, e.g. 2026-02-04T16:00:00+01:00)."
},
"description": {
"type": "string"
},
"work_type_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The work type id (a UUID)."
},
"activity_type_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The activity type id (a UUID)."
},
"attendee_user_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The user id (a UUID)."
},
"maxItems": 50,
"description": "Firm users who attend."
}
}
}| assignee_type | string | With assignee_id. |
| customer_type | string | With customer_id. |
| estimated_duration_minutes | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"due_on",
"work_type_id"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"due_on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Due date (YYYY-MM-DD)."
},
"deal_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The deal id (a UUID)."
},
"ticket_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The ticket id (a UUID)."
},
"project_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The project id (a UUID)."
},
"assignee_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The assignee id (a UUID)."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The customer id (a UUID)."
},
"description": {
"type": "string"
},
"work_type_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Work type id (required by Teamleader)."
},
"assignee_type": {
"enum": [
"user",
"team"
],
"type": "string",
"description": "With assignee_id."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id."
},
"estimated_duration_minutes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
}
}
}| Only companies updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only companies carrying these tag names."
},
"term": {
"type": "string",
"description": "Search name, VAT number, emails and telephones."
},
"email": {
"type": "string",
"description": "Exact primary email address."
},
"status": {
"enum": [
"active",
"deactivated"
],
"type": "string"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"sort_field": {
"enum": [
"name",
"added_at",
"updated_at"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
},
"vat_number": {
"type": "string",
"description": "Exact VAT number, e.g. BE 0899.623.035."
},
"updated_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only companies updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
}
}
}| Only contacts updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only contacts carrying ALL of these tags."
},
"term": {
"type": "string",
"description": "Search first name, last name, email and telephone."
},
"email": {
"type": "string",
"description": "Exact primary email address."
},
"status": {
"enum": [
"active",
"deactivated"
],
"type": "string"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"company_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only contacts linked to this company id."
},
"sort_field": {
"enum": [
"added_at",
"name",
"updated_at"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
},
"updated_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only contacts updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
}
}
}| With customer_id: the customer's type. |
| updated_since | string | Only deals updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
| responsible_user_id | string | Only deals this user is responsible for. |
| estimated_closing_date_from | string | Expected closing date from (YYYY-MM-DD). |
| estimated_closing_date_until | string | Expected closing date until (YYYY-MM-DD). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search term."
},
"status": {
"type": "array",
"items": {
"enum": [
"open",
"won",
"lost"
],
"type": "string"
},
"description": "Deal statuses."
},
"phase_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only deals in this phase."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"sort_field": {
"enum": [
"created_at",
"weighted_value"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only deals for this contact/company id."
},
"pipeline_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The pipeline id (a UUID)."
},
"description": "Only deals in these pipelines."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id: the customer's type."
},
"updated_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only deals updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
},
"responsible_user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only deals this user is responsible for."
},
"estimated_closing_date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expected closing date from (YYYY-MM-DD)."
},
"estimated_closing_date_until": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expected closing date until (YYYY-MM-DD)."
}
}
}| sort_order | string | Sort by start time (starts_at). |
| starts_before | string | End of the period: events starting before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
| activity_type_id | string | The activity type id (a UUID). |
| attendee_contact_id | string | Only events this contact attends. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"done": {
"type": "boolean"
},
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search the title and description."
},
"link_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only events linked to this contact, company or deal."
},
"task_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only events planned for this task."
},
"user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only this user's events."
},
"link_type": {
"enum": [
"contact",
"company",
"deal"
],
"type": "string",
"description": "With link_id: the linked record's type."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"ends_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Start of the period: events ending after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort by start time (starts_at)."
},
"starts_before": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "End of the period: events starting before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
},
"activity_type_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The activity type id (a UUID)."
},
"attendee_contact_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only events this contact attends."
}
}
}| customer_type |
| string |
| With customer_id: the customer's type. |
| updated_since | string | Only invoices updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00). |
| invoice_number | string | Full invoice number, e.g. "2026 / 5". |
| invoice_date_after | string | Invoice date from, inclusive (YYYY-MM-DD). |
| invoice_date_before | string | Invoice date until, inclusive (YYYY-MM-DD). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search invoice number, PO number, payment reference and invoicee."
},
"status": {
"type": "array",
"items": {
"enum": [
"draft",
"outstanding",
"matched"
],
"type": "string"
}
},
"deal_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The deal id (a UUID)."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"project_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The project id (a UUID)."
},
"sort_field": {
"enum": [
"invoice_number",
"invoice_date"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only invoices for this contact/company id."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id: the customer's type."
},
"updated_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only invoices updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
},
"invoice_number": {
"type": "string",
"description": "Full invoice number, e.g. \"2026 / 5\"."
},
"invoice_date_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Invoice date from, inclusive (YYYY-MM-DD)."
},
"invoice_date_before": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Invoice date until, inclusive (YYYY-MM-DD)."
}
}
}| department_id |
| string |
| The department id (a UUID). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"status": {
"type": "array",
"items": {
"enum": [
"active",
"deactivated"
],
"type": "string"
}
},
"deal_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only subscriptions created from this deal."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"invoice_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The subscription that generated this invoice."
},
"sort_field": {
"enum": [
"title",
"created_at",
"status"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only this contact's or company's subscriptions."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id: the customer's type."
},
"department_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The department id (a UUID)."
}
}
}| customer_id | string | Only tasks for this contact/company id. |
| customer_type | string | With customer_id: the customer's type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"term": {
"type": "string",
"description": "Search the task description."
},
"due_by": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Due on or before (YYYY-MM-DD)."
},
"user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Tasks assigned to this user or one of their teams."
},
"due_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Due on or after (YYYY-MM-DD)."
},
"completed": {
"type": "boolean"
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"scheduled": {
"type": "boolean"
},
"sort_field": {
"enum": [
"created_at",
"due_on"
],
"type": "string"
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order."
},
"customer_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only tasks for this contact/company id."
},
"customer_type": {
"enum": [
"contact",
"company"
],
"type": "string",
"description": "With customer_id: the customer's type."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, starting at 1."
},
"user_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The user id (a UUID)."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 1-100 (Teamleader default 20)."
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort by start time (starts_on)."
},
"subject_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Only entries tracked on this subject."
},
"subject_type": {
"enum": [
"company",
"contact",
"event",
"todo",
"milestone",
"ticket"
],
"type": "string",
"description": "With subject_id: the subject's type."
},
"started_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Entries that started on/after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
},
"started_before": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Entries that started on/before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00)."
}
}
}