Pipedrive · Capability
Pipedrive API v1 — Persons
Pipedrive API v1 — Persons. 12 operations. Lead operation: List updates about person field values. Self-contained Naftiko capability covering one Pipedrive business surface.
What You Can Do
GET
Getpersonchangelog
— List updates about person field values
/v1/persons/{id}/changelog
GET
Getpersonfiles
— List files attached to a person
/v1/persons/{id}/files
GET
Getpersonupdates
— List updates about a person
/v1/persons/{id}/flow
GET
Getpersonfollowers
— List followers of a person
/v1/persons/{id}/followers
POST
Addpersonfollower
— Add a follower to a person
/v1/persons/{id}/followers
DELETE
Deletepersonfollower
— Delete a follower from a person
/v1/persons/{id}/followers/{follower-id}
GET
Getpersonmailmessages
— List mail messages associated with a person
/v1/persons/{id}/mailmessages
PUT
Mergepersons
— Merge two persons
/v1/persons/{id}/merge
GET
Getpersonusers
— List permitted users
/v1/persons/{id}/permittedusers
DELETE
Deletepersonpicture
— Delete person picture
/v1/persons/{id}/picture
POST
Addpersonpicture
— Add person picture
/v1/persons/{id}/picture
GET
Getpersonproducts
— List products associated with a person
/v1/persons/{id}/products
MCP Tools
list-updates-about-person-field
List updates about person field values
read-only
idempotent
list-files-attached-person
List files attached to a person
read-only
idempotent
list-updates-about-person
List updates about a person
read-only
idempotent
list-followers-person
List followers of a person
read-only
idempotent
add-follower-person
Add a follower to a person
delete-follower-person
Delete a follower from a person
idempotent
list-mail-messages-associated-person
List mail messages associated with a person
read-only
idempotent
merge-two-persons
Merge two persons
idempotent
list-permitted-users
List permitted users
read-only
idempotent
delete-person-picture
Delete person picture
idempotent
add-person-picture
Add person picture
list-products-associated-person
List products associated with a person
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Pipedrive API v1 — Persons
description: 'Pipedrive API v1 — Persons. 12 operations. Lead operation: List updates about person field values. Self-contained
Naftiko capability covering one Pipedrive business surface.'
tags:
- Pipedrive
- Persons
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PIPEDRIVE_API_KEY: PIPEDRIVE_API_KEY
capability:
consumes:
- type: http
namespace: v1-persons
baseUri: https://api.pipedrive.com/v1
description: Pipedrive API v1 — Persons business capability. Self-contained, no shared references.
resources:
- name: persons-id-changelog
path: /persons/{id}/changelog
operations:
- name: getpersonchangelog
method: GET
description: List updates about person field values
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: cursor
in: query
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: limit
in: query
type: integer
description: Items shown per page
- name: persons-id-files
path: /persons/{id}/files
operations:
- name: getpersonfiles
method: GET
description: List files attached to a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: start
in: query
type: integer
description: Pagination start
- name: limit
in: query
type: integer
description: Items shown per page. Please note that a maximum value of 100 is allowed.
- name: sort
in: query
type: string
description: 'Supported fields: `id`, `update_time`'
- name: persons-id-flow
path: /persons/{id}/flow
operations:
- name: getpersonupdates
method: GET
description: List updates about a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: start
in: query
type: integer
description: Pagination start
- name: limit
in: query
type: integer
description: Items shown per page
- name: all_changes
in: query
type: string
description: Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes
without custom field updates.
- name: items
in: query
type: string
description: A comma-separated string for filtering out item specific updates. (Possible values - call, activity,
plannedActivity, change, note, deal, file, dealChange, pers
- name: persons-id-followers
path: /persons/{id}/followers
operations:
- name: getpersonfollowers
method: GET
description: List followers of a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: addpersonfollower
method: POST
description: Add a follower to a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: persons-id-followers-follower_id
path: /persons/{id}/followers/{follower_id}
operations:
- name: deletepersonfollower
method: DELETE
description: Delete a follower from a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: follower_id
in: path
type: integer
description: The ID of the relationship between the follower and the person
required: true
- name: persons-id-mailMessages
path: /persons/{id}/mailMessages
operations:
- name: getpersonmailmessages
method: GET
description: List mail messages associated with a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: start
in: query
type: integer
description: Pagination start
- name: limit
in: query
type: integer
description: Items shown per page
- name: persons-id-merge
path: /persons/{id}/merge
operations:
- name: mergepersons
method: PUT
description: Merge two persons
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: persons-id-permittedUsers
path: /persons/{id}/permittedUsers
operations:
- name: getpersonusers
method: GET
description: List permitted users
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: persons-id-picture
path: /persons/{id}/picture
operations:
- name: deletepersonpicture
method: DELETE
description: Delete person picture
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: addpersonpicture
method: POST
description: Add person picture
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: persons-id-products
path: /persons/{id}/products
operations:
- name: getpersonproducts
method: GET
description: List products associated with a person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
description: The ID of the person
required: true
- name: start
in: query
type: integer
description: Pagination start
- name: limit
in: query
type: integer
description: Items shown per page
authentication:
type: bearer
token: '{{env.PIPEDRIVE_API_KEY}}'
exposes:
- type: rest
namespace: v1-persons-rest
port: 8080
description: REST adapter for Pipedrive API v1 — Persons. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/persons/{id}/changelog
name: persons-id-changelog
description: REST surface for persons-id-changelog.
operations:
- method: GET
name: getpersonchangelog
description: List updates about person field values
call: v1-persons.getpersonchangelog
with:
id: rest.id
cursor: rest.cursor
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/files
name: persons-id-files
description: REST surface for persons-id-files.
operations:
- method: GET
name: getpersonfiles
description: List files attached to a person
call: v1-persons.getpersonfiles
with:
id: rest.id
start: rest.start
limit: rest.limit
sort: rest.sort
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/flow
name: persons-id-flow
description: REST surface for persons-id-flow.
operations:
- method: GET
name: getpersonupdates
description: List updates about a person
call: v1-persons.getpersonupdates
with:
id: rest.id
start: rest.start
limit: rest.limit
all_changes: rest.all_changes
items: rest.items
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/followers
name: persons-id-followers
description: REST surface for persons-id-followers.
operations:
- method: GET
name: getpersonfollowers
description: List followers of a person
call: v1-persons.getpersonfollowers
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: POST
name: addpersonfollower
description: Add a follower to a person
call: v1-persons.addpersonfollower
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/followers/{follower-id}
name: persons-id-followers-follower-id
description: REST surface for persons-id-followers-follower_id.
operations:
- method: DELETE
name: deletepersonfollower
description: Delete a follower from a person
call: v1-persons.deletepersonfollower
with:
id: rest.id
follower_id: rest.follower_id
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/mailmessages
name: persons-id-mailmessages
description: REST surface for persons-id-mailMessages.
operations:
- method: GET
name: getpersonmailmessages
description: List mail messages associated with a person
call: v1-persons.getpersonmailmessages
with:
id: rest.id
start: rest.start
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/merge
name: persons-id-merge
description: REST surface for persons-id-merge.
operations:
- method: PUT
name: mergepersons
description: Merge two persons
call: v1-persons.mergepersons
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/permittedusers
name: persons-id-permittedusers
description: REST surface for persons-id-permittedUsers.
operations:
- method: GET
name: getpersonusers
description: List permitted users
call: v1-persons.getpersonusers
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/picture
name: persons-id-picture
description: REST surface for persons-id-picture.
operations:
- method: DELETE
name: deletepersonpicture
description: Delete person picture
call: v1-persons.deletepersonpicture
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: POST
name: addpersonpicture
description: Add person picture
call: v1-persons.addpersonpicture
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/persons/{id}/products
name: persons-id-products
description: REST surface for persons-id-products.
operations:
- method: GET
name: getpersonproducts
description: List products associated with a person
call: v1-persons.getpersonproducts
with:
id: rest.id
start: rest.start
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: v1-persons-mcp
port: 9090
transport: http
description: MCP adapter for Pipedrive API v1 — Persons. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-updates-about-person-field
description: List updates about person field values
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonchangelog
with:
id: tools.id
cursor: tools.cursor
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: list-files-attached-person
description: List files attached to a person
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonfiles
with:
id: tools.id
start: tools.start
limit: tools.limit
sort: tools.sort
outputParameters:
- type: object
mapping: $.
- name: list-updates-about-person
description: List updates about a person
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonupdates
with:
id: tools.id
start: tools.start
limit: tools.limit
all_changes: tools.all_changes
items: tools.items
outputParameters:
- type: object
mapping: $.
- name: list-followers-person
description: List followers of a person
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonfollowers
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: add-follower-person
description: Add a follower to a person
hints:
readOnly: false
destructive: false
idempotent: false
call: v1-persons.addpersonfollower
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-follower-person
description: Delete a follower from a person
hints:
readOnly: false
destructive: true
idempotent: true
call: v1-persons.deletepersonfollower
with:
id: tools.id
follower_id: tools.follower_id
outputParameters:
- type: object
mapping: $.
- name: list-mail-messages-associated-person
description: List mail messages associated with a person
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonmailmessages
with:
id: tools.id
start: tools.start
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: merge-two-persons
description: Merge two persons
hints:
readOnly: false
destructive: false
idempotent: true
call: v1-persons.mergepersons
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-permitted-users
description: List permitted users
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonusers
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: delete-person-picture
description: Delete person picture
hints:
readOnly: false
destructive: true
idempotent: true
call: v1-persons.deletepersonpicture
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: add-person-picture
description: Add person picture
hints:
readOnly: false
destructive: false
idempotent: false
call: v1-persons.addpersonpicture
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-products-associated-person
description: List products associated with a person
hints:
readOnly: true
destructive: false
idempotent: true
call: v1-persons.getpersonproducts
with:
id: tools.id
start: tools.start
limit: tools.limit
outputParameters:
- type: object
mapping: $.