Read deals, persons, organizations, activities and pipelines; create and update CRM records.
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.
Add a note, linked to at least one of a deal/person/organization/lead. `content` is required (HTML or plain text). Uses v1 (v2 has no notes endpoint). Pipedrive REST: POST /api/v1/notes.
Note body — HTML or plain text (required).
Attach to this organization id.
Attach to this deal id.
Attach to this lead id (a UUID string).
Attach to this person id.
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.
Add a note, linked to at least one of a deal/person/organization/lead. `content` is required (HTML or plain text). Uses v1 (v2 has no notes endpoint). Pipedrive REST: POST /api/v1/notes.
| Argument | Type | Description |
|---|---|---|
| org_id | integer | Attach to this organization id. |
| content* | string | Note body — HTML or plain text (required). |
| deal_id | integer | Attach to this deal id. |
| lead_id | string | Attach to this lead id (a UUID string). |
| person_id | integer | Attach to this person id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"content"
],
"properties": {
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Attach to this organization id."
},
"content": {
"type": "string",
"minLength": 1,
"description": "Note body — HTML or plain text (required)."
},
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Attach to this deal id."
},
"lead_id": {
"type": "string",
"description": "Attach to this lead id (a UUID string)."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Attach to this person id."
}
}
}Create a new activity (task/event). `subject` is required; link it to a deal/person/org and set type/date/time as needed. Pipedrive REST: POST /api/v2/activities.
| Argument | Type | Description |
|---|---|---|
| done | boolean | Whether the activity is already marked done. |
| note | string | Free-text note attached to the activity. |
| type | string | Activity type key, e.g. 'call', 'meeting', 'task', 'email'. |
| org_id | integer | Link to this organization id. |
| deal_id | integer | Link to this deal id. |
| subject* | string | Activity subject/title (required). |
| due_date | string | Due date, yyyy-mm-dd. |
| due_time | string | Due time, HH:MM (24h). |
| duration | string | Duration, HH:MM. |
| owner_id |
Create a new deal. `title` is required; link it to a person/org/pipeline/stage/owner as needed. Pipedrive REST: POST /api/v2/deals.
| Argument | Type | Description |
|---|---|---|
| title* | string | Deal title (required). |
| value | number | Deal monetary value. |
| org_id | integer | Link to this organization id. |
| status | string | Deal status — 'open' (default), 'won' or 'lost'. |
| currency | string | Currency code for `value`, e.g. 'USD'. |
| owner_id | integer | Assign to this owner (user) id. |
| stage_id | integer | Place in this stage id. |
| person_id | integer | Link to this person id. |
| visible_to | integer | Visibility group id (Pipedrive visibility setting). |
| pipeline_id |
Create a new person (contact). `name` is required; `email`/`phone` are convenience strings mapped to Pipedrive's structured emails/phones arrays. Pipedrive REST: POST /api/v2/persons.
| Argument | Type | Description |
|---|---|---|
| name* | string | Person full name (required). |
| string | Primary email address (mapped to the emails array). | |
| phone | string | Primary phone number (mapped to the phones array). |
| org_id | integer | Link to this organization id. |
| owner_id | integer | Assign to this owner (user) id. |
| visible_to | integer | Visibility group id (Pipedrive visibility setting). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Person full name (required)."
},
"email": {
"type": "string",
"description": "Primary email address (mapped to the emails array)."
},
"phone": {
"type": "string",
"description": "Primary phone number (mapped to the phones array)."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Link to this organization id."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Assign to this owner (user) id."
},
"visible_to": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Visibility group id (Pipedrive visibility setting)."
}
}
}Get the authenticated user's profile (name, email, company, locale, timezone). Pipedrive REST: GET /api/v1/users/me.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get a single deal by its id. Pipedrive REST: GET /api/v2/deals/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Deal id (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Deal id (required)."
}
}
}Get a single organization by its id. Pipedrive REST: GET /api/v2/organizations/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Organization id (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Organization id (required)."
}
}
}Get a single person (contact) by its id. Pipedrive REST: GET /api/v2/persons/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Person id (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Person id (required)."
}
}
}List activities (tasks/events), optionally filtered by filter/owner/deal/person/org/done/updated_since. Pipedrive REST: GET /api/v2/activities.
| Argument | Type | Description |
|---|---|---|
| done | boolean | Filter by completion — true for done, false for not done. |
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| org_id | integer | Filter by linked organization id. |
| deal_id | integer | Filter by linked deal id. |
| owner_id | integer | Filter by owner (user) id. |
| filter_id | integer | Filter by a saved filter id. |
| person_id | integer | Filter by linked person id. |
| updated_since | string | Only activities updated after this RFC 3339 timestamp, e.g. '2024-01-01T00:00:00Z'. |
List deals, optionally filtered by filter/owner/person/org/pipeline/stage/status and sorted. Pipedrive REST: GET /api/v2/deals.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| org_id | integer | Filter by linked organization id. |
| status | string | Filter by deal status — 'open', 'won', 'lost' or 'deleted'. |
| sort_by | string | Field to sort by — 'id', 'update_time' or 'add_time'. |
| owner_id | integer | Filter by owner (user) id. |
| stage_id | integer | Filter by stage id. |
| filter_id | integer | Filter by a saved filter id. |
| person_id | integer | Filter by linked person id. |
List notes, optionally filtered by user/deal/person/org/lead. Uses v1 (v2 has no notes endpoint) with start+limit pagination. Pipedrive REST: GET /api/v1/notes.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort expression, e.g. 'add_time DESC'. |
| limit | integer | Max results to return (v1 limit). |
| start | integer | Pagination offset (v1 start; default 0). |
| org_id | integer | Filter by linked organization id. |
| deal_id | integer | Filter by linked deal id. |
| lead_id | string | Filter by linked lead id (a UUID string). |
| user_id | integer | Filter by the note author (user) id. |
| person_id | integer | Filter by linked person id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"type": "string",
"description": "Sort expression, e.g. 'add_time DESC'."
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Max results to return (v1 limit)."
},
"start": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Pagination offset (v1 start; default 0)."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked organization id."
},
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked deal id."
},
"lead_id": {
"type": "string",
"description": "Filter by linked lead id (a UUID string)."
},
"user_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by the note author (user) id."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked person id."
}
}
}List organizations, optionally filtered by filter/owner and sorted. Pipedrive REST: GET /api/v2/organizations.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| sort_by | string | Field to sort by — 'id', 'update_time' or 'add_time'. |
| owner_id | integer | Filter by owner (user) id. |
| filter_id | integer | Filter by a saved filter id. |
| sort_direction | string | Sort direction — 'asc' or 'desc'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"sort_by": {
"enum": [
"id",
"update_time",
"add_time"
],
"type": "string",
"description": "Field to sort by — 'id', 'update_time' or 'add_time'."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by owner (user) id."
},
"filter_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by a saved filter id."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction — 'asc' or 'desc'."
}
}
}List persons (contacts), optionally filtered by filter/owner/org and sorted. Pipedrive REST: GET /api/v2/persons.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| org_id | integer | Filter by linked organization id. |
| sort_by | string | Field to sort by — 'id', 'update_time' or 'add_time'. |
| owner_id | integer | Filter by owner (user) id. |
| filter_id | integer | Filter by a saved filter id. |
| sort_direction | string | Sort direction — 'asc' or 'desc'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked organization id."
},
"sort_by": {
"enum": [
"id",
"update_time",
"add_time"
],
"type": "string",
"description": "Field to sort by — 'id', 'update_time' or 'add_time'."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by owner (user) id."
},
"filter_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by a saved filter id."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction — 'asc' or 'desc'."
}
}
}List all pipelines. Pipedrive REST: GET /api/v2/pipelines.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| sort_by | string | Field to sort by — 'id', 'update_time' or 'add_time'. |
| sort_direction | string | Sort direction — 'asc' or 'desc'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"sort_by": {
"enum": [
"id",
"update_time",
"add_time"
],
"type": "string",
"description": "Field to sort by — 'id', 'update_time' or 'add_time'."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction — 'asc' or 'desc'."
}
}
}List stages, optionally restricted to a single pipeline. Pipedrive REST: GET /api/v2/stages.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| pipeline_id | integer | Restrict to stages of this pipeline id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"pipeline_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Restrict to stages of this pipeline id."
}
}
}Search deals by term across selected fields. Pipedrive REST: GET /api/v2/deals/search.
| Argument | Type | Description |
|---|---|---|
| term* | string | Search term (at least 2 characters, required). |
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| fields | string | Comma-separated fields to search — any of 'custom_fields', 'notes', 'title'. |
| status | string | Restrict to deals with this status — 'open', 'won' or 'lost'. |
| person_id | integer | Restrict to deals linked to this person id. |
| exact_match | boolean | If true, only exact matches (case-insensitive) are returned. |
| organization_id | integer | Restrict to deals linked to this organization id. |
Global search across multiple item types (deals, persons, organizations, products, leads, files, etc.). Pipedrive REST: GET /api/v2/itemSearch.
| Argument | Type | Description |
|---|---|---|
| term* | string | Search term (at least 2 characters, required). |
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| fields | string | Comma-separated fields to search within (depends on item types). |
| item_types | string | Comma-separated item types to search — any of 'deal', 'person', 'organization', 'product', 'lead', 'file', 'mail_attachment', 'project'. |
| exact_match | boolean | If true, only exact matches (case-insensitive) are returned. |
| search_for_related_items | boolean | If true, also return items related to the matches (e.g. deals of a matched person). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"term"
],
"properties": {
"term": {
"type": "string",
"minLength": 2,
"description": "Search term (at least 2 characters, required)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"fields": {
"type": "string",
"description": "Comma-separated fields to search within (depends on item types)."
},
"item_types": {
"type": "string",
"description": "Comma-separated item types to search — any of 'deal', 'person', 'organization', 'product', 'lead', 'file', 'mail_attachment', 'project'."
},
"exact_match": {
"type": "boolean",
"description": "If true, only exact matches (case-insensitive) are returned."
},
"search_for_related_items": {
"type": "boolean",
"description": "If true, also return items related to the matches (e.g. deals of a matched person)."
}
}
}Search organizations by term across selected fields. Pipedrive REST: GET /api/v2/organizations/search.
| Argument | Type | Description |
|---|---|---|
| term* | string | Search term (at least 2 characters, required). |
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| fields | string | Comma-separated fields to search — any of 'address', 'custom_fields', 'name', 'notes'. |
| exact_match | boolean | If true, only exact matches (case-insensitive) are returned. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"term"
],
"properties": {
"term": {
"type": "string",
"minLength": 2,
"description": "Search term (at least 2 characters, required)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"fields": {
"type": "string",
"description": "Comma-separated fields to search — any of 'address', 'custom_fields', 'name', 'notes'."
},
"exact_match": {
"type": "boolean",
"description": "If true, only exact matches (case-insensitive) are returned."
}
}
}Search persons (contacts) by term across selected fields. Pipedrive REST: GET /api/v2/persons/search.
| Argument | Type | Description |
|---|---|---|
| term* | string | Search term (at least 2 characters, required). |
| limit | integer | Max results to return (1–500, default 100). |
| cursor | string | Opaque pagination cursor from a previous response's `next_cursor`. |
| fields | string | Comma-separated fields to search — any of 'name', 'email', 'phone', 'notes', 'custom_fields'. |
| exact_match | boolean | If true, only exact matches (case-insensitive) are returned. |
| organization_id | integer | Restrict to persons linked to this organization id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"term"
],
"properties": {
"term": {
"type": "string",
"minLength": 2,
"description": "Search term (at least 2 characters, required)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"fields": {
"type": "string",
"description": "Comma-separated fields to search — any of 'name', 'email', 'phone', 'notes', 'custom_fields'."
},
"exact_match": {
"type": "boolean",
"description": "If true, only exact matches (case-insensitive) are returned."
},
"organization_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Restrict to persons linked to this organization id."
}
}
}| integer |
| Assign to this owner (user) id. |
| person_id | integer | Link to this person id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subject"
],
"properties": {
"done": {
"type": "boolean",
"description": "Whether the activity is already marked done."
},
"note": {
"type": "string",
"description": "Free-text note attached to the activity."
},
"type": {
"type": "string",
"description": "Activity type key, e.g. 'call', 'meeting', 'task', 'email'."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Link to this organization id."
},
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Link to this deal id."
},
"subject": {
"type": "string",
"minLength": 1,
"description": "Activity subject/title (required)."
},
"due_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Due date, yyyy-mm-dd."
},
"due_time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "Due time, HH:MM (24h)."
},
"duration": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "Duration, HH:MM."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Assign to this owner (user) id."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Link to this person id."
}
}
}| integer |
| Place in this pipeline id. |
| expected_close_date | string | Expected close date, yyyy-mm-dd. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title"
],
"properties": {
"title": {
"type": "string",
"minLength": 1,
"description": "Deal title (required)."
},
"value": {
"type": "number",
"description": "Deal monetary value."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Link to this organization id."
},
"status": {
"enum": [
"open",
"won",
"lost"
],
"type": "string",
"description": "Deal status — 'open' (default), 'won' or 'lost'."
},
"currency": {
"type": "string",
"description": "Currency code for `value`, e.g. 'USD'."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Assign to this owner (user) id."
},
"stage_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Place in this stage id."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Link to this person id."
},
"visible_to": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Visibility group id (Pipedrive visibility setting)."
},
"pipeline_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Place in this pipeline id."
},
"expected_close_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Expected close date, yyyy-mm-dd."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"done": {
"type": "boolean",
"description": "Filter by completion — true for done, false for not done."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked organization id."
},
"deal_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked deal id."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by owner (user) id."
},
"filter_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by a saved filter id."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked person id."
},
"updated_since": {
"type": "string",
"description": "Only activities updated after this RFC 3339 timestamp, e.g. '2024-01-01T00:00:00Z'."
}
}
}| pipeline_id |
| integer |
| Filter by pipeline id. |
| sort_direction | string | Sort direction — 'asc' or 'desc'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"org_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked organization id."
},
"status": {
"enum": [
"open",
"won",
"lost",
"deleted"
],
"type": "string",
"description": "Filter by deal status — 'open', 'won', 'lost' or 'deleted'."
},
"sort_by": {
"enum": [
"id",
"update_time",
"add_time"
],
"type": "string",
"description": "Field to sort by — 'id', 'update_time' or 'add_time'."
},
"owner_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by owner (user) id."
},
"stage_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by stage id."
},
"filter_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by a saved filter id."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by linked person id."
},
"pipeline_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by pipeline id."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction — 'asc' or 'desc'."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"term"
],
"properties": {
"term": {
"type": "string",
"minLength": 2,
"description": "Search term (at least 2 characters, required)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Max results to return (1–500, default 100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's `next_cursor`."
},
"fields": {
"type": "string",
"description": "Comma-separated fields to search — any of 'custom_fields', 'notes', 'title'."
},
"status": {
"enum": [
"open",
"won",
"lost"
],
"type": "string",
"description": "Restrict to deals with this status — 'open', 'won' or 'lost'."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Restrict to deals linked to this person id."
},
"exact_match": {
"type": "boolean",
"description": "If true, only exact matches (case-insensitive) are returned."
},
"organization_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Restrict to deals linked to this organization id."
}
}
}