Personfields 5 endpoints

GET /personFields

Returns data about all person fields.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: PersonFields_getAllFields

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /personFields
POST /personFields

Adds a new person field. For more information, see the tutorial for adding a new custom field.

operationId: PersonFields_addNewField

Request Body

application/json
schema PersonFieldsAddNewFieldRequest
Property Type Required
name string required
options array optional
add_visible_flag boolean optional
field_type string required

Responses

200

Success

POST /personFields
DELETE /personFields/{id}

Marks a field as deleted. For more information, see the tutorial for deleting a custom field.

operationId: PersonFields_markAsDeleted

Parameters

Name In Required Type Description
id path required integer

The ID of the field

Responses

200

Success

DELETE /personFields/{id}
GET /personFields/{id}

Returns data about a specific person field.

operationId: PersonFields_getSpecificField

Parameters

Name In Required Type Description
id path required integer

The ID of the field

Responses

200

Success

GET /personFields/{id}
PUT /personFields/{id}

Updates a person field. For more information, see the tutorial for updating custom fields’ values.

operationId: PersonFields_updateField

Parameters

Name In Required Type Description
id path required integer

The ID of the field

Request Body

application/json
schema PersonFieldsUpdateFieldRequest
Property Type Required
name string optional
options array optional
add_visible_flag boolean optional

Responses

200

Success

PUT /personFields/{id}

Persons 22 endpoints

DELETE /persons

Marks multiple persons as deleted. After 30 days, the persons will be permanently deleted.

operationId: Persons_deleteMultipleBulk

Parameters

Name In Required Type Description
ids query required string

The comma-separated IDs that will be deleted

Responses

200

Success

DELETE /persons
GET /persons

Returns all persons.

operationId: Persons_listAllPersons

Parameters

Name In Required Type Description
user_id query optional integer

If supplied, only persons owned by the given user will be returned. However, filter_id takes precedence over user_id when both are supplied.

filter_id query optional integer

The ID of the filter to use

first_char query optional string

If supplied, only persons whose name starts with the specified letter will be returned (case-insensitive)

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

Responses

200

Success

GET /persons
POST /persons

Adds a new person. Note that you can supply additional custom fields along with the request that are not described here. These custom fields are different for each Pipedrive account and can be recognized by long hashes as keys. To determine which custom fields exists, fetch the personFields and look for key values.
If a company uses the Campaigns product, then this endpoint will also accept and return the data.marketing_status field.

operationId: Persons_createNewPerson

Request Body

application/json
schema PersonsCreateNewPersonRequest
Property Type Required
name string required
email array optional
label string optional
value string optional
primary boolean optional
label integer optional
phone array optional
label string optional
value string optional
primary boolean optional
org_id integer optional
add_time string optional
owner_id integer optional
visible_to string optional
marketing_status string optional

Responses

201

Success

POST /persons
GET /persons/collection

Returns all persons. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.

operationId: Persons_getAll

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

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.

since query optional string

The time boundary that points to the start of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

until query optional string

The time boundary that points to the end of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

owner_id query optional integer

If supplied, only persons owned by the given user will be returned

first_char query optional string

If supplied, only persons whose name starts with the specified letter will be returned (case-insensitive)

Responses

200

Success

403

Forbidden response

GET /persons/collection
GET /persons/search

Searches all persons by name, email, phone, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found persons can be filtered by organization ID.

operationId: Persons_searchByCriteria

Parameters

Name In Required Type Description
term query required string

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.

fields query optional string

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, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

organization_id query optional integer

Will filter persons by the provided organization ID. The upper limit of found persons associated with the organization is 2000.

include_fields query optional string

Supports including optional fields in the results which are not provided by default

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /persons/search
DELETE /persons/{id}

Marks a person as deleted. After 30 days, the person will be permanently deleted.

operationId: Persons_markAsDeleted

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

DELETE /persons/{id}
GET /persons/{id}

Returns the details of a person. Note that this also returns some additional fields which are not present when asking for all persons. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of personFields.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: Persons_getPersonDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

GET /persons/{id}
PUT /persons/{id}

