Read CentralStationCRM people, companies, deals, tasks; create and update people, companies, deals.
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.
Total number of people, companies, deals or projects (optionally only those with a tag). GET /<resource>/count.
Which records to count.
Only records with this tag.
Total number of people, companies, deals or projects (optionally only those with a tag). GET /<resource>/count.
| Argument | Type | Description |
|---|---|---|
| resource* | string | Which records to count. |
| tag_name | string | Only records with this tag. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"resource"
],
"properties": {
"resource": {
"enum": [
"people",
"companies",
"deals",
"projects"
],
"type": "string",
"description": "Which records to count."
},
"tag_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only records with this tag."
}
}
}WRITE: create a company. Nothing is sent to the contact. POST /companies.
| Argument | Type | Description |
|---|---|---|
| name* | string | Company name (max 120). |
| user_id | integer | Responsible user id (default: the API user). |
| background | string | Background notes about the company. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Company name (max 120)."
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Responsible user id (default: the API user).",
"exclusiveMinimum": 0
},
"background": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Background notes about the company."
}
}
}WRITE: create a deal (sales opportunity). Use list_deal_types for pipeline and stage ids. Pipelines with a monetary value or target date need value and target_date (value_type defaults to total); the vendor says what is missing. Nothing is sent to the contact. POST /deals.
| Argument | Type | Description |
|---|---|---|
| name* | string | Deal name (max 120). |
| value | number | Monetary value (with value_type total: the full amount). |
| user_id | integer | Responsible user id. |
| currency | string | Currency (account default if omitted). |
| background | string | Details about the deal. |
| company_id | integer | Company the deal belongs to. |
| value_type | string | How the value is billed (default total). |
| probability | integer | Probability of winning, percent. |
| target_date | string | Date the deal shall be won. |
WRITE: add a note to the history of one or more people, companies, deals or projects. Nothing is sent to the contact. POST /protocols.
| Argument | Type | Description |
|---|---|---|
| name* | string | Note title (max 100 characters). |
| content* | string | Note text (markdown). |
| deal_ids | array | Deals the note belongs to. |
| person_ids | array | People the note belongs to. |
| company_ids | array | Companies the note belongs to. |
| project_ids | array | Projects the note belongs to. |
| confidential | boolean | true = visible only to users with at least power-user rights (not only to you). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"content"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Note title (max 100 characters)."
},
"content": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Note text (markdown)."
},
"deal_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 20,
"description": "Deals the note belongs to."
},
"person_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 20,
"description": "People the note belongs to."
},
"company_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 20,
"description": "Companies the note belongs to."
},
"project_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 20,
"description": "Projects the note belongs to."
},
"confidential": {
"type": "boolean",
"description": "true = visible only to users with at least power-user rights (not only to you)."
}
}
}WRITE: create a contact person (last name required), optionally with email addresses and phone numbers. Nothing is sent to the contact. POST /people.
| Argument | Type | Description |
|---|---|---|
| name* | string | Last name (max 80). |
| title | string | Title, e.g. Dr. (max 80). |
| emails | array | |
| phones | array | |
| user_id | integer | Responsible user id (default: the API user). |
| background | string | Background notes about the person. |
| first_name | string | First name (max 80). |
| salutation | string | Free-text salutation (max 80). |
| country_code | string | Language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Last name (max 80)."
},
"title": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Title, e.g. Dr. (max 80)."
},
"emails": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"enum": [
"office",
"private",
"other"
],
"type": "string",
"description": "Kind of address."
},
"value": {
"type": "string",
"maxLength": 250,
"minLength": 1,
"description": "Email address."
}
}
},
"maxItems": 10
},
"phones": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"enum": [
"office",
"office_hq",
"mobile",
"fax",
"private",
"other"
],
"type": "string",
"description": "Kind of number."
},
"value": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Phone number."
}
}
},
"maxItems": 10
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Responsible user id (default: the API user).",
"exclusiveMinimum": 0
},
"background": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Background notes about the person."
},
"first_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "First name (max 80)."
},
"salutation": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Free-text salutation (max 80)."
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code)."
}
}
}WRITE: create a task (to-do, call, email, visit...) optionally attached to a person, company or deal and assigned to a user. Nothing is sent to the contact. POST /tasks.
| Argument | Type | Description |
|---|---|---|
| name* | string | What has to be done. |
| badge | string | Kind of task (default task). |
| fuzzy | boolean | true = only the day of precise_time matters, not the hour. |
| user_id | integer | User the task is assigned to (default: the user behind the API key). |
| precise_time | string | When it is due. |
| attachable_id | integer | Id of that record (required with attachable_type). |
| attachable_type | string | Kind of record the task belongs to (omit for a general task). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "What has to be done."
},
"badge": {
"enum": [
"task",
"call",
"email",
"visit",
"preparation",
"important"
],
"type": "string",
"description": "Kind of task (default task)."
},
"fuzzy": {
"type": "boolean",
"description": "true = only the day of precise_time matters, not the hour."
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "User the task is assigned to (default: the user behind the API key).",
"exclusiveMinimum": 0
},
"precise_time": {
"type": "string",
"description": "When it is due."
},
"attachable_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Id of that record (required with attachable_type).",
"exclusiveMinimum": 0
},
"attachable_type": {
"enum": [
"Person",
"Company",
"Deal"
],
"type": "string",
"description": "Kind of record the task belongs to (omit for a general task)."
}
}
}One company by id, optionally with related records (people, deals, tags, tasks, contact details, addresses). GET /companies/{id}.
| Argument | Type | Description |
|---|---|---|
| includes | array | Related records to embed (an extra call is not needed for them). |
| company_id* | integer | CentralStationCRM company id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_id"
],
"properties": {
"includes": {
"type": "array",
"items": {
"enum": [
"positions",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs",
"connections"
],
"type": "string"
},
"maxItems": 10,
"description": "Related records to embed (an extra call is not needed for them)."
},
"company_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM company id.",
"exclusiveMinimum": 0
}
}
}The CentralStationCRM user this API key belongs to: id, name, login email, the account (subdomain) it is signed in to, timezone. Use the user id to assign records or tasks. GET /user.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One deal by id, optionally with its tags, people, company, tasks and calendar events. GET /deals/{id}.
| Argument | Type | Description |
|---|---|---|
| deal_id* | integer | CentralStationCRM deal id. |
| includes | array | Related records to embed (an extra call is not needed for them). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"deal_id"
],
"properties": {
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM deal id.",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
],
"type": "string"
},
"maxItems": 6,
"description": "Related records to embed (an extra call is not needed for them)."
}
}
}Number and total value of all deals (optionally only those with a tag), with the account currency. GET /deals/stats.
| Argument | Type | Description |
|---|---|---|
| tag_name | string | Only deals with this tag. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"tag_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only deals with this tag."
}
}
}One note / history entry by id. GET /protocols/{id}.
| Argument | Type | Description |
|---|---|---|
| note_id* | integer | CentralStationCRM protocol (note) id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"note_id"
],
"properties": {
"note_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM protocol (note) id.",
"exclusiveMinimum": 0
}
}
}One person by id, optionally with related records (companies, deals, tags, tasks, email addresses, phone numbers, addresses). GET /people/{id}.
| Argument | Type | Description |
|---|---|---|
| includes | array | Related records to embed (an extra call is not needed for them). |
| person_id* | integer | CentralStationCRM person id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"person_id"
],
"properties": {
"includes": {
"type": "array",
"items": {
"enum": [
"positions",
"companies",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs"
],
"type": "string"
},
"maxItems": 10,
"description": "Related records to embed (an extra call is not needed for them)."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM person id.",
"exclusiveMinimum": 0
}
}
}One project by id, optionally with its tags, people, company, tasks and calendar events. GET /projects/{id}.
| Argument | Type | Description |
|---|---|---|
| includes | array | Related records to embed (an extra call is not needed for them). |
| project_id* | integer | CentralStationCRM project id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id"
],
"properties": {
"includes": {
"type": "array",
"items": {
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
],
"type": "string"
},
"maxItems": 6,
"description": "Related records to embed (an extra call is not needed for them)."
},
"project_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM project id.",
"exclusiveMinimum": 0
}
}
}One task by id. GET /tasks/{id}.
| Argument | Type | Description |
|---|---|---|
| task_id* | integer | CentralStationCRM task id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM task id.",
"exclusiveMinimum": 0
}
}
}List calendar events (appointments, meetings) of the account. Filter by upcoming/old and date range. GET /cal_events.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| after | string | Only events after this date. |
| order | string | Ordering by id. |
| state | string | Only upcoming or only past events. |
| before | string | Only events before this date. |
| perpage | integer | Results per page, 1-250 (default 50). |
{
"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
},
"after": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only events after this date."
},
"order": {
"enum": [
"id-asc",
"id-desc"
],
"type": "string",
"description": "Ordering by id."
},
"state": {
"enum": [
"upcoming",
"old"
],
"type": "string",
"description": "Only upcoming or only past events."
},
"before": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only events before this date."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
}
}
}List companies. Optionally filter by tag and order by name, creation or last update. Use search_companies to find one by name. GET /companies.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| order | string | Ordering (abc = by name, new = creation date, update = last change). |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
| tag_name | string | Only companies with this tag. |
{
"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
},
"order": {
"enum": [
"abc-asc",
"abc-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc"
],
"type": "string",
"description": "Ordering (abc = by name, new = creation date, update = last change)."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"positions",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs",
"connections"
],
"type": "string"
},
"maxItems": 10,
"description": "Related records to embed (an extra call is not needed for them)."
},
"tag_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only companies with this tag."
}
}
}List the deal types (pipelines) with their stages. Use the ids (and stage ids) to create deals and to move them between stages. GET /deal_types.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List deals (sales opportunities) with value, state (open_0/25/50/75, won, lost), pipeline and stage ids, target date. Filter by company, responsible user, pipeline or state; order by date, value, state or name. GET /deals.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| order | string | Ordering. |
| perpage | integer | Results per page, 1-250 (default 50). |
| user_id | integer | Only deals of this responsible user. |
| includes | array | Related records to embed (an extra call is not needed for them). |
| tag_name | string | Only deals with this tag. |
| company_id | integer | Only deals of this company. |
| deal_type_id | integer | Only deals in this pipeline (see list_deal_types). |
| current_state | string |
List protocols: notes, logged emails and other history entries. Filter by the person, company, deal or project they belong to. GET /protocols.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| order | string | Ordering by id (id-desc = newest first). |
| deal_id | integer | Only entries of this deal. |
| perpage | integer | Results per page, 1-250 (default 50). |
| person_id | integer | Only entries of this person. |
| company_id | integer | Only entries of this company. |
| project_id | integer | Only entries of this project. |
{
"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
},
"order": {
"enum": [
"id-asc",
"id-desc"
],
"type": "string",
"description": "Ordering by id (id-desc = newest first)."
},
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only entries of this deal.",
"exclusiveMinimum": 0
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only entries of this person.",
"exclusiveMinimum": 0
},
"company_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only entries of this company.",
"exclusiveMinimum": 0
},
"project_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only entries of this project.",
"exclusiveMinimum": 0
}
}
}List contact people. Optionally filter by tag and order by name, creation or last update. Use search_people to find a person by name, email or phone. GET /people.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| order | string | Ordering (abc = by name, new = creation date, update = last change). |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
| tag_name | string | Only people with this tag. |
{
"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
},
"order": {
"enum": [
"abc-asc",
"abc-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc"
],
"type": "string",
"description": "Ordering (abc = by name, new = creation date, update = last change)."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"positions",
"companies",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs"
],
"type": "string"
},
"maxItems": 10,
"description": "Related records to embed (an extra call is not needed for them)."
},
"tag_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only people with this tag."
}
}
}List projects with state, target date and company. Filter by tag; order by date, state or name. GET /projects.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| order | string | Ordering. |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
| tag_name | string | Only projects with this tag. |
{
"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
},
"order": {
"enum": [
"date-asc",
"date-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc",
"state-asc",
"state-desc",
"abc-asc",
"abc-desc"
],
"type": "string",
"description": "Ordering."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
],
"type": "string"
},
"maxItems": 6,
"description": "Related records to embed (an extra call is not needed for them)."
},
"tag_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only projects with this tag."
}
}
}List all tag names used in the account. GET /tags/list.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| perpage | integer | Results per page, 1-250 (default 50). |
{
"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
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
}
}
}List tasks (to-dos, calls, emails, visits) of the account. Filter by open/closed state, due-date range and responsible user. GET /tasks.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| after | string | Only tasks after this date. |
| order | string | Ordering by id. |
| state | string | Only open or only closed tasks. |
| before | string | Only tasks before this date. |
| perpage | integer | Results per page, 1-250 (default 50). |
| user_id | integer | Only tasks of this user. |
{
"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
},
"after": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only tasks after this date."
},
"order": {
"enum": [
"id-asc",
"id-desc"
],
"type": "string",
"description": "Ordering by id."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "Only open or only closed tasks."
},
"before": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only tasks before this date."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only tasks of this user.",
"exclusiveMinimum": 0
}
}
}List the users of the CentralStationCRM account (id, name, email). Use the ids for responsible-user filters and for assigning records. GET /users.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| active | boolean | Only currently active users. |
| perpage | integer | Results per page, 1-250 (default 50). |
{
"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
},
"active": {
"type": "boolean",
"description": "Only currently active users."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
}
}
}Full-text search across people, companies, deals and projects for a term. GET /search.
| Argument | Type | Description |
|---|---|---|
| term* | string | Search term. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"term"
],
"properties": {
"term": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Search term."
}
}
}Find companies by name. GET /companies/search.
| Argument | Type | Description |
|---|---|---|
| name* | string | Company name (or part of it). |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Company name (or part of it)."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"positions",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs",
"connections"
],
"type": "string"
},
"maxItems": 10,
"description": "Related records to embed (an extra call is not needed for them)."
}
}
}Find deals by name. GET /deals/search.
| Argument | Type | Description |
|---|---|---|
| name* | string | Deal name (or part of it). |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Deal name (or part of it)."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
],
"type": "string"
},
"maxItems": 6,
"description": "Related records to embed (an extra call is not needed for them)."
}
}
}Find people by last name, first name, email address or phone number (email and phone cannot be combined). Give at least one criterion. GET /people/search.
| Argument | Type | Description |
|---|---|---|
| name | string | Last name. |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| string | Email address (not combinable with phone). | |
| phone | string | Phone number (not combinable with email). |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
| first_name | string | First name (max 80). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Last name."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"email": {
"type": "string",
"maxLength": 320,
"minLength": 1,
"description": "Email address (not combinable with phone)."
},
"phone": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Phone number (not combinable with email)."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"positions",
"companies",
"deals",
"projects",
"tags",
"tasks",
"tels",
"emails",
"homepages",
"addrs"
],
"type": "string"
},
"maxItems": 10,
"description": "Related records to embed (an extra call is not needed for them)."
},
"first_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "First name (max 80)."
}
}
}Find projects by name. GET /projects/search.
| Argument | Type | Description |
|---|---|---|
| name* | string | Project name (or part of it). |
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| perpage | integer | Results per page, 1-250 (default 50). |
| includes | array | Related records to embed (an extra call is not needed for them). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Project name (or part of it)."
},
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
],
"type": "string"
},
"maxItems": 6,
"description": "Related records to embed (an extra call is not needed for them)."
}
}
}WRITE: change fields of a company. Only the fields you give are sent. PUT /companies/{id}.
| Argument | Type | Description |
|---|---|---|
| name | string | New company name (max 120). |
| user_id | integer | New responsible user id. |
| background | string | New background notes (replaces the old text). |
| company_id* | integer | CentralStationCRM company id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_id"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "New company name (max 120)."
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "New responsible user id.",
"exclusiveMinimum": 0
},
"background": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "New background notes (replaces the old text)."
},
"company_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM company id.",
"exclusiveMinimum": 0
}
}
}WRITE: change fields of a deal, for example move it to another stage or set its state to won or lost. Only the fields you give are sent. PUT /deals/{id}.
| Argument | Type | Description |
|---|---|---|
| name | string | New deal name (max 120). |
| value | number | Monetary value (with value_type total: the full amount). |
| deal_id* | integer | CentralStationCRM deal id. |
| user_id | integer | Responsible user id. |
| currency | string | Currency (account default if omitted). |
| background | string | Details about the deal. |
| company_id | integer | Company the deal belongs to. |
| value_type | string | How the value is billed (default total). |
| probability | integer | Probability of winning, percent. |
WRITE: change fields of a person. Only the fields you give are sent; the rest stays. PUT /people/{id}.
| Argument | Type | Description |
|---|---|---|
| name | string | New last name (max 80). |
| title | string | New title (max 80). |
| user_id | integer | New responsible user id. |
| person_id* | integer | CentralStationCRM person id. |
| background | string | New background notes (replaces the old text). |
| first_name | string | New first name (max 80). |
| salutation | string | New salutation (max 80). |
| country_code | string | New language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"person_id"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "New last name (max 80)."
},
"title": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "New title (max 80)."
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "New responsible user id.",
"exclusiveMinimum": 0
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM person id.",
"exclusiveMinimum": 0
},
"background": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "New background notes (replaces the old text)."
},
"first_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "New first name (max 80)."
},
"salutation": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "New salutation (max 80)."
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "New language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code)."
}
}
}WRITE: change a task, for example mark it done (finished = true), rename it or reschedule it. Only the fields you give are sent. PUT /tasks/{id}.
| Argument | Type | Description |
|---|---|---|
| name | string | New task text. |
| badge | string | New kind of task. |
| fuzzy | boolean | true = only the day of precise_time matters. |
| task_id* | integer | CentralStationCRM task id. |
| user_id | integer | New assignee. |
| finished | boolean | true = mark done, false = reopen. |
| precise_time | string | New due date-time. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_id"
],
"properties": {
"name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "New task text."
},
"badge": {
"enum": [
"task",
"call",
"email",
"visit",
"preparation",
"important"
],
"type": "string",
"description": "New kind of task."
},
"fuzzy": {
"type": "boolean",
"description": "true = only the day of precise_time matters."
},
"task_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM task id.",
"exclusiveMinimum": 0
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "New assignee.",
"exclusiveMinimum": 0
},
"finished": {
"type": "boolean",
"description": "true = mark done, false = reopen."
},
"precise_time": {
"type": "string",
"description": "New due date-time."
}
}
}| deal_type_id |
| integer |
| Pipeline id (see list_deal_types). |
| deal_type_stage_id | integer | Stage id within the pipeline. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Deal name (max 120)."
},
"value": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Monetary value (with value_type total: the full amount)."
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Responsible user id.",
"exclusiveMinimum": 0
},
"currency": {
"enum": [
"EUR",
"CHF",
"USD"
],
"type": "string",
"description": "Currency (account default if omitted)."
},
"background": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Details about the deal."
},
"company_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Company the deal belongs to.",
"exclusiveMinimum": 0
},
"value_type": {
"enum": [
"total",
"monthly",
"hourly",
"daily"
],
"type": "string",
"description": "How the value is billed (default total)."
},
"probability": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Probability of winning, percent."
},
"target_date": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Date the deal shall be won."
},
"deal_type_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Pipeline id (see list_deal_types).",
"exclusiveMinimum": 0
},
"deal_type_stage_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Stage id within the pipeline.",
"exclusiveMinimum": 0
}
}
}| Only deals in this state. |
{
"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
},
"order": {
"enum": [
"date-asc",
"date-desc",
"new-asc",
"new-desc",
"update-asc",
"update-desc",
"value-asc",
"value-desc",
"state-asc",
"state-desc",
"abc-asc",
"abc-desc"
],
"type": "string",
"description": "Ordering."
},
"perpage": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only deals of this responsible user.",
"exclusiveMinimum": 0
},
"includes": {
"type": "array",
"items": {
"enum": [
"tags",
"people",
"company",
"tasks",
"pending_tasks",
"cal_events"
],
"type": "string"
},
"maxItems": 6,
"description": "Related records to embed (an extra call is not needed for them)."
},
"tag_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only deals with this tag."
},
"company_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only deals of this company.",
"exclusiveMinimum": 0
},
"deal_type_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only deals in this pipeline (see list_deal_types).",
"exclusiveMinimum": 0
},
"current_state": {
"enum": [
"open_0",
"open_25",
"open_50",
"open_75",
"won",
"lost"
],
"type": "string",
"description": "Only deals in this state."
}
}
}| target_date |
| string |
| Date the deal shall be won. |
| deal_type_id | integer | Pipeline id (see list_deal_types). |
| current_state | string | New state: open_0/25/50/75, won or lost. |
| deal_type_stage_id | integer | Stage id within the pipeline. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"deal_id"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "New deal name (max 120)."
},
"value": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Monetary value (with value_type total: the full amount)."
},
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "CentralStationCRM deal id.",
"exclusiveMinimum": 0
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Responsible user id.",
"exclusiveMinimum": 0
},
"currency": {
"enum": [
"EUR",
"CHF",
"USD"
],
"type": "string",
"description": "Currency (account default if omitted)."
},
"background": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "Details about the deal."
},
"company_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Company the deal belongs to.",
"exclusiveMinimum": 0
},
"value_type": {
"enum": [
"total",
"monthly",
"hourly",
"daily"
],
"type": "string",
"description": "How the value is billed (default total)."
},
"probability": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Probability of winning, percent."
},
"target_date": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Date the deal shall be won."
},
"deal_type_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Pipeline id (see list_deal_types).",
"exclusiveMinimum": 0
},
"current_state": {
"enum": [
"open_0",
"open_25",
"open_50",
"open_75",
"won",
"lost"
],
"type": "string",
"description": "New state: open_0/25/50/75, won or lost."
},
"deal_type_stage_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Stage id within the pipeline.",
"exclusiveMinimum": 0
}
}
}