{"openapi":"3.1.0","info":{"title":"Pipedrive (BYOK) API","version":"0.1.0","description":"Pipedrive (BYOK) lets an AI assistant read your own Pipedrive data through the Pipedrive API with a key you supply (personal API token). Read-only: 10 tools (list_deals, get_deal, search_deals, list_persons, search_persons, list_organizations, search_organizations, list_activities, list_pipelines, list_stages). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-pipedrive.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-pipedrive/docs"},"termsOfService":"https://connectorbay.com/byok-pipedrive/terms"},"servers":[{"url":"https://byok-pipedrive.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-pipedrive/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_deals":{"post":{"operationId":"list_deals","summary":"List deals (not deleted) with title, status, value, currency, pipeline, stage, owner, linked person and organization, pr","description":"List deals (not deleted) with title, status, value, currency, pipeline, stage, owner, linked person and organization, probability and key dates; filter by status, pipeline, stage, owner or update time. Use for \"Which Pipedrive deals are open in my pipeline\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["open","won","lost"],"type":"string"},{"type":"null"}],"default":null,"description":"Only deals with this status.","title":"Status"},"pipeline_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals in this pipeline id.","title":"Pipeline Id"},"stage_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals in this stage id.","title":"Stage Id"},"person_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals linked to this person id.","title":"Person Id"},"org_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals linked to this organization id.","title":"Org Id"},"owner_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records owned by this user id.","title":"Owner Id"},"updated_since":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records updated at or after this time, as an RFC 3339 timestamp such as 2026-01-01T10:20:00Z.","title":"Updated Since"},"sort_by":{"anyOf":[{"enum":["id","update_time","add_time"],"type":"string"},{"type":"null"}],"default":"id","description":"Sort by id, update_time or add_time.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Direction"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"title":"list_dealsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_deal":{"post":{"operationId":"get_deal","summary":"Get one deal by id with title, status, value, currency, pipeline, stage, owner, linked person and organization, probabil","description":"Get one deal by id with title, status, value, currency, pipeline, stage, owner, linked person and organization, probability and key dates. Use for \"Show the details of one Pipedrive deal\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"The deal id, for example 1 (the id field returned by list_deals).","minimum":1,"title":"Id","type":"integer"}},"required":["id"],"title":"get_dealArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_deals":{"post":{"operationId":"search_deals","summary":"Search deals by title, notes and custom fields; returns matching deals with score, stage, value, status and linked perso","description":"Search deals by title, notes and custom fields; returns matching deals with score, stage, value, status and linked person and organization. Use for \"Find Pipedrive deals about Acme\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"description":"Text to search for (at least 2 characters, or 1 with exact_match).","maxLength":200,"title":"Term","type":"string"},"exact_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only full exact matches (not case sensitive).","title":"Exact Match"},"status":{"anyOf":[{"enum":["open","won","lost"],"type":"string"},{"type":"null"}],"default":null,"description":"Only deals with this status.","title":"Status"},"person_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals linked to this person id.","title":"Person Id"},"organization_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only deals linked to this organization id.","title":"Organization Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"required":["term"],"title":"search_dealsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_persons":{"post":{"operationId":"list_persons","summary":"List people with name, organization, owner, job title, emails, phones and dates; filter by organization, owner or update","description":"List people with name, organization, owner, job title, emails, phones and dates; filter by organization, owner or update time. Use for \"Who are the contacts at organization 4 in Pipedrive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only persons linked to this organization id.","title":"Org Id"},"owner_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records owned by this user id.","title":"Owner Id"},"updated_since":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records updated at or after this time, as an RFC 3339 timestamp such as 2026-01-01T10:20:00Z.","title":"Updated Since"},"sort_by":{"anyOf":[{"enum":["id","update_time","add_time"],"type":"string"},{"type":"null"}],"default":"id","description":"Sort by id, update_time or add_time.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Direction"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"title":"list_personsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_persons":{"post":{"operationId":"search_persons","summary":"Search people by name, email, phone and notes; returns matching persons with score, emails, phones and organization. Use","description":"Search people by name, email, phone and notes; returns matching persons with score, emails, phones and organization. Use for \"Find the Pipedrive person jane@example.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"description":"Text to search for (at least 2 characters, or 1 with exact_match).","maxLength":200,"title":"Term","type":"string"},"exact_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only full exact matches (not case sensitive).","title":"Exact Match"},"organization_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only persons linked to this organization id.","title":"Organization Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"required":["term"],"title":"search_personsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_organizations":{"post":{"operationId":"list_organizations","summary":"List organizations with name, owner, website, industry id, revenue, employee count and dates; filter by owner or update ","description":"List organizations with name, owner, website, industry id, revenue, employee count and dates; filter by owner or update time. Use for \"Which organizations are in my Pipedrive account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records owned by this user id.","title":"Owner Id"},"updated_since":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records updated at or after this time, as an RFC 3339 timestamp such as 2026-01-01T10:20:00Z.","title":"Updated Since"},"sort_by":{"anyOf":[{"enum":["id","update_time","add_time"],"type":"string"},{"type":"null"}],"default":"id","description":"Sort by id, update_time or add_time.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Direction"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"title":"list_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_organizations":{"post":{"operationId":"search_organizations","summary":"Search organizations by name, address and notes; returns matching organizations with score and address. Use for \"Find th","description":"Search organizations by name, address and notes; returns matching organizations with score and address. Use for \"Find the Pipedrive organization Acme\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"description":"Text to search for (at least 2 characters, or 1 with exact_match).","maxLength":200,"title":"Term","type":"string"},"exact_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return only full exact matches (not case sensitive).","title":"Exact Match"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"required":["term"],"title":"search_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_activities":{"post":{"operationId":"list_activities","summary":"List activities (calls, meetings, tasks) with subject, type, done flag, due date and time, linked deal, person and organ","description":"List activities (calls, meetings, tasks) with subject, type, done flag, due date and time, linked deal, person and organization; filter by done flag, owner, deal or update time. Use for \"What Pipedrive activities are still open for me\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"done":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for completed activities only, false for open ones only; omit for both.","title":"Done"},"owner_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only records owned by this user id.","title":"Owner Id"},"deal_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only activities linked to this deal id.","title":"Deal Id"},"person_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only activities of this person id.","title":"Person Id"},"org_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only activities of this organization id.","title":"Org Id"},"updated_since":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records updated at or after this time, as an RFC 3339 timestamp such as 2026-01-01T10:20:00Z.","title":"Updated Since"},"sort_by":{"anyOf":[{"enum":["id","update_time","add_time","due_date"],"type":"string"},{"type":"null"}],"default":"id","description":"Sort by id, update_time, add_time or due_date.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Direction"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"title":"list_activitiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_pipelines":{"post":{"operationId":"list_pipelines","summary":"List sales pipelines with id, name, order and whether deal probability is enabled. Use for \"What sales pipelines do I ha","description":"List sales pipelines with id, name, order and whether deal probability is enabled. Use for \"What sales pipelines do I have in Pipedrive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"title":"list_pipelinesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_stages":{"post":{"operationId":"list_stages","summary":"List pipeline stages with id, name, pipeline, order, deal probability and days until a deal is considered rotten; filter","description":"List pipeline stages with id, name, pipeline, order, deal probability and days until a deal is considered rotten; filter by pipeline. Use for \"What are the stages of my Pipedrive pipeline\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pipeline_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only stages of this pipeline id; omit for all pipelines.","title":"Pipeline Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: additional_data.next_cursor from the previous answer. Leave out for the first page.","title":"Cursor"}},"title":"list_stagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}