Updates the properties of a person. For more information, see the tutorial for updating a person.
If a company uses the Campaigns product, then this endpoint will also accept and return the data.marketing_status field.

operationId: Persons_updateProperties

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Request Body

application/json
schema PersonsUpdatePropertiesRequest
Property Type Required
name string optional
email array optional
label string optional
value string optional
primary boolean optional
label integer optional
phone array optional
label string optional
value string optional
primary boolean optional
org_id integer optional
add_time string optional
owner_id integer optional
visible_to string optional
marketing_status string optional

Responses

200

Success

PUT /persons/{id}
GET /persons/{id}/activities

Lists activities associated with a person.

operationId: Persons_listActivities

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

done query optional number

Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted, returns both Done and Not done activities.

exclude query optional string

A comma-separated string of activity IDs to exclude from result

Responses

200

Success

GET /persons/{id}/activities
GET /persons/{id}/changelog

Lists updates about field values of a person.

operationId: Persons_listChangelog

Parameters

Name In Required Type Description
id path required integer

The ID of the person

cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

Items shown per page

Responses

200

Get changelog of a person

GET /persons/{id}/changelog
GET /persons/{id}/deals

Lists deals associated with a person.

operationId: Persons_listDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

Responses

200

Success

GET /persons/{id}/deals
GET /persons/{id}/files

Lists files associated with a person.

operationId: Persons_listPersonFiles

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys). Supported fields: id, user_id, deal_id, person_id, org_id, product_id, add_time, update_time, file_name, file_type, file_size, comment.

Responses

200

Success

GET /persons/{id}/files
GET /persons/{id}/flow

Lists updates about a person.
If a company uses the Campaigns product, then this endpoint’s response will also include updates for the marketing_status field.

operationId: Persons_listUpdatesAbout

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

all_changes query optional string

Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates.

items query optional string

A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change).

Responses

200

Get the person updates

GET /persons/{id}/flow
GET /persons/{id}/followers

Lists the followers of a person.

operationId: Persons_listFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

GET /persons/{id}/followers
POST /persons/{id}/followers

Adds a follower to a person.

operationId: Persons_addFollower

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Request Body

application/json
schema PersonsAddFollowerRequest
Property Type Required
user_id integer required

Responses

200

Success

POST /persons/{id}/followers
DELETE /persons/{id}/followers/{follower_id}

Deletes a follower from a person.

operationId: Persons_deleteFollower

Parameters

Name In Required Type Description
id path required integer

The ID of the person

follower_id path required integer

The ID of the follower

Responses

200

Success

DELETE /persons/{id}/followers/{follower_id}
GET /persons/{id}/mailMessages

Lists mail messages associated with a person.

operationId: Persons_listMailMessages

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /persons/{id}/mailMessages
PUT /persons/{id}/merge

Merges a person with another person. For more information, see the tutorial for merging two persons.

operationId: Persons_mergeTwo

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Request Body

application/json
schema PersonsMergeTwoRequest
Property Type Required
merge_with_id integer required

Responses

200

Success

PUT /persons/{id}/merge
GET /persons/{id}/permittedUsers

List users permitted to access a person.

operationId: Persons_listPermittedUsers

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

GET /persons/{id}/permittedUsers
DELETE /persons/{id}/picture

Deletes a person’s picture.

operationId: Persons_deletePicture

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

DELETE /persons/{id}/picture
POST /persons/{id}/picture

Adds a picture to a person. If a picture is already set, the old picture will be replaced. Added image (or the cropping parameters supplied with the request) should have an equal width and height and should be at least 128 pixels. GIF, JPG and PNG are accepted. All added images will be resized to 128 and 512 pixel wide squares.

operationId: Persons_addPicture

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Request Body

multipart/form-data
schema PersonsAddPictureRequest
Property Type Required
file string required
crop_x integer optional
crop_y integer optional
crop_width integer optional
crop_height integer optional

Responses

200

Success

POST /persons/{id}/picture
GET /persons/{id}/products

Lists products associated with a person.

operationId: Persons_listProducts

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /persons/{id}/products

Pipelines 8 endpoints

