Teamleader Focus MCP by usefulapi
Read Teamleader Focus contacts, companies, deals, invoices, projects; create deals, tasks.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWteamleader_list_product_categories에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"teamleader-focus": {
"url": "https://teamleader-focus.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://teamleader-focus.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (36)
🟢teamleader_get_current_user
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_users(term, status, page_size, page)
List the users (colleagues) in the Teamleader account. Use it to find a user id to assign deals or tasks to. Teamleader: users.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search first name, last name, email and function.",
"type": "string"
},
"status": {
"description": "Filter by status.",
"type": "array",
"items": {
"type": "string",
"enum": [
"active",
"deactivated"
]
}
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_contacts(term, email, company_id, tags, status, ...)
List or search contacts (people). Filter by search term, primary email, linked company, tags, status or last update. Teamleader: contacts.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search first name, last name, email and telephone.",
"type": "string"
},
"email": {
"description": "Exact primary email address.",
"type": "string"
},
"company_id": {
"description": "Only contacts linked to this 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}$"
},
"tags": {
"description": "Only contacts carrying ALL of these tags.",
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"enum": [
"active",
"deactivated"
]
},
"updated_since": {
"description": "Only contacts updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"sort_field": {
"type": "string",
"enum": [
"added_at",
"name",
"updated_at"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_contact(contact_id)
Fetch one contact in full: emails, telephones, addresses, linked companies (with position), tags, custom fields and remarks. Teamleader: contacts.info.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_companies(term, email, vat_number, tags, status, ...)
List or search companies (organisations). Filter by search term, primary email, VAT number, tags, status or last update. Teamleader: companies.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search name, VAT number, emails and telephones.",
"type": "string"
},
"email": {
"description": "Exact primary email address.",
"type": "string"
},
"vat_number": {
"description": "Exact VAT number, e.g. BE 0899.623.035.",
"type": "string"
},
"tags": {
"description": "Only companies carrying these tag names.",
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"enum": [
"active",
"deactivated"
]
},
"updated_since": {
"description": "Only companies updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"sort_field": {
"type": "string",
"enum": [
"name",
"added_at",
"updated_at"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_company(company_id)
Fetch one company in full: addresses, VAT number, responsible user, related contacts and companies, tags, custom fields and remarks. Teamleader: companies.info.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_deals(term, customer_type, customer_id, phase_id, pipeline_ids, ...)
List or search deals (sales opportunities). Filter by customer, phase, pipeline, status, responsible user, expected closing date or last update. Teamleader: deals.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search term.",
"type": "string"
},
"customer_type": {
"description": "With customer_id: the customer's type.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"customer_id": {
"description": "Only deals for this contact/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}$"
},
"phase_id": {
"description": "Only deals in this phase.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"pipeline_ids": {
"description": "Only deals in these pipelines.",
"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)."
}
},
"status": {
"description": "Deal statuses.",
"type": "array",
"items": {
"type": "string",
"enum": [
"open",
"won",
"lost"
]
}
},
"responsible_user_id": {
"description": "Only deals this user is responsible for.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"estimated_closing_date_from": {
"description": "Expected closing date from (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"estimated_closing_date_until": {
"description": "Expected closing date until (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"updated_since": {
"description": "Only deals updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"sort_field": {
"type": "string",
"enum": [
"created_at",
"weighted_value"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_deal(deal_id)
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.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_deal_pipelines(term, status, page_size, page)
List the sales pipelines; the reply's meta names the default pipeline. Use a pipeline id with teamleader_list_deal_phases. Teamleader: dealPipelines.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search pipeline names.",
"type": "string"
},
"status": {
"type": "array",
"items": {
"type": "string",
"enum": [
"open",
"pending_deletion"
]
}
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_deal_phases(deal_pipeline_id, page_size, page)
List the phases (stages) of deal pipelines, in flow order, with their probability. Use a phase id when creating a deal. Teamleader: dealPhases.list.
입력 스키마
{
"type": "object",
"properties": {
"deal_pipeline_id": {
"description": "Only phases of this pipeline.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_invoices(term, invoice_number, status, customer_type, customer_id, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search invoice number, PO number, payment reference and invoicee.",
"type": "string"
},
"invoice_number": {
"description": "Full invoice number, e.g. \"2026 / 5\".",
"type": "string"
},
"status": {
"type": "array",
"items": {
"type": "string",
"enum": [
"draft",
"outstanding",
"matched"
]
}
},
"customer_type": {
"description": "With customer_id: the customer's type.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"customer_id": {
"description": "Only invoices for this contact/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}$"
},
"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)."
},
"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)."
},
"invoice_date_after": {
"description": "Invoice date from, inclusive (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"invoice_date_before": {
"description": "Invoice date until, inclusive (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"updated_since": {
"description": "Only invoices updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"sort_field": {
"type": "string",
"enum": [
"invoice_number",
"invoice_date"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_invoice(invoice_id)
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.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_projects(term, status, customer_type, customer_id, deal_ids, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search project number, title, customer, assignee and owner names.",
"type": "string"
},
"status": {
"type": "string",
"enum": [
"open",
"planned",
"running",
"overdue",
"over_budget",
"closed"
]
},
"customer_type": {
"description": "With customer_id: the customer's type.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"customer_id": {
"description": "Only projects for this contact/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}$"
},
"deal_ids": {
"description": "Only projects linked to these deals.",
"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)."
}
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_tasks(user_id, completed, scheduled, due_from, due_by, ...)
List tasks (to-dos). Filter by assigned user, completed, scheduled, due date range, search term or customer. Teamleader: tasks.list.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"description": "Tasks assigned to this user or one of their teams.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"completed": {
"type": "boolean"
},
"scheduled": {
"type": "boolean"
},
"due_from": {
"description": "Due on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"due_by": {
"description": "Due on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"term": {
"description": "Search the task description.",
"type": "string"
},
"customer_type": {
"description": "With customer_id: the customer's type.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"customer_id": {
"description": "Only tasks for this contact/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}$"
},
"sort_field": {
"type": "string",
"enum": [
"created_at",
"due_on"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_time_tracking(user_id, started_after, started_before, subject_type, subject_id, ...)
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.
입력 스키마
{
"type": "object",
"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": "The user id (a UUID)."
},
"started_after": {
"description": "Entries that started on/after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"started_before": {
"description": "Entries that started on/before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"subject_type": {
"description": "With subject_id: the subject's type.",
"type": "string",
"enum": [
"company",
"contact",
"event",
"todo",
"milestone",
"ticket"
]
},
"subject_id": {
"description": "Only entries tracked on this subject.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"sort_order": {
"description": "Sort by start time (starts_on).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_tickets(customer_type, customer_id, project_ids, assignee_ids, page_size, ...)
List support tickets: subject, status, assignee, customer, project and last message time. Filter by customer, project or assignee. Teamleader: tickets.list.
입력 스키마
{
"type": "object",
"properties": {
"customer_type": {
"description": "With customer_id: the customer's type.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"customer_id": {
"description": "Only tickets relating to this contact/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}$"
},
"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": {
"description": "Only tickets assigned to one of these users.",
"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)."
}
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_work_types(term, page_size, page)
List work types (e.g. Design, Development), alphabetically. A work type id is REQUIRED to create a task. Teamleader: workTypes.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search work type names.",
"type": "string"
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_departments(status, sort_field, sort_order)
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.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"description": "Filter by status.",
"type": "array",
"items": {
"type": "string",
"enum": [
"active",
"archived"
]
}
},
"sort_field": {
"type": "string",
"enum": [
"default_department",
"name",
"created_at"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_products(term, updated_since, page_size, page)
List or search products (the price list) by name or code. Teamleader: products.list.
입력 스키마
{
"type": "object",
"properties": {
"term": {
"description": "Search the product name or code.",
"type": "string"
},
"updated_since": {
"description": "Only products updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_product(product_id)
Fetch one product in full: code, description, purchase and selling prices, tax rate, unit, stock and category. Teamleader: products.info.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"product_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_product_categories(department_id)
List the product categories (each one is a ledger account), optionally for one department. Teamleader: productCategories.list.
입력 스키마
{
"type": "object",
"properties": {
"department_id": {
"description": "Only categories of this department.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_quotations(ids, page_size, page)
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.
입력 스키마
{
"type": "object",
"properties": {
"ids": {
"description": "Only these quotations.",
"maxItems": 100,
"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)."
}
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_quotation(quotation_id)
Fetch one quotation in full: deal, grouped line items, discounts, totals, taxes, status and expiry. Teamleader: quotations.info.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"quotation_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_activity_types(page_size, page)
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.
입력 스키마
{
"type": "object",
"properties": {
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_events(ends_after, starts_before, user_id, activity_type_id, term, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"ends_after": {
"description": "Start of the period: events ending after (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"starts_before": {
"description": "End of the period: events starting before (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"user_id": {
"description": "Only this user's events.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"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)."
},
"term": {
"description": "Search the title and description.",
"type": "string"
},
"attendee_contact_id": {
"description": "Only events this contact attends.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"link_type": {
"description": "With link_id: the linked record's type.",
"type": "string",
"enum": [
"contact",
"company",
"deal"
]
},
"link_id": {
"description": "Only events linked to this contact, company or deal.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"task_id": {
"description": "Only events planned for this task.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"done": {
"type": "boolean"
},
"sort_order": {
"description": "Sort by start time (starts_at).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_subscriptions(customer_type, customer_id, deal_id, department_id, invoice_id, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"customer_type": {
"description": "With customer_id: the customer's type.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"customer_id": {
"description": "Only this contact's or company's subscriptions.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"deal_id": {
"description": "Only subscriptions created from this deal.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"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)."
},
"invoice_id": {
"description": "The subscription that generated this invoice.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"status": {
"type": "array",
"items": {
"type": "string",
"enum": [
"active",
"deactivated"
]
}
},
"sort_field": {
"type": "string",
"enum": [
"title",
"created_at",
"status"
]
},
"sort_order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_get_subscription(subscription_id)
Fetch one subscription in full: invoicee, line items, totals, billing cycle, start and end dates and payment term. Teamleader: subscriptions.info.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"subscription_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢teamleader_list_notes(subject_type, subject_id, page_size, page)
List the notes on one contact, company, deal, invoice, quotation, project and more, with their text and date. Teamleader: notes.list.
입력 스키마
{
"type": "object",
"properties": {
"subject_type": {
"type": "string",
"enum": [
"company",
"contact",
"creditNote",
"deal",
"invoice",
"meeting",
"nextgenProject",
"product",
"project",
"quotation",
"subscription"
],
"description": "What the notes are attached to (nextgenProject = a project in the projects module)."
},
"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)."
},
"page_size": {
"description": "Page size, 1-100 (Teamleader default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"subject_type",
"subject_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_create_contact(last_name, first_name, email, telephones, website, ...)
WRITE: create a new contact (person) in Teamleader. Only last_name is required. Returns the new contact's id. Teamleader: contacts.add.
입력 스키마
{
"type": "object",
"properties": {
"last_name": {
"type": "string",
"minLength": 1
},
"first_name": {
"type": "string"
},
"email": {
"description": "Primary email address.",
"type": "string"
},
"telephones": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"phone",
"mobile",
"fax"
]
},
"number": {
"type": "string",
"minLength": 1
}
},
"required": [
"type",
"number"
]
}
},
"website": {
"type": "string"
},
"language": {
"description": "Language code, e.g. en, nl, fr.",
"type": "string"
},
"tags": {
"description": "Tag names.",
"type": "array",
"items": {
"type": "string"
}
},
"remarks": {
"type": "string"
}
},
"required": [
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_create_company(name, email, telephones, website, vat_number, ...)
WRITE: create a new company in Teamleader. Only name is required. Returns the new company's id. Teamleader: companies.add.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"email": {
"description": "Primary email address.",
"type": "string"
},
"telephones": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"phone",
"fax"
]
},
"number": {
"type": "string",
"minLength": 1
}
},
"required": [
"type",
"number"
]
}
},
"website": {
"type": "string"
},
"vat_number": {
"type": "string"
},
"language": {
"description": "Language code, e.g. en, nl, fr.",
"type": "string"
},
"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)."
},
"business_type_id": {
"description": "Legal structure id (e.g. NV/BV).",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"tags": {
"description": "Tag names.",
"type": "array",
"items": {
"type": "string"
}
},
"remarks": {
"type": "string"
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_create_deal(customer_type, customer_id, contact_person_id, title, summary, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"customer_type": {
"type": "string",
"enum": [
"contact",
"company"
],
"description": "Whether the customer is a contact or a company."
},
"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."
},
"contact_person_id": {
"description": "For a company customer: the contact person.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"title": {
"type": "string",
"minLength": 1
},
"summary": {
"description": "The deal's remarks field.",
"type": "string"
},
"phase_id": {
"description": "Starting phase; defaults to the default pipeline's first phase.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"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_value_amount": {
"description": "Expected value; needs estimated_value_currency.",
"type": "number"
},
"estimated_value_currency": {
"type": "string",
"enum": [
"BAM",
"CAD",
"CHF",
"CLP",
"CNY",
"COP",
"CZK",
"DKK",
"EUR",
"GBP",
"INR",
"ISK",
"JPY",
"MAD",
"MXN",
"NOK",
"PEN",
"PLN",
"RON",
"SEK",
"TRY",
"USD",
"ZAR"
]
},
"estimated_probability": {
"description": "Win probability, 0 to 1.",
"type": "number",
"minimum": 0,
"maximum": 1
},
"estimated_closing_date": {
"description": "Expected closing date (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"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)."
},
"department_id": {
"description": "Department (company entity) id.",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
},
"required": [
"customer_type",
"customer_id",
"title"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_create_task(title, due_on, work_type_id, description, assignee_type, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"due_on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Due date (YYYY-MM-DD)."
},
"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)."
},
"description": {
"type": "string"
},
"assignee_type": {
"description": "With assignee_id.",
"type": "string",
"enum": [
"user",
"team"
]
},
"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_type": {
"description": "With customer_id.",
"type": "string",
"enum": [
"contact",
"company"
]
},
"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)."
},
"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)."
},
"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)."
},
"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)."
},
"estimated_duration_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"title",
"due_on",
"work_type_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_add_note(subject_type, subject_id, content, notify_user_ids)
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.
입력 스키마
{
"type": "object",
"properties": {
"subject_type": {
"type": "string",
"enum": [
"company",
"contact",
"creditNote",
"deal",
"invoice",
"meeting",
"nextgenProject",
"product",
"quotation",
"subscription"
],
"description": "What the note is attached to (nextgenProject = a project in the projects module)."
},
"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)."
},
"content": {
"type": "string",
"minLength": 1,
"description": "The note text."
},
"notify_user_ids": {
"description": "Users to notify about this note.",
"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)."
}
}
},
"required": [
"subject_type",
"subject_id",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_create_event(title, activity_type_id, starts_at, ends_at, description, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"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)."
},
"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)."
},
"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)."
},
"description": {
"type": "string"
},
"location": {
"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)."
},
"attendee_user_ids": {
"description": "Firm users who attend.",
"maxItems": 50,
"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)."
}
},
"links": {
"description": "Contacts, companies or deals the event is about.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"contact",
"company",
"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 linked record id (a UUID)."
}
},
"required": [
"type",
"id"
]
}
}
},
"required": [
"title",
"activity_type_id",
"starts_at",
"ends_at"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_complete_task(task_id)
WRITE: mark a task (to-do) as complete. It can be reopened in Teamleader. Teamleader: tasks.complete.
입력 스키마
{
"type": "object",
"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)."
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴teamleader_add_time_tracking(started_at, duration_minutes, ended_at, work_type_id, description, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"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)."
},
"duration_minutes": {
"description": "Time spent, in minutes. Give this or ended_at.",
"type": "integer",
"minimum": 1,
"maximum": 1440
},
"ended_at": {
"description": "End; give this or duration_minutes (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
},
"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)."
},
"description": {
"type": "string"
},
"subject_type": {
"description": "With subject_id: what the time was spent on (todo = a task, nextgenTask = a task in the projects module).",
"type": "string",
"enum": [
"company",
"contact",
"event",
"milestone",
"nextgenTask",
"ticket",
"todo"
]
},
"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)."
},
"invoiceable": {
"type": "boolean"
},
"user_id": {
"description": "Record the time for another user (default: the signed-in user).",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
},
"required": [
"started_at"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거