Pipedrive · Capability
Pipedrive API v2 — Organizations
Pipedrive API v2 — Organizations. 10 operations. Lead operation: Get all organizations. Self-contained Naftiko capability covering one Pipedrive business surface.
What You Can Do
GET
Getorganizations
— Get all organizations
/v1/organizations
POST
Addorganization
— Add a new organization
/v1/organizations
GET
Searchorganization
— Search organizations
/v1/organizations/search
DELETE
Deleteorganization
— Delete a organization
/v1/organizations/{id}
GET
Getorganization
— Get details of a organization
/v1/organizations/{id}
PATCH
Updateorganization
— Update a organization
/v1/organizations/{id}
GET
Getorganizationfollowers
— List followers of an organization
/v1/organizations/{id}/followers
POST
Addorganizationfollower
— Add a follower to an organization
/v1/organizations/{id}/followers
GET
Getorganizationfollowerschangelog
— List followers changelog of an organization
/v1/organizations/{id}/followers/changelog
DELETE
Deleteorganizationfollower
— Delete a follower from an organization
/v1/organizations/{id}/followers/{follower-id}
MCP Tools
get-all-organizations
Get all organizations
read-only
idempotent
add-new-organization
Add a new organization
search-organizations
Search organizations
read-only
idempotent
delete-organization
Delete a organization
idempotent
get-details-organization
Get details of a organization
read-only
idempotent
update-organization
Update a organization
idempotent
list-followers-organization
List followers of an organization
read-only
idempotent
add-follower-organization
Add a follower to an organization
list-followers-changelog-organization
List followers changelog of an organization
read-only
idempotent
delete-follower-organization
Delete a follower from an organization
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Pipedrive API v2 — Organizations
description: 'Pipedrive API v2 — Organizations. 10 operations. Lead operation: Get all organizations. Self-contained Naftiko
capability covering one Pipedrive business surface.'
tags:
- Pipedrive
- Organizations
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PIPEDRIVE_API_KEY: PIPEDRIVE_API_KEY
capability:
consumes:
- type: http
namespace: v2-organizations
baseUri: https://api.pipedrive.com/api/v2
description: Pipedrive API v2 — Organizations business capability. Self-contained, no shared references.
resources:
- name: organizations
path: /organizations
operations:
- name: getorganizations
method: GET
description: Get all organizations
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: filter_id
in: query
type: integer
description: If supplied, only organizations matching the specified filter are returned
- name: ids
in: query
type: string
description: Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this
is ignored. If any of the requested entities do not exist
- name: owner_id
in: query
type: integer
description: If supplied, only organizations owned by the specified user are returned. If filter_id is provided,
this is ignored.
- name: updated_since
in: query
type: string
description: If set, only organizations with an `update_time` later than or equal to this time are returned. In
RFC3339 format, e.g. 2025-01-01T10:20:00Z.
- name: updated_until
in: query
type: string
description: If set, only organizations with an `update_time` earlier than this time are returned. In RFC3339 format,
e.g. 2025-01-01T10:20:00Z.
- name: sort_by
in: query
type: string
description: 'The field to sort by. Supported fields: `id`, `update_time`, `add_time`.'
- name: sort_direction
in: query
type: string
description: 'The sorting direction. Supported values: `asc`, `desc`.'
- name: include_fields
in: query
type: string
description: Optional comma separated string array of additional fields to include
- name: custom_fields
in: query
type: string
description: Optional comma separated string array of custom fields keys to include. If you are only interested
in a particular set of custom fields, please use this paramet
- name: include_option_labels
in: query
type: boolean
description: 'When provided with a ''true'' value, single option and multiple option custom fields values contain
objects in the form of ''{ id: number, label: string }'' instead'
- name: include_labels
in: query
type: boolean
description: 'When provided with ''true'' value, response will include an array of label objects in the form of
''{ id: number, label: string }'''
- name: limit
in: query
type: integer
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
in: query
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: addorganization
method: POST
description: Add a new organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: organizations-search
path: /organizations/search
operations:
- name: searchorganization
method: GET
description: Search organizations
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: term
in: query
type: string
description: The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the
search term has to be URL encoded.
required: true
- name: fields
in: query
type: string
description: 'A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only
the following custom field types are searchable: `address`,'
- name: exact_match
in: query
type: boolean
description: When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive.
- name: limit
in: query
type: integer
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
in: query
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: organizations-id
path: /organizations/{id}
operations:
- name: deleteorganization
method: DELETE
description: Delete a organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: getorganization
method: GET
description: Get details of a organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: include_fields
in: query
type: string
description: Optional comma separated string array of additional fields to include
- name: custom_fields
in: query
type: string
description: Optional comma separated string array of custom fields keys to include. If you are only interested
in a particular set of custom fields, please use this paramet
- name: include_option_labels
in: query
type: boolean
description: 'When provided with a ''true'' value, single option and multiple option custom fields values contain
objects in the form of ''{ id: number, label: string }'' instead'
- name: include_labels
in: query
type: boolean
description: 'When provided with ''true'' value, response will include an array of label objects in the form of
''{ id: number, label: string }'''
- name: updateorganization
method: PATCH
description: Update a organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: organizations-id-followers
path: /organizations/{id}/followers
operations:
- name: getorganizationfollowers
method: GET
description: List followers of an organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: limit
in: query
type: integer
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
in: query
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: addorganizationfollower
method: POST
description: Add a follower to an organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: organizations-id-followers-changelog
path: /organizations/{id}/followers/changelog
operations:
- name: getorganizationfollowerschangelog
method: GET
description: List followers changelog of an organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: limit
in: query
type: integer
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
in: query
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: organizations-id-followers-follower_id
path: /organizations/{id}/followers/{follower_id}
operations:
- name: deleteorganizationfollower
method: DELETE
description: Delete a follower from an organization
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the organization
required: true
- name: follower_id
in: path
type: integer
description: The ID of the following user
required: true
authentication:
type: bearer
token: '{{env.PIPEDRIVE_API_KEY}}'
exposes:
- type: rest
namespace: v2-organizations-rest
port: 8080
description: REST adapter for Pipedrive API v2 — Organizations. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/organizations
name: organizations
description: REST surface for organizations.
operations:
- method: GET
name: getorganizations
description: Get all organizations
call: v2-organizations.getorganizations
with:
filter_id: rest.filter_id
ids: rest.ids
owner_id: rest.owner_id
updated_since: rest.updated_since
updated_until: rest.updated_until
sort_by: rest.sort_by
sort_direction: rest.sort_direction
include_fields: rest.include_fields
custom_fields: rest.custom_fields
include_option_labels: rest.include_option_labels
include_labels: rest.include_labels
limit: rest.limit
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- method: POST
name: addorganization
description: Add a new organization
call: v2-organizations.addorganization
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/search
name: organizations-search
description: REST surface for organizations-search.
operations:
- method: GET
name: searchorganization
description: Search organizations
call: v2-organizations.searchorganization
with:
term: rest.term
fields: rest.fields
exact_match: rest.exact_match
limit: rest.limit
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{id}
name: organizations-id
description: REST surface for organizations-id.
operations:
- method: DELETE
name: deleteorganization
description: Delete a organization
call: v2-organizations.deleteorganization
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: GET
name: getorganization
description: Get details of a organization
call: v2-organizations.getorganization
with:
id: rest.id
include_fields: rest.include_fields
custom_fields: rest.custom_fields
include_option_labels: rest.include_option_labels
include_labels: rest.include_labels
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateorganization
description: Update a organization
call: v2-organizations.updateorganization
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{id}/followers
name: organizations-id-followers
description: REST surface for organizations-id-followers.
operations:
- method: GET
name: getorganizationfollowers
description: List followers of an organization
call: v2-organizations.getorganizationfollowers
with:
id: rest.id
limit: rest.limit
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- method: POST
name: addorganizationfollower
description: Add a follower to an organization
call: v2-organizations.addorganizationfollower
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{id}/followers/changelog
name: organizations-id-followers-changelog
description: REST surface for organizations-id-followers-changelog.
operations:
- method: GET
name: getorganizationfollowerschangelog
description: List followers changelog of an organization
call: v2-organizations.getorganizationfollowerschangelog
with:
id: rest.id
limit: rest.limit
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{id}/followers/{follower-id}
name: organizations-id-followers-follower-id
description: REST surface for organizations-id-followers-follower_id.
operations:
- method: DELETE
name: deleteorganizationfollower
description: Delete a follower from an organization
call: v2-organizations.deleteorganizationfollower
with:
id: rest.id
follower_id: rest.follower_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: v2-organizations-mcp
port: 9090
transport: http
description: MCP adapter for Pipedrive API v2 — Organizations. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-all-organizations
description: Get all organizations
hints:
readOnly: true
destructive: false
idempotent: true
call: v2-organizations.getorganizations
with:
filter_id: tools.filter_id
ids: tools.ids
owner_id: tools.owner_id
updated_since: tools.updated_since
updated_until: tools.updated_until
sort_by: tools.sort_by
sort_direction: tools.sort_direction
include_fields: tools.include_fields
custom_fields: tools.custom_fields
include_option_labels: tools.include_option_labels
include_labels: tools.include_labels
limit: tools.limit
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: add-new-organization
description: Add a new organization
hints:
readOnly: false
destructive: false
idempotent: false
call: v2-organizations.addorganization
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: search-organizations
description: Search organizations
hints:
readOnly: true
destructive: false
idempotent: true
call: v2-organizations.searchorganization
with:
term: tools.term
fields: tools.fields
exact_match: tools.exact_match
limit: tools.limit
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: delete-organization
description: Delete a organization
hints:
readOnly: false
destructive: true
idempotent: true
call: v2-organizations.deleteorganization
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-details-organization
description: Get details of a organization
hints:
readOnly: true
destructive: false
idempotent: true
call: v2-organizations.getorganization
with:
id: tools.id
include_fields: tools.include_fields
custom_fields: tools.custom_fields
include_option_labels: tools.include_option_labels
include_labels: tools.include_labels
outputParameters:
- type: object
mapping: $.
- name: update-organization
description: Update a organization
hints:
readOnly: false
destructive: false
idempotent: true
call: v2-organizations.updateorganization
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-followers-organization
description: List followers of an organization
hints:
readOnly: true
destructive: false
idempotent: true
call: v2-organizations.getorganizationfollowers
with:
id: tools.id
limit: tools.limit
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: add-follower-organization
description: Add a follower to an organization
hints:
readOnly: false
destructive: false
idempotent: false
call: v2-organizations.addorganizationfollower
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-followers-changelog-organization
description: List followers changelog of an organization
hints:
readOnly: true
destructive: false
idempotent: true
call: v2-organizations.getorganizationfollowerschangelog
with:
id: tools.id
limit: tools.limit
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: delete-follower-organization
description: Delete a follower from an organization
hints:
readOnly: false
destructive: true
idempotent: true
call: v2-organizations.deleteorganizationfollower
with:
id: tools.id
follower_id: tools.follower_id
outputParameters:
- type: object
mapping: $.