GET /pipelines

Returns data about all pipelines.

operationId: Pipelines_getAll

Responses

200

Get all pipelines

GET /pipelines
POST /pipelines

Adds a new pipeline.

operationId: Pipelines_createNewPipeline

Request Body

application/json
schema PipelinesCreateNewPipelineRequest
Property Type Required
name string required
active number optional
order_nr integer optional
deal_probability number optional

Responses

200

Add pipeline

POST /pipelines
DELETE /pipelines/{id}

Marks a pipeline as deleted.

operationId: Pipelines_deletePipeline

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

Responses

200

Delete pipeline

DELETE /pipelines/{id}
GET /pipelines/{id}

Returns data about a specific pipeline. Also returns the summary of the deals in this pipeline across its stages.

operationId: Pipelines_getOnePipelineSummary

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

totals_convert_currency query optional string

The 3-letter currency code of any of the supported currencies. When supplied, per_stages_converted is returned in deals_summary which contains the currency-converted total amounts in the given currency per each stage. You may also set this parameter to default_currency in which case users default currency is used.

Responses

200

Get pipeline

GET /pipelines/{id}
PUT /pipelines/{id}

Updates the properties of a pipeline.

operationId: Pipelines_updateProperties

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

Request Body

application/json
schema PipelinesUpdatePropertiesRequest
Property Type Required
name string optional
active number optional
order_nr integer optional
deal_probability number optional

Responses

200

Edit pipeline

PUT /pipelines/{id}
GET /pipelines/{id}/conversion_statistics

Returns all stage-to-stage conversion and pipeline-to-close rates for the given time period.

operationId: Pipelines_getConversionStatistics

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

start_date query required string

The start of the period. Date in format of YYYY-MM-DD.

end_date query required string

The end of the period. Date in format of YYYY-MM-DD.

user_id query optional integer

The ID of the user who’s pipeline metrics statistics to fetch. If omitted, the authorized user will be used.

Responses

200

Get pipeline deals conversion rates

GET /pipelines/{id}/conversion_statistics
GET /pipelines/{id}/deals

Lists deals in a specific pipeline across all its stages.

operationId: Pipelines_listDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

filter_id query optional integer

If supplied, only deals matching the given filter will be returned

user_id query optional integer

If supplied, filter_id will not be considered and only deals owned by the given user will be returned. If omitted, deals owned by the authorized user will be returned.

everyone query optional number

If supplied, filter_id and user_id will not be considered – instead, deals owned by everyone will be returned

stage_id query optional integer

If supplied, only deals within the given stage will be returned

start query optional integer

Pagination start

limit query optional integer

Items shown per page

get_summary query optional number

Whether to include a summary of the pipeline in the additional_data or not

totals_convert_currency query optional string

The 3-letter currency code of any of the supported currencies. When supplied, per_stages_converted is returned inside deals_summary inside additional_data which contains the currency-converted total amounts in the given currency per each stage. You may also set this parameter to default_currency in which case users default currency is used. Only works when get_summary parameter flag is enabled.

Responses

200

Get deals in a stage

GET /pipelines/{id}/deals
GET /pipelines/{id}/movement_statistics

Returns statistics for deals movements for the given time period.

operationId: Pipelines_getMovementStatistics

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

start_date query required string

The start of the period. Date in format of YYYY-MM-DD.

end_date query required string

The end of the period. Date in format of YYYY-MM-DD.

user_id query optional integer

The ID of the user who’s pipeline statistics to fetch. If omitted, the authorized user will be used.

Responses

200

Get pipeline deals conversion rates

GET /pipelines/{id}/movement_statistics

Productfields 6 endpoints

DELETE /productFields

Marks multiple fields as deleted.

operationId: ProductFields_deleteMultipleBulk

Parameters

Name In Required Type Description
ids query required string

The comma-separated field IDs to delete

Responses

200

Mark multiple product fields as deleted

DELETE /productFields
GET /productFields

Returns data about all product fields.

operationId: ProductFields_getAllFields

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get data about all product fields

GET /productFields
POST /productFields

Adds a new product field. For more information, see the tutorial for adding a new custom field.

