Read Synchroteam jobs, customers, sites, equipment and parts; create, schedule and complete jobs.
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: mark a job as completed, optionally with the real start and end times (give actual_start and actual_end together: Synchroteam may refuse the call with only one of them). Completing may trigger the account's 'job completed' notifications (email/SMS/webhook to managers, technicians or the customer), as configured in Synchroteam. Identify the job by exactly one of id, my_id or num. POST /job/complete.
Job id.
Job number.
Job myId.
Real end, yyyy-mm-dd hh:mm:ss.
Real start, yyyy-mm-dd hh:mm:ss.
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: mark a job as completed, optionally with the real start and end times (give actual_start and actual_end together: Synchroteam may refuse the call with only one of them). Completing may trigger the account's 'job completed' notifications (email/SMS/webhook to managers, technicians or the customer), as configured in Synchroteam. Identify the job by exactly one of id, my_id or num. POST /job/complete.
| Argument | Type | Description |
|---|---|---|
| id | string | Job id. |
| num | integer | Job number. |
| my_id | string | Job myId. |
| actual_end | string | Real end, yyyy-mm-dd hh:mm:ss. |
| actual_start | string | Real start, yyyy-mm-dd hh:mm:ss. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Job id."
},
"num": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Job number.",
"exclusiveMinimum": 0
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Job myId."
},
"actual_end": {
"type": "string",
"description": "Real end, yyyy-mm-dd hh:mm:ss."
},
"actual_start": {
"type": "string",
"description": "Real start, yyyy-mm-dd hh:mm:ss."
}
}
}WRITE: create a new customer (name and an address are required). If you pass myId and a customer with that myId already exists, nothing is created and an error is returned (use synchroteam_update_customer). POST /customer/send.
| Argument | Type | Description |
|---|---|---|
| name* | string | Customer name. |
| my_id | string | Your own reference for this customer. |
| address | string | Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States'). |
| vat_number | string | |
| contact_fax | string | |
| contact_email | string | |
| contact_phone | string | |
| addressComplement | string | Complementary address line (unit, floor...). |
| contact_last_name | string | |
WRITE: create a new piece of equipment under a site or a customer (give exactly one of site or customer; both is refused). If myId already exists nothing is created and an error is returned. POST /equipment/send.
| Argument | Type | Description |
|---|---|---|
| name* | string | Equipment name. |
| site | object | The site: exactly one of id or myId. |
| my_id | string | Your own reference for this equipment. |
| customer | object | The customer (when there is no site): exactly one of id or myId. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Equipment name."
},
"site": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"myId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference (myId)."
}
},
"description": "The site: exactly one of id or myId."
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference for this equipment."
},
"customer": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"myId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference (myId)."
}
},
"description": "The customer (when there is no site): exactly one of id or myId."
}
}
}WRITE: create a new job for a customer (status created, not yet scheduled; use synchroteam_schedule_job to assign a technician and time). The customer is required (id, myId or exact name); site, equipment and job type are optional. If myId already exists nothing is created and an error is returned. Synchroteam may send the account's 'job created' notifications (email/SMS/webhook, possibly to the customer), as configured. POST /job/send.
| Argument | Type | Description |
|---|---|---|
| site | object | The site: exactly one of id or myId. |
| type | object | Job type: exactly one of id or name (synchroteam_list_job_types). |
| my_id | string | Your own reference for this job. |
| skills | array | Required skills. |
| address | string | Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States'). |
| customer* | object | The customer: exactly one of id, myId or name. |
| priority | string | Default medium. |
| equipment | object |
WRITE: create a new site (a location of a customer). Needs a name, an address and the customer (id or myId). If myId already exists nothing is created and an error is returned. POST /site/send.
| Argument | Type | Description |
|---|---|---|
| name* | string | Site name. |
| my_id | string | Your own reference for this site. |
| address | string | Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States'). |
| customer* | object | The customer: exactly one of id or myId. |
| contact_name | string | |
| contact_email | string | |
| contact_phone | string | |
| contact_mobile | string | |
| addressComplement | string | Complementary address line (unit, floor...). |
One customer by id, myId, exact name or e-mail, with address, contact, custom fields and tags. GET /customer/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"id",
"myId",
"name",
"email"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The identifier."
}
}
}One stock depot by id, with the quantity of each part it holds. GET /depot/details.
| Argument | Type | Description |
|---|---|---|
| id* | string | Depot id (a GUID from synchroteam_list_depots). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Depot id (a GUID from synchroteam_list_depots)."
}
}
}One piece of equipment by id, myId or exact name, with its customer and site. GET /equipment/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"id",
"myId",
"name"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The identifier."
}
}
}One invoice by id, reference or number, with its lines. GET /invoice/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"id",
"reference",
"num"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The identifier."
}
}
}One job by num (the job number shown in the app), id or myId: status, customer/site/equipment, technician(s), schedule, actual times, time entries, parts used, report and custom fields. GET /job/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"num",
"id",
"myId"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "The identifier."
}
}
}Photo links of a job (url, file name, comment, report iteration). Image bytes are never returned. GET /job/photos.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"num",
"id",
"myId"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "The identifier."
}
}
}One part or service by id or reference. GET /part/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"id",
"reference"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The identifier."
}
}
}One quotation by id, reference or number, with its lines. GET /quotation/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"id",
"reference",
"num"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The identifier."
}
}
}One site by id, myId or exact name: address, contact, customer, custom fields, tags. GET /site/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"id",
"myId",
"name"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The identifier."
}
}
}One user by login or id. GET /user/details.
| Argument | Type | Description |
|---|---|---|
| by* | string | Which identifier `value` is. |
| value* | string | The identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"by",
"value"
],
"properties": {
"by": {
"enum": [
"login",
"id"
],
"type": "string",
"description": "Which identifier `value` is."
},
"value": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The identifier."
}
}
}List time entries and unavailabilities (travel, at work, clock, unavailable) of technicians. start_date and end_date go together and return anything overlapping that range. GET /activity/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| team_id | integer | |
| user_id | integer | |
| end_date | string | Range end (requires start_date). |
| page_size | integer | Results per page, 1-100 (default 25). |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| start_date | string | Range start (requires end_date). |
| user_login | string | |
| activity_type_name |
List service contracts by name, customer, site, period or active flag. GET /contract/list.
| Argument | Type | Description |
|---|---|---|
| end | string | Contracts on or before this date (yyyy-mm-dd). |
| name | string | |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| start | string | Contracts on or after this date (yyyy-mm-dd). |
| active | boolean | Active contracts (default true). |
| site_id | integer | |
| page_size | integer | Results per page, 1-100 (default 25). |
| site_my_id | string | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
List or search customers (name wildcard, e-mail, active flag, change time). Returns name, address, contact, custom fields, tags. GET /customer/list.
| Argument | Type | Description |
|---|---|---|
| name | string | Wildcard name search. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| string | Exact contact e-mail. | |
| active | boolean | Active customers (default true); false lists deactivated ones. |
| page_size | integer | Results per page, 1-100 (default 25). |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| changed_since | string | Only customers modified after this UTC date-time. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Wildcard name search."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"name",
"dateModified",
"dateCreated",
"myId"
],
"type": "string"
},
"email": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact contact e-mail."
},
"active": {
"type": "boolean",
"description": "Active customers (default true); false lists deactivated ones."
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"changed_since": {
"type": "string",
"description": "Only customers modified after this UTC date-time."
}
}
}List stock depots (warehouses and technician vans). The part quantities of one depot come from synchroteam_get_depot. GET /depot/list.
| Argument | Type | Description |
|---|---|---|
| name | string | Wildcard name search. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| page_size | integer | Results per page, 1-100 (default 25). |
| is_default | boolean | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| is_provider | boolean | Only depots that are (true) or are not (false) providers. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Wildcard name search."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"name",
"isProvider"
],
"type": "string"
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"is_default": {
"type": "boolean"
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"is_provider": {
"type": "boolean",
"description": "Only depots that are (true) or are not (false) providers."
}
}
}List or search pieces of equipment (assets) by name, customer, site, active flag, change time. GET /equipment/list.
| Argument | Type | Description |
|---|---|---|
| name | string | Wildcard name search. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| active | boolean | Active equipment (default true). |
| site_id | integer | |
| page_size | integer | Results per page, 1-100 (default 25). |
| site_my_id | string | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| customer_id | integer | |
| changed_since | string | Only equipment modified after this UTC date-time. |
List invoices (read only): number, status, customer, job, lines, totals. Filter by status, customer, site, job or time. GET /invoice/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| job_id | integer | |
| status | string | |
| job_num | integer | |
| site_id | integer | |
| job_my_id | string | |
| page_size | integer | Results per page, 1-100 (default 25). |
| paid_since | string | Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
| site_my_id | string | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
List job types (name, default duration, priority, skills, default report). Use their id or name when creating a job. GET /jobtype/list.
| Argument | Type | Description |
|---|---|---|
| name | string | Types whose name contains this. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| page_size | integer | Results per page, 1-100 (default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Types whose name contains this."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
}
}
}List jobs (simplified: no report, parts or time entries) filtered by status, schedule window, technician, team, customer, site, equipment, job type or project. Use synchroteam_get_job for the full record. GET /job/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| show | string | Default active. |
| sort | string | |
| my_id | string | Exact job myId. |
| status | array | One or more job statuses. |
| date_to | string | Jobs planned, ongoing or completed on or before this date-time. |
| site_id | integer | |
| team_id | integer | Jobs of technicians in this team id. |
| type_id | integer | Job type id. |
| user_id | integer |
List technicians' part requests (urgent, sent, completed, deleted flags). GET /partrequest/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| is_sent | boolean | |
| is_urgent | boolean | |
| page_size | integer | Results per page, 1-100 (default 25). |
| is_deleted | boolean | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| is_complete | boolean | |
| changed_since | string | Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
| created_since | string | Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
List the parts and services catalog (reference, name, price, category, tax, tracked/serialized flags, type). GET /part/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| type | string | |
| status | string | |
| page_size | integer | Results per page, 1-100 (default 25). |
| is_tracked | boolean | Only parts tracked (true) or not tracked (false) in inventory. |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| category_id | integer | |
| category_name | string | |
| changed_since | string |
List projects (groups of jobs) by customer, site, equipment or project type. GET /project/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| site_id | integer | |
| type_id | integer | |
| page_size | integer | Results per page, 1-100 (default 25). |
| type_name | string | |
| site_my_id | string | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| customer_id | integer | |
| equipment_id | integer | |
| customer_my_id | string | |
List quotations (read only): number, status, customer, job, lines, totals. GET /quotation/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| job_id | integer | |
| status | string | |
| job_num | integer | |
| site_id | integer | |
| job_my_id | string | |
| page_size | integer | Results per page, 1-100 (default 25). |
| site_my_id | string | |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| customer_id | integer | |
List or search sites (a customer's locations): by name, customer, active flag, change time. GET /site/list.
| Argument | Type | Description |
|---|---|---|
| name | string | Wildcard name search. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| active | boolean | Active sites (default true). |
| page_size | integer | Results per page, 1-100 (default 25). |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| customer_id | integer | Only sites of this customer id. |
| changed_since | string | Only sites modified after this UTC date-time. |
| customer_my_id | string | Only sites of the customer with this myId. |
List teams with member counts and tags. GET /team/list.
| Argument | Type | Description |
|---|---|---|
| name | string | Teams whose name contains this. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| show | string | |
| page_size | integer | Results per page, 1-100 (default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Teams whose name contains this."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"show": {
"enum": [
"active",
"deleted",
"all"
],
"type": "string"
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
}
}
}List users: login, name, profile (technician, manager, administrator), teams, skills, last known location. Passwords are never returned. GET /user/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| show | string | Default active. |
| team_id | integer | Only users of this team id. |
| page_size | integer | Results per page, 1-100 (default 25). |
| team_name | string | Only users of this team name. |
| skilled_trade | string | Only users with this skill. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"show": {
"enum": [
"active",
"deleted",
"all"
],
"type": "string",
"description": "Default active."
},
"team_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only users of this team id.",
"exclusiveMinimum": 0
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"team_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only users of this team name."
},
"skilled_trade": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only users with this skill."
}
}
}WRITE: schedule a job for a technician between two times (also re-schedules a scheduled or paused job). Synchroteam may notify technicians and/or customers (email/SMS/webhook) as configured in the account's notification settings (SMS uses the account's paid credits). Identify the job by exactly one of id, my_id or num. POST /job/schedule.
| Argument | Type | Description |
|---|---|---|
| id | string | Job id. |
| num | integer | Job number. |
| my_id | string | Job myId. |
| technician* | object | The technician: exactly one of id or login (synchroteam_list_users). |
| scheduled_end* | string | End, yyyy-mm-dd hh:mm:ss (after the start). |
| scheduled_start* | string | Start, yyyy-mm-dd hh:mm:ss. |
| other_technician_logins | array | Logins of additional technicians. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"scheduled_start",
"scheduled_end",
"technician"
],
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Job id."
},
"num": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Job number.",
"exclusiveMinimum": 0
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Job myId."
},
"technician": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"login": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"description": "The technician: exactly one of id or login (synchroteam_list_users)."
},
"scheduled_end": {
"type": "string",
"description": "End, yyyy-mm-dd hh:mm:ss (after the start)."
},
"scheduled_start": {
"type": "string",
"description": "Start, yyyy-mm-dd hh:mm:ss."
},
"other_technician_logins": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 10,
"description": "Logins of additional technicians."
}
}
}WRITE: mark a job as started (status started, actual start now). If the job's technician already has another started job, Synchroteam pauses that one. Starting may trigger the account's 'job started' notifications (email/SMS/webhook to managers, technicians or the customer). Identify the job by exactly one of id, my_id or num. POST /job/start.
| Argument | Type | Description |
|---|---|---|
| id | string | Job id. |
| num | integer | Job number. |
| my_id | string | Job myId. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Job id."
},
"num": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Job number.",
"exclusiveMinimum": 0
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Job myId."
}
}
}WRITE: change fields of an existing customer by its numeric id. Only the fields you pass are changed; nothing is cleared. The customer id must exist (an unknown id fails). POST /customer/send.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Customer id (synchroteam_list_customers). |
| name | string | |
| address | string | Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States'). |
| vat_number | string | |
| contact_fax | string | |
| contact_email | string | |
| contact_phone | string | |
| addressComplement | string | Complementary address line (unit, floor...). |
| contact_last_name | string | |
| contact_first_name |
| contact_first_name |
| string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Customer name."
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference for this customer."
},
"address": {
"type": "string",
"maxLength": 400,
"minLength": 1,
"description": "Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States')."
},
"vat_number": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"contact_fax": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"contact_email": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"contact_phone": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"addressComplement": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Complementary address line (unit, floor...)."
},
"contact_last_name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"contact_first_name": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}| The equipment: exactly one of id or myId. |
| description | string | Job description. |
| contact_email | string |
| contact_phone | string |
| contact_mobile | string |
| addressComplement | string | Complementary address line (unit, floor...). |
| contact_last_name | string |
| contact_first_name | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer"
],
"properties": {
"site": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"myId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference (myId)."
}
},
"description": "The site: exactly one of id or myId."
},
"type": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact name (customers and job types only)."
}
},
"description": "Job type: exactly one of id or name (synchroteam_list_job_types)."
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference for this job."
},
"skills": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 20,
"description": "Required skills."
},
"address": {
"type": "string",
"maxLength": 400,
"minLength": 1,
"description": "Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States')."
},
"customer": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"myId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference (myId)."
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact name (customers and job types only)."
}
},
"description": "The customer: exactly one of id, myId or name."
},
"priority": {
"enum": [
"low",
"medium",
"high"
],
"type": "string",
"description": "Default medium."
},
"equipment": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"myId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference (myId)."
}
},
"description": "The equipment: exactly one of id or myId."
},
"description": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"description": "Job description."
},
"contact_email": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"contact_phone": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"contact_mobile": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"addressComplement": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Complementary address line (unit, floor...)."
},
"contact_last_name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"contact_first_name": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"customer"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Site name."
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference for this site."
},
"address": {
"type": "string",
"maxLength": 400,
"minLength": 1,
"description": "Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States')."
},
"customer": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 80,
"minLength": 1
}
],
"description": "Synchroteam id."
},
"myId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Your own reference (myId)."
}
},
"description": "The customer: exactly one of id or myId."
},
"contact_name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"contact_email": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"contact_phone": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"contact_mobile": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"addressComplement": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Complementary address line (unit, floor...)."
}
}
}| string |
| Exact activity type name. |
| activity_type_category | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"startDate",
"endDate",
"activityType_name",
"user_login"
],
"type": "string"
},
"team_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"end_date": {
"type": "string",
"description": "Range end (requires start_date)."
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"start_date": {
"type": "string",
"description": "Range start (requires end_date)."
},
"user_login": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"activity_type_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact activity type name."
},
"activity_type_category": {
"enum": [
"unavailability",
"atwork",
"travel",
"clock"
],
"type": "string"
}
}
}| customer_id | integer |
| customer_my_id | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Contracts on or before this date (yyyy-mm-dd)."
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"num",
"start",
"end",
"datemodified"
],
"type": "string"
},
"start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Contracts on or after this date (yyyy-mm-dd)."
},
"active": {
"type": "boolean",
"description": "Active contracts (default true)."
},
"site_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"site_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}| customer_my_id | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Wildcard name search."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"name",
"dateModified",
"dateCreated",
"myId"
],
"type": "string"
},
"active": {
"type": "boolean",
"description": "Active equipment (default true)."
},
"site_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"site_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"changed_since": {
"type": "string",
"description": "Only equipment modified after this UTC date-time."
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}| customer_id | integer |
| changed_since | string | Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
| created_since | string | Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
| customer_my_id | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"job_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"status": {
"enum": [
"draft",
"new",
"sent",
"late",
"paid",
"cancelled"
],
"type": "string"
},
"job_num": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"site_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"job_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"paid_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
},
"site_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"changed_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
},
"created_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}| Technician user id. |
| date_from | string | Jobs planned, ongoing or completed on or after this date-time. |
| page_size | integer | Results per page, 1-100 (default 25). |
| type_name | string | Job type name. |
| has_photos | boolean | Only jobs that have (true) or lack (false) photos. |
| project_id | string | Project id. |
| site_my_id | string |
| sort_order | string | Sort order (default ascending; invoices and quotations default to descending). |
| user_login | string | Technician login. |
| customer_id | integer |
| equipment_id | integer |
| changed_since | string | Jobs modified on or after this date-time. |
| created_since | string | Jobs created on or after this date-time. |
| customer_my_id | string |
| equipment_my_id | string |
| validated_since | string | Jobs validated on or after this date-time. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"show": {
"enum": [
"active",
"deleted",
"all"
],
"type": "string",
"description": "Default active."
},
"sort": {
"enum": [
"num",
"scheduledstart",
"scheduledend",
"actualstart",
"actualend",
"datemodified"
],
"type": "string"
},
"my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Exact job myId."
},
"status": {
"type": "array",
"items": {
"enum": [
"created",
"scheduled",
"synchronized",
"started",
"paused",
"completed",
"validated",
"cancelled"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"description": "One or more job statuses."
},
"date_to": {
"type": "string",
"description": "Jobs planned, ongoing or completed on or before this date-time."
},
"site_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"team_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Jobs of technicians in this team id.",
"exclusiveMinimum": 0
},
"type_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Job type id.",
"exclusiveMinimum": 0
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Technician user id.",
"exclusiveMinimum": 0
},
"date_from": {
"type": "string",
"description": "Jobs planned, ongoing or completed on or after this date-time."
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"type_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Job type name."
},
"has_photos": {
"type": "boolean",
"description": "Only jobs that have (true) or lack (false) photos."
},
"project_id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Project id."
},
"site_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"user_login": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Technician login."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"equipment_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"changed_since": {
"type": "string",
"description": "Jobs modified on or after this date-time."
},
"created_since": {
"type": "string",
"description": "Jobs created on or after this date-time."
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"equipment_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"validated_since": {
"type": "string",
"description": "Jobs validated on or after this date-time."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"is_sent": {
"type": "boolean"
},
"is_urgent": {
"type": "boolean"
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"is_deleted": {
"type": "boolean"
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"is_complete": {
"type": "boolean"
},
"changed_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
},
"created_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
}
}
}| Only parts modified after this UTC date-time. |
| is_serializable | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"name",
"reference",
"category"
],
"type": "string"
},
"type": {
"enum": [
"part",
"service",
"travel",
"other"
],
"type": "string"
},
"status": {
"enum": [
"active",
"inactive"
],
"type": "string"
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"is_tracked": {
"type": "boolean",
"description": "Only parts tracked (true) or not tracked (false) in inventory."
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"category_name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"changed_since": {
"type": "string",
"description": "Only parts modified after this UTC date-time."
},
"is_serializable": {
"type": "boolean"
}
}
}| equipment_my_id |
| string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"site_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"type_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"type_name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"site_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"equipment_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"equipment_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}| changed_since |
| string |
| Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
| created_since | string | Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied. |
| customer_my_id | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"job_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"status": {
"enum": [
"draft",
"new",
"sent",
"accepted"
],
"type": "string"
},
"job_num": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"site_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"job_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"site_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"changed_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
},
"created_since": {
"type": "string",
"description": "Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied."
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Wildcard name search."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"name",
"dateModified",
"dateCreated",
"myId"
],
"type": "string"
},
"active": {
"type": "boolean",
"description": "Active sites (default true)."
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"sort_order": {
"enum": [
"ascending",
"descending"
],
"type": "string",
"description": "Sort order (default ascending; invoices and quotations default to descending)."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only sites of this customer id.",
"exclusiveMinimum": 0
},
"changed_since": {
"type": "string",
"description": "Only sites modified after this UTC date-time."
},
"customer_my_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Only sites of the customer with this myId."
}
}
}| string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Customer id (synchroteam_list_customers).",
"exclusiveMinimum": 0
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"address": {
"type": "string",
"maxLength": 400,
"minLength": 1,
"description": "Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States')."
},
"vat_number": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"contact_fax": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"contact_email": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"contact_phone": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"addressComplement": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Complementary address line (unit, floor...)."
},
"contact_last_name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"contact_first_name": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}