{"openapi":"3.1.0","info":{"title":"Pipedrive Access (BYOK) API","version":"0.1.0","description":"Pipedrive Access (BYOK) lets an AI assistant read your own Pipedrive Access data through the Pipedrive Access API with a key you supply (personal API token (an admin user's token for roles and permission sets)). Read-only: 8 tools (list_roles, get_role, get_role_pipeline_visibility, list_permission_sets, get_permission_set, list_teams, get_team, list_users). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-pipedrive-access.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-pipedrive-access/docs"},"termsOfService":"https://connectorbay.com/byok-pipedrive-access/terms"},"servers":[{"url":"https://byok-pipedrive-access.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-pipedrive-access/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_roles":{"post":{"operationId":"list_roles","summary":"List the account's roles with name, parent role, level, active flag and how many users hold each. Needs the visibility a","description":"List the account's roles with name, parent role, level, active flag and how many users hold each. Needs the visibility and sharing settings feature. Use for \"Which roles exist in our Pipedrive account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Index of the first item to return (0 for the first page).","title":"Start"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 500).","title":"Limit"}},"title":"list_rolesArguments","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_role":{"post":{"operationId":"get_role","summary":"Get one role with its parent, level, assignment counts and default visibility and access level settings per record type.","description":"Get one role with its parent, level, assignment counts and default visibility and access level settings per record type. Use for \"What can the Pipedrive role 1 see by default\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"role_id":{"description":"Id of the role (a number such as 1).","maxLength":200,"title":"Role Id","type":"string"}},"required":["role_id"],"title":"get_roleArguments","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_role_pipeline_visibility":{"post":{"operationId":"get_role_pipeline_visibility","summary":"List the pipeline ids that are visible (or hidden) to a role. Use for \"Which Pipedrive pipelines can role 1 see\".","description":"List the pipeline ids that are visible (or hidden) to a role. Use for \"Which Pipedrive pipelines can role 1 see\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"role_id":{"description":"Id of the role (a number such as 1).","maxLength":200,"title":"Role Id","type":"string"},"visible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True for pipelines the role can see (default), false for hidden ones.","title":"Visible"}},"required":["role_id"],"title":"get_role_pipeline_visibilityArguments","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_permission_sets":{"post":{"operationId":"list_permission_sets","summary":"List permission sets with name, description, app, type (admin, manager, regular, custom) and how many users have each. U","description":"List permission sets with name, description, app, type (admin, manager, regular, custom) and how many users have each. Use for \"What permission sets does Pipedrive have for the sales app\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"app":{"anyOf":[{"enum":["sales","projects","campaigns","global","account_settings","partnership","nova"],"type":"string"},{"type":"null"}],"default":null,"description":"Only permission sets of this app.","title":"App"}},"title":"list_permission_setsArguments","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_permission_set":{"post":{"operationId":"get_permission_set","summary":"Get one permission set by id with its description, app, type, assignment count and the permissions it grants. Use for \"W","description":"Get one permission set by id with its description, app, type, assignment count and the permissions it grants. Use for \"What does the Pipedrive permission set e3a5 allow\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"permission_set_id":{"description":"Id of the permission set (a string, from list_permission_sets).","maxLength":200,"title":"Permission Set Id","type":"string"}},"required":["permission_set_id"],"title":"get_permission_setArguments","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_teams":{"post":{"operationId":"list_teams","summary":"List teams (legacy teams) with name, description, manager and member user ids. Use for \"Which teams are set up in Pipedr","description":"List teams (legacy teams) with name, description, manager and member user ids. Use for \"Which teams are set up in Pipedrive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_by":{"anyOf":[{"enum":["id","name","manager_id","active_flag"],"type":"string"},{"type":"null"}],"default":"id","description":"Sort by id, name, manager_id or active_flag.","title":"Order By"},"skip_users":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":0,"description":"1 to leave out the member user ids, 0 to include them.","title":"Skip Users"}},"title":"list_teamsArguments","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_team":{"post":{"operationId":"get_team","summary":"Get one team by id with name, description, manager and member user ids. Use for \"Who is on Pipedrive team 3\".","description":"Get one team by id with name, description, manager and member user ids. Use for \"Who is on Pipedrive team 3\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Id of the team (a number such as 3).","maxLength":200,"title":"Team Id","type":"string"},"skip_users":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":0,"description":"1 to leave out the member user ids, 0 to include them.","title":"Skip Users"}},"required":["team_id"],"title":"get_teamArguments","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_users":{"post":{"operationId":"list_users","summary":"List the account's users with name, role id, active flag, time zone and app access. Email addresses, phone numbers and l","description":"List the account's users with name, role id, active flag, time zone and app access. Email addresses, phone numbers and logins are not returned. Use for \"Who has a Pipedrive seat and which role do they have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_usersArguments","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}}}}