operationId: ProductFields_addNewField

Request Body

application/json
schema ProductFieldsAddNewFieldRequest
Property Type Required
name string required
options array optional
field_type string required

Responses

201

Get the data for a single product field

POST /productFields
DELETE /productFields/{id}

Marks a product field as deleted. For more information, see the tutorial for deleting a custom field.

operationId: ProductFields_markAsDeleted

Parameters

Name In Required Type Description
id path required integer

The ID of the product field

Responses

200

Delete a product field

410

The product field with the specified ID does not exist or is inaccessible

DELETE /productFields/{id}
GET /productFields/{id}

Returns data about a specific product field.

operationId: ProductFields_getOneField

Parameters

Name In Required Type Description
id path required integer

The ID of the product field

Responses

200

Get the data for a single product field

410

The product field with the specified ID does not exist or is inaccessible

GET /productFields/{id}
PUT /productFields/{id}

Updates a product field. For more information, see the tutorial for updating custom fields’ values.

operationId: ProductFields_updateField

Parameters

Name In Required Type Description
id path required integer

The ID of the product field

Request Body

application/json
schema ProductFieldsUpdateFieldRequest
Property Type Required
name string optional
options array optional

Responses

200

Get the data for a single product field

PUT /productFields/{id}

Products 9 endpoints

GET /products

Returns data about all products.

operationId: Products_getAllProducts

Parameters

Name In Required Type Description
user_id query optional integer

If supplied, only products owned by the given user will be returned

filter_id query optional integer

The ID of the filter to use

ids query optional array

An array of integers with the IDs of the products that should be returned in the response

first_char query optional string

If supplied, only products whose name starts with the specified letter will be returned (case-insensitive)

get_summary query optional boolean

If supplied, the response will return the total numbers of products in the additional_data.summary.total_count property

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

List of products

GET /products
POST /products

Adds a new product to the Products inventory. For more information, see the tutorial for adding a product.

operationId: Products_createProduct

Request Body

application/json
schema ProductsCreateProductRequest
Property Type Required
name string required
tax number optional
code string optional
unit string optional
prices array optional
owner_id integer optional
selectable boolean optional
visible_to string optional
active_flag boolean optional

Responses

201

Add product data

POST /products
GET /products/search

Searches all products by name, code and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.

operationId: Products_searchByFields

Parameters

Name In Required Type Description
term query required string

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.

fields query optional string

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, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

include_fields query optional string

Supports including optional fields in the results which are not provided by default

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /products/search
DELETE /products/{id}

Marks a product as deleted. After 30 days, the product will be permanently deleted.

operationId: Products_markAsDeleted

Parameters

Name In Required Type Description
id path required integer

The ID of the product

Responses

200

Deletes a product

DELETE /products/{id}
GET /products/{id}

Returns data about a specific product.

operationId: Products_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the product

Responses

200

Get product information by id

GET /products/{id}
PUT /products/{id}

Updates product data.

operationId: Products_updateProductData

Parameters

Name In Required Type Description
id path required integer

The ID of the product

Request Body

application/json
schema ProductsUpdateProductDataRequest
Property Type Required
name string required
tax number optional
code string optional
unit string optional
prices array optional
owner_id integer optional
selectable boolean optional
visible_to string optional
active_flag boolean optional

Responses

200

Updates product data

PUT /products/{id}
GET /products/{id}/deals

Returns data about deals that have a product attached to it.

operationId: Products_getDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the product

start query optional integer

Pagination start

limit query optional integer

Items shown per page

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

Responses

200

The data of deals that have a product attached

GET /products/{id}/deals
GET /products/{id}/files

Lists files associated with a product.

operationId: Products_listProductFiles

Parameters

Name In Required Type Description
id path required integer

The ID of the product

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field name and sorting mode (field_name_1 ASC or field_name_1 DESC). Supported fields: update_time, id.

Responses

200

Success

GET /products/{id}/files
GET /products/{id}/followers

Lists the followers of a product.

operationId: Products_listProductFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the product

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Lists the followers of a product

GET /products/{id}/followers
Load more endpoints