openapi: 3.0.1
info:
title: Pipedrive API v1 Activities Deals API
version: 1.0.0
description: 'Activities are appointments/tasks/events on a calendar that can be associated with a deal, a lead, a person and an organization. Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular user. Note that activities can also be created without a specific date/time.
'
servers:
- url: https://api.pipedrive.com/v1
tags:
- name: Deals
description: 'Deals represent ongoing, lost or won sales to an organization or to a person. Each deal has a monetary value and must be placed in a stage. Deals can be owned by a user, and followed by one or many users. Each deal consists of standard data fields but can also contain a number of custom fields. The custom fields can be recognized by long hashes as keys. These hashes can be mapped against `DealField.key`. The corresponding label for each such custom field can be obtained from `DealField.name`.
'
paths:
/deals/archived:
get:
summary: Get all archived deals
description: Returns all archived deals.
x-token-cost: 40
operationId: getArchivedDeals
deprecated: true
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: query
name: user_id
schema:
type: integer
description: If supplied, only deals matching the given user will be returned. However, `filter_id` and `owned_by_you` takes precedence over `user_id` when supplied.
- in: query
name: filter_id
schema:
type: integer
description: The ID of the filter to use
- in: query
name: person_id
schema:
type: integer
description: If supplied, only deals linked to the specified person are returned. If filter_id is provided, this is ignored.
- in: query
name: org_id
schema:
type: integer
description: If supplied, only deals linked to the specified organization are returned. If filter_id is provided, this is ignored.
- in: query
name: product_id
schema:
type: integer
description: If supplied, only deals linked to the specified product are returned. If filter_id is provided, this is ignored.
- in: query
name: pipeline_id
schema:
type: integer
description: If supplied, only deals in the specified pipeline are returned. If filter_id is provided, this is ignored.
- in: query
name: stage_id
schema:
type: integer
description: If supplied, only deals in the specified stage are returned. If filter_id is provided, this is ignored.
- in: query
name: status
schema:
type: string
default: all_not_deleted
enum:
- open
- won
- lost
- deleted
- all_not_deleted
description: 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.
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
- in: query
name: sort
schema:
type: string
description: 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).
- in: query
name: owned_by_you
description: When supplied, only deals owned by you are returned. However, `filter_id` takes precedence over `owned_by_you` when both are supplied.
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
responses:
'200':
description: Get all archived deals
content:
application/json:
schema:
title: GetDealsResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: array
items:
title: Deal
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the deal
creator_user_id:
type: object
description: The creator of the deal
properties:
id:
type: integer
description: The ID of the deal creator
name:
type: string
description: The name of the deal creator
email:
type: string
description: The email of the deal creator
has_pic:
type: boolean
description: If the creator has a picture or not
pic_hash:
type: string
nullable: true
description: The creator picture hash
active_flag:
type: boolean
description: Whether the creator is active or not
value:
type: integer
description: The ID of the deal creator
user_id:
title: dealUserDataWithId
allOf:
- description: The user who is associated with the deal
type: object
properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: boolean
description: If the user has a picture or not
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
properties:
value:
type: integer
description: The ID of the user
person_id:
title: dealPersonDataWithId
allOf:
- type: object
description: The person who is associated with the deal
properties:
active_flag:
type: boolean
description: Whether the associated person is active or not
name:
type: string
description: The name of the person associated with the deal
email:
type: array
description: The emails of the person associated with the deal
items:
type: object
properties:
label:
type: string
description: The type of the email
value:
type: string
description: The email of the associated person
primary:
type: boolean
description: If this is the primary email or not
phone:
type: array
description: The phone numbers of the person associated with the deal
items:
type: object
properties:
label:
type: string
description: The type of the phone number
value:
type: string
description: The phone number of the person associated with the deal
primary:
type: boolean
description: If this is the primary phone number or not
owner_id:
type: integer
description: The ID of the owner of the person that is associated with the deal
- type: object
properties:
value:
type: integer
description: The ID of the person associated with the deal
org_id:
title: DealOrganizationDataWithId
allOf:
- type: object
description: The organization which is associated with the deal
properties:
name:
type: string
description: The name of the organization associated with the deal
people_count:
type: integer
description: The number of people connected with the organization that is associated with the deal
owner_id:
type: integer
description: The ID of the owner of the organization that is associated with the deal
address:
type: string
description: The address of the organization that is associated with the deal
active_flag:
type: boolean
description: Whether the associated organization is active or not
cc_email:
type: string
description: The BCC email of the organization associated with the deal
- type: object
properties:
value:
type: integer
description: The ID of the organization associated with the deal
- title: baseDeal
type: object
properties:
stage_id:
type: integer
description: The ID of the deal stage
title:
type: string
description: The title of the deal
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
active:
type: boolean
description: Whether the deal is active or not
deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
next_activity_date:
type: string
description: The date of the next activity associated with the deal
next_activity_time:
type: string
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: string
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
won_time:
type: string
description: The date and time of changing the deal status as won
first_won_time:
type: string
description: The date and time of the first time changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
products_count:
type: integer
description: The number of products associated with the deal
files_count:
type: integer
description: The number of files associated with the deal
notes_count:
type: integer
description: The number of notes associated with the deal
followers_count:
type: integer
description: The number of followers associated with the deal
email_messages_count:
type: integer
description: The number of emails associated with the deal
activities_count:
type: integer
description: The number of activities associated with the deal
done_activities_count:
type: integer
description: The number of completed activities associated with the deal
undone_activities_count:
type: integer
description: The number of incomplete activities associated with the deal
participants_count:
type: integer
description: The number of participants associated with the deal
expected_close_date:
type: string
format: date
description: The expected close date of the deal
last_incoming_mail_time:
type: string
description: The date and time of the last incoming email associated with the deal
last_outgoing_mail_time:
type: string
description: The date and time of the last outgoing email associated with the deal
label:
type: string
description: The label or multiple labels assigned to the deal
stage_order_nr:
type: integer
description: The order number of the deal stage associated with the deal
person_name:
type: string
description: The name of the person associated with the deal
org_name:
type: string
description: The name of the organization associated with the deal
next_activity_subject:
type: string
description: The subject of the next activity associated with the deal
next_activity_type:
type: string
description: The type of the next activity associated with the deal
next_activity_duration:
type: string
description: The duration of the next activity associated with the deal
next_activity_note:
type: string
description: The note of the next activity associated with the deal
formatted_value:
type: string
description: The deal value formatted with selected currency. E.g. US$500
weighted_value:
type: number
description: Probability times deal value. Probability can either be deal probability or if not set, then stage probability.
formatted_weighted_value:
type: string
description: The weighted_value formatted with selected currency. E.g. US$500
weighted_value_currency:
type: string
description: The currency associated with the deal
rotten_time:
type: string
nullable: true
description: The date and time of changing the deal status as rotten
owner_name:
type: string
description: The name of the deal owner
cc_email:
type: string
description: The BCC email of the deal
org_hidden:
type: boolean
description: If the organization that is associated with the deal is hidden or not
person_hidden:
type: boolean
description: If the person that is associated with the deal is hidden or not
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
arr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Recurring Revenue of the deal
If the `arr` is null, this will also be null
'
mrr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Monthly Recurring Revenue of the deal
If the `mrr` is null, this will also be null
'
acv_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Contract Value of the deal
If the `acv` is null, this will also be null
'
description: The array of deals
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
related_objects:
type: object
properties:
user:
type: object
properties:
USER_ID:
type: object
title: userDataWithId
allOf:
- properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: integer
description: Whether the user has picture or not. 0 = No picture, 1 = Has picture.
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
description: The ID of the user
organization:
type: object
title: RelatedOrganizationDataWithActiveFlag
properties:
ORGANIZATION_ID:
type: object
title: OrganizationDataWithIdAndActiveFlag
description: The ID of the organization associated with the item
allOf:
- type: object
title: OrganizationDataWithIdAndActiveFlagAllOf
properties:
active_flag:
type: boolean
description: Whether the associated organization is active or not
- type: object
title: OrganizationDataWithId
description: The ID of the organization associated with the item
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the organization associated with the item
- type: object
properties:
name:
type: string
description: The name of the organization associated with the item
people_count:
type: integer
description: The number of people connected with the organization that is associated with the item
owner_id:
type: integer
description: The ID of the owner of the organization that is associated with the item
address:
type: string
nullable: true
description: The address of the organization
cc_email:
type: string
nullable: true
description: The BCC email of the organization associated with the item
person:
type: object
properties:
PERSON_ID:
type: object
description: The ID of the person associated with the item
title: PersonDataWithActiveFlag
allOf:
- type: object
properties:
active_flag:
type: boolean
description: Whether the associated person is active or not
- type: object
properties:
id:
type: integer
description: The ID of the person associated with the item
name:
type: string
description: The name of the person associated with the item
email:
type: array
description: The emails of the person associated with the item
items:
type: object
properties:
label:
type: string
description: The type of the email
value:
type: string
description: The email of the associated person
primary:
type: boolean
description: Whether this is the primary email or not
phone:
type: array
description: The phone numbers of the person associated with the item
items:
type: object
title: PhoneData
properties:
label:
type: string
description: The type of the phone number
value:
type: string
description: The phone number of the person associated with the item
primary:
type: boolean
description: Whether this is the primary phone number or not
owner_id:
type: integer
description: The ID of the owner of the person that is associated with the item
example:
success: true
data:
- id: 1
creator_user_id:
id: 8877
name: Creator
email: john.doe@pipedrive.com
has_pic: false
pic_hash: null
active_flag: true
value: 8877
user_id:
id: 8877
name: Creator
email: john.doe@pipedrive.com
has_pic: false
pic_hash: null
active_flag: true
value: 8877
person_id:
active_flag: true
name: Person
email:
- label: work
value: person@pipedrive.com
primary: true
phone:
- label: work
value: '37244499911'
primary: true
value: 1101
org_id:
name: Organization
people_count: 2
owner_id: 8877
address: Mustamäe tee 3a, 10615 Tallinn
active_flag: true
cc_email: org@pipedrivemail.com
value: 5
stage_id: 2
title: Deal One
value: 130
currency: EUR
archive_time: '2019-05-29 04:21:51'
add_time: '2019-05-29 04:21:51'
update_time: '2019-11-28 16:19:50'
stage_change_time: '2019-11-28 15:41:22'
active: true
deleted: false
is_archived: true
status: open
probability: null
next_activity_date: '2019-11-29'
next_activity_time: '11:30:00'
next_activity_id: 128
last_activity_id: null
last_activity_date: null
lost_reason: null
visible_to: '1'
close_time: null
pipeline_id: 1
won_time: '2019-11-27 11:40:36'
first_won_time: '2019-11-27 11:40:36'
lost_time: '2019-11-27 11:40:36'
products_count: 2
files_count: 0
notes_count: 2
followers_count: 0
email_messages_count: 4
activities_count: 1
done_activities_count: 0
undone_activities_count: 1
participants_count: 1
expected_close_date: '2019-06-29'
last_incoming_mail_time: '2019-05-29 18:21:42'
last_outgoing_mail_time: '2019-05-30 03:45:35'
label: '11'
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
stage_order_nr: 2
person_name: Person
org_name: Organization
next_activity_subject: Call
next_activity_type: call
next_activity_duration: 00:30:00
next_activity_note: Note content
formatted_value: €5,000
weighted_value: 5000
formatted_weighted_value: €5,000
weighted_value_currency: EUR
rotten_time: null
owner_name: Creator
cc_email: company+deal1@pipedrivemail.com
org_hidden: false
person_hidden: false
acv: 120
arr: 120
mrr: 10
acv_currency: EUR
arr_currency: EUR
mrr_currency: EUR
related_objects:
user:
'8877':
id: 8877
name: Creator
email: john.doe@pipedrive.com
has_pic: false
pic_hash: null
active_flag: true
organization:
'5':
id: 5
name: Organization
people_count: 2
owner_id: 8877
address: Mustamäe tee 3a, 10615 Tallinn
active_flag: true
cc_email: org@pipedrivemail.com
person:
'1101':
active_flag: true
id: 1101
name: Person
email:
- label: work
value: person@pipedrive.com
primary: true
phone:
- label: work
value: '3421787767'
primary: true
owner_id: 8877
stage:
'2':
id: 2
company_id: 123
order_nr: 1
name: Stage Name
active_flag: true
deal_probability: 100
pipeline_id: 1
rotten_flag: false
rotten_days: null
add_time: '2015-12-08 13:54:06'
update_time: '2015-12-08 13:54:06'
pipeline_name: Pipeline
pipeline_deal_probability: true
pipeline:
'1':
id: 1
name: Pipeline
url_title: Pipeline
order_nr: 0
active: true
deal_probability: true
add_time: '2015-12-08 10:00:24'
update_time: '2015-12-08 10:00:24'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
next_start: 1
/deals/summary:
get:
summary: Get deals summary
description: Returns a summary of all not archived deals.
x-token-cost: 40
operationId: getDealsSummary
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: query
name: status
schema:
type: string
enum:
- open
- won
- lost
description: Only fetch deals with a specific status. open = Open, won = Won, lost = Lost.
- in: query
name: filter_id
schema:
type: integer
description: user_id will not be considered. Only deals matching the given filter will be returned.
- in: query
name: user_id
schema:
type: integer
description: Only deals matching the given user will be returned. `user_id` will not be considered if you use `filter_id`.
- in: query
name: pipeline_id
schema:
type: integer
description: Only deals within the given pipeline will be returned
- in: query
name: stage_id
schema:
type: integer
description: Only deals within the given stage will be returned
responses:
'200':
description: Get the summary of not archived deals
content:
application/json:
schema:
title: GetDealsSummaryResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
description: The summary of deals
properties:
values_total:
type: object
description: The total values of the deals grouped by deal currency
properties:
value:
type: number
description: The total value of deals in the deal currency group
count:
type: integer
description: The number of deals in the deal currency group
value_converted:
type: number
description: The total value of deals converted into the company default currency
value_formatted:
type: string
description: The total value of deals formatted with deal currency. E.g. €50
value_converted_formatted:
type: string
description: The value_converted formatted with deal currency. E.g. US$50.10
weighted_values_total:
type: object
description: The total weighted values of the deals grouped by deal currency. The weighted value is calculated as probability times deal value.
properties:
value:
type: number
description: The total weighted value of the deals in the deal currency group
count:
type: integer
description: The number of deals in the deal currency group
value_formatted:
type: string
description: The total weighted value of the deals formatted with deal currency. E.g. €50
total_count:
type: integer
description: The total number of deals
total_currency_converted_value:
type: number
description: The total value of deals converted into the company default currency
total_weighted_currency_converted_value:
type: number
description: The total weighted value of deals converted into the company default currency
total_currency_converted_value_formatted:
type: string
description: The total converted value of deals formatted with the company default currency. E.g. US$5,100.96
total_weighted_currency_converted_value_formatted:
type: string
description: The total weighted value of deals formatted with the company default currency. E.g. US$5,100.96
example:
success: true
data:
values_total:
EUR:
value: 10
count: 2
value_converted: 11.1
value_formatted: €10
value_converted_formatted: US$11.10
USD:
value: 30
count: 3
value_converted: 30
value_formatted: US$30
value_converted_formatted: US$3
weighted_values_total:
EUR:
value: 10
count: 2
value_formatted: €10
USD:
value: 30
count: 3
value_formatted: US$30
total_count: 5
total_currency_converted_value: 41.1
total_weighted_currency_converted_value: 41.1
total_currency_converted_value_formatted: US$41.1
total_weighted_currency_converted_value_formatted: US$41.1
/deals/summary/archived:
get:
summary: Get archived deals summary
description: Returns a summary of all archived deals.
x-token-cost: 80
operationId: getArchivedDealsSummary
deprecated: true
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: query
name: status
schema:
type: string
enum:
- open
- won
- lost
description: Only fetch deals with a specific status. open = Open, won = Won, lost = Lost.
- in: query
name: filter_id
schema:
type: integer
description: user_id will not be considered. Only deals matching the given filter will be returned.
- in: query
name: user_id
schema:
type: integer
description: Only deals matching the given user will be returned. `user_id` will not be considered if you use `filter_id`.
- in: query
name: pipeline_id
schema:
type: integer
description: Only deals within the given pipeline will be returned
- in: query
name: stage_id
schema:
type: integer
description: Only deals within the given stage will be returned
responses:
'200':
description: Get the summary of archived deals
content:
application/json:
schema:
title: GetDealsSummaryResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
description: The summary of deals
properties:
values_total:
type: object
description: The total values of the deals grouped by deal currency
properties:
value:
type: number
description: The total value of deals in the deal currency group
count:
type: integer
description: The number of deals in the deal currency group
value_converted:
type: number
description: The total value of deals converted into the company default currency
value_formatted:
type: string
description: The total value of deals formatted with deal currency. E.g. €50
value_converted_formatted:
type: string
description: The value_converted formatted with deal currency. E.g. US$50.10
weighted_values_total:
type: object
description: The total weighted values of the deals grouped by deal currency. The weighted value is calculated as probability times deal value.
properties:
value:
type: number
description: The total weighted value of the deals in the deal currency group
count:
type: integer
description: The number of deals in the deal currency group
value_formatted:
type: string
description: The total weighted value of the deals formatted with deal currency. E.g. €50
total_count:
type: integer
description: The total number of deals
total_currency_converted_value:
type: number
description: The total value of deals converted into the company default currency
total_weighted_currency_converted_value:
type: number
description: The total weighted value of deals converted into the company default currency
total_currency_converted_value_formatted:
type: string
description: The total converted value of deals formatted with the company default currency. E.g. US$5,100.96
total_weighted_currency_converted_value_formatted:
type: string
description: The total weighted value of deals formatted with the company default currency. E.g. US$5,100.96
example:
success: true
data:
values_total:
EUR:
value: 10
count: 2
value_converted: 11.1
value_formatted: €10
value_converted_formatted: US$11.10
USD:
value: 30
count: 3
value_converted: 30
value_formatted: US$30
value_converted_formatted: US$3
weighted_values_total:
EUR:
value: 10
count: 2
value_formatted: €10
USD:
value: 30
count: 3
value_formatted: US$30
total_count: 5
total_currency_converted_value: 41.1
total_weighted_currency_converted_value: 41.1
total_currency_converted_value_formatted: US$41.1
total_weighted_currency_converted_value_formatted: US$41.1
/deals/timeline:
get:
summary: Get deals timeline
description: Returns not archived open and won deals, grouped by a defined interval of time set in a date-type dealField (`field_key`) — e.g. when month is the chosen interval, and 3 months are asked starting from January 1st, 2012, deals are returned grouped into 3 groups — January, February and March — based on the value of the given `field_key`.
x-token-cost: 20
operationId: getDealsTimeline
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: query
name: start_date
required: true
schema:
type: string
format: date
description: 'The date when the first interval starts. Format: YYYY-MM-DD.'
- in: query
name: interval
required: true
schema:
type: string
enum:
- day
- week
- month
- quarter
description: The type of the interval
| Value | Description |
|---|
| `day` | Day |
| `week` | A full week (7 days) starting from `start_date` |
| `month` | A full month (depending on the number of days in given month) starting from `start_date` |
| `quarter` | A full quarter (3 months) starting from `start_date` |
- in: query
name: amount
required: true
schema:
type: integer
description: The number of given intervals, starting from `start_date`, to fetch. E.g. 3 (months).
- in: query
name: field_key
required: true
schema:
type: string
description: The date field key which deals will be retrieved from
- in: query
name: user_id
schema:
type: integer
description: If supplied, only deals matching the given user will be returned
- in: query
name: pipeline_id
schema:
type: integer
description: If supplied, only deals matching the given pipeline will be returned
- in: query
name: filter_id
schema:
type: integer
description: If supplied, only deals matching the given filter will be returned
- in: query
name: exclude_deals
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: Whether to exclude deals list (1) or not (0). Note that when deals are excluded, the timeline summary (counts and values) is still returned.
- in: query
name: totals_convert_currency
schema:
type: string
description: The 3-letter currency code of any of the supported currencies. When supplied, `totals_converted` is returned per each interval which contains the currency-converted total amounts in the given currency. You may also set this parameter to `default_currency` in which case the user's default currency is used.
responses:
'200':
description: Get open and won deals, grouped by the defined interval of time
content:
application/json:
schema:
title: GetDealsTimelineResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
description: Open and won deals grouped into periods by defined interval, amount and date-type dealField (`field_key`)
properties:
period_start:
type: string
description: The start date and time of the period
period_end:
type: string
description: The end date and time of the period
deals:
type: array
items:
title: DealStrict
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the deal
creator_user_id:
type: integer
description: The ID of the deal creator
user_id:
type: integer
description: The ID of the user
person_id:
type: integer
description: The ID of the person associated with the deal
org_id:
type: integer
description: The ID of the organization associated with the deal
- title: baseDeal
type: object
properties:
stage_id:
type: integer
description: The ID of the deal stage
title:
type: string
description: The title of the deal
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
active:
type: boolean
description: Whether the deal is active or not
deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
next_activity_date:
type: string
description: The date of the next activity associated with the deal
next_activity_time:
type: string
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: string
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
won_time:
type: string
description: The date and time of changing the deal status as won
first_won_time:
type: string
description: The date and time of the first time changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
products_count:
type: integer
description: The number of products associated with the deal
files_count:
type: integer
description: The number of files associated with the deal
notes_count:
type: integer
description: The number of notes associated with the deal
followers_count:
type: integer
description: The number of followers associated with the deal
email_messages_count:
type: integer
description: The number of emails associated with the deal
activities_count:
type: integer
description: The number of activities associated with the deal
done_activities_count:
type: integer
description: The number of completed activities associated with the deal
undone_activities_count:
type: integer
description: The number of incomplete activities associated with the deal
participants_count:
type: integer
description: The number of participants associated with the deal
expected_close_date:
type: string
format: date
description: The expected close date of the deal
last_incoming_mail_time:
type: string
description: The date and time of the last incoming email associated with the deal
last_outgoing_mail_time:
type: string
description: The date and time of the last outgoing email associated with the deal
label:
type: string
description: The label or multiple labels assigned to the deal
stage_order_nr:
type: integer
description: The order number of the deal stage associated with the deal
person_name:
type: string
description: The name of the person associated with the deal
org_name:
type: string
description: The name of the organization associated with the deal
next_activity_subject:
type: string
description: The subject of the next activity associated with the deal
next_activity_type:
type: string
description: The type of the next activity associated with the deal
next_activity_duration:
type: string
description: The duration of the next activity associated with the deal
next_activity_note:
type: string
description: The note of the next activity associated with the deal
formatted_value:
type: string
description: The deal value formatted with selected currency. E.g. US$500
weighted_value:
type: number
description: Probability times deal value. Probability can either be deal probability or if not set, then stage probability.
formatted_weighted_value:
type: string
description: The weighted_value formatted with selected currency. E.g. US$500
weighted_value_currency:
type: string
description: The currency associated with the deal
rotten_time:
type: string
nullable: true
description: The date and time of changing the deal status as rotten
owner_name:
type: string
description: The name of the deal owner
cc_email:
type: string
description: The BCC email of the deal
org_hidden:
type: boolean
description: If the organization that is associated with the deal is hidden or not
person_hidden:
type: boolean
description: If the person that is associated with the deal is hidden or not
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
arr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Recurring Revenue of the deal
If the `arr` is null, this will also be null
'
mrr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Monthly Recurring Revenue of the deal
If the `mrr` is null, this will also be null
'
acv_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Contract Value of the deal
If the `acv` is null, this will also be null
'
totals:
type: object
description: The total values of deals for the given period
properties:
count:
type: integer
description: The number of deals for the given period
values:
type: object
description: The total values of deals grouped by deal currency
weighted_values:
type: object
description: The total weighted values of deals for the given period grouped by deal currency. The weighted value of a deal is calculated as probability times deal value.
open_count:
type: integer
description: The number of open deals for the given period
open_values:
type: object
description: The total values of open deals for the given period grouped by deal currency
weighted_open_values:
type: object
description: The total weighted values of open deals for the given period grouped by deal currency. The weighted value of a deal is calculated as probability times deal value.
won_count:
type: integer
description: The number of won deals for the given period
won_values:
type: object
description: The total values of won deals for the given period grouped by deal currency
example:
success: true
data:
period_start: '2019-12-01 00:00:00'
period_end: '2019-12-31 23:59:59'
deals:
- id: 1
creator_user_id: 8877
user_id: 8877
person_id: 1101
org_id: 5
stage_id: 2
title: Deal One
value: 5000
currency: EUR
archive_time: null
add_time: '2019-05-29 04:21:51'
update_time: '2019-11-28 16:19:50'
stage_change_time: '2019-11-28 15:41:22'
active: true
deleted: false
is_archived: false
status: open
probability: null
next_activity_date: '2019-11-29'
next_activity_time: '11:30:00'
next_activity_id: 128
last_activity_id: null
last_activity_date: null
lost_reason: null
visible_to: '1'
close_time: null
pipeline_id: 1
won_time: '2019-11-27 11:40:36'
first_won_time: '2019-11-27 11:40:36'
lost_time: ''
products_count: 0
files_count: 0
notes_count: 2
followers_count: 0
email_messages_count: 4
activities_count: 1
done_activities_count: 0
undone_activities_count: 1
participants_count: 1
expected_close_date: '2019-06-29'
last_incoming_mail_time: '2019-05-29 18:21:42'
last_outgoing_mail_time: '2019-05-30 03:45:35'
label: '11'
stage_order_nr: 2
person_name: Person
org_name: Organization
next_activity_subject: Call
next_activity_type: call
next_activity_duration: 00:30:00
next_activity_note: Note content
formatted_value: €5,000
weighted_value: 5000
formatted_weighted_value: €5,000
weighted_value_currency: EUR
rotten_time: null
owner_name: Creator
cc_email: company+deal1@pipedrivemail.com
org_hidden: false
person_hidden: false
acv: null
arr: null
mrr: null
acv_currency: null
arr_currency: null
mrr_currency: null
totals:
count: 2
values:
EUR: 100
USD: 220
weighted_values:
EUR: 100
USD: 2200
open_count: 1
open_values:
EUR: 100
weighted_open_values:
EUR: 100
won_count: 1
won_values:
USD: 2200
/deals/timeline/archived:
get:
summary: Get archived deals timeline
description: Returns archived open and won deals, grouped by a defined interval of time set in a date-type dealField (`field_key`) — e.g. when month is the chosen interval, and 3 months are asked starting from January 1st, 2012, deals are returned grouped into 3 groups — January, February and March — based on the value of the given `field_key`.
x-token-cost: 40
operationId: getArchivedDealsTimeline
deprecated: true
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: query
name: start_date
required: true
schema:
type: string
format: date
description: 'The date when the first interval starts. Format: YYYY-MM-DD.'
- in: query
name: interval
required: true
schema:
type: string
enum:
- day
- week
- month
- quarter
description: The type of the interval| Value | Description |
|---|
| `day` | Day |
| `week` | A full week (7 days) starting from `start_date` |
| `month` | A full month (depending on the number of days in given month) starting from `start_date` |
| `quarter` | A full quarter (3 months) starting from `start_date` |
- in: query
name: amount
required: true
schema:
type: integer
description: The number of given intervals, starting from `start_date`, to fetch. E.g. 3 (months).
- in: query
name: field_key
required: true
schema:
type: string
description: The date field key which deals will be retrieved from
- in: query
name: user_id
schema:
type: integer
description: If supplied, only deals matching the given user will be returned
- in: query
name: pipeline_id
schema:
type: integer
description: If supplied, only deals matching the given pipeline will be returned
- in: query
name: filter_id
schema:
type: integer
description: If supplied, only deals matching the given filter will be returned
- in: query
name: exclude_deals
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: Whether to exclude deals list (1) or not (0). Note that when deals are excluded, the timeline summary (counts and values) is still returned.
- in: query
name: totals_convert_currency
schema:
type: string
description: The 3-letter currency code of any of the supported currencies. When supplied, `totals_converted` is returned per each interval which contains the currency-converted total amounts in the given currency. You may also set this parameter to `default_currency` in which case the user's default currency is used.
responses:
'200':
description: Get open and won deals, grouped by the defined interval of time
content:
application/json:
schema:
title: GetDealsTimelineResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
description: Open and won deals grouped into periods by defined interval, amount and date-type dealField (`field_key`)
properties:
period_start:
type: string
description: The start date and time of the period
period_end:
type: string
description: The end date and time of the period
deals:
type: array
items:
title: DealStrict
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the deal
creator_user_id:
type: integer
description: The ID of the deal creator
user_id:
type: integer
description: The ID of the user
person_id:
type: integer
description: The ID of the person associated with the deal
org_id:
type: integer
description: The ID of the organization associated with the deal
- title: baseDeal
type: object
properties:
stage_id:
type: integer
description: The ID of the deal stage
title:
type: string
description: The title of the deal
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
active:
type: boolean
description: Whether the deal is active or not
deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
next_activity_date:
type: string
description: The date of the next activity associated with the deal
next_activity_time:
type: string
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: string
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
won_time:
type: string
description: The date and time of changing the deal status as won
first_won_time:
type: string
description: The date and time of the first time changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
products_count:
type: integer
description: The number of products associated with the deal
files_count:
type: integer
description: The number of files associated with the deal
notes_count:
type: integer
description: The number of notes associated with the deal
followers_count:
type: integer
description: The number of followers associated with the deal
email_messages_count:
type: integer
description: The number of emails associated with the deal
activities_count:
type: integer
description: The number of activities associated with the deal
done_activities_count:
type: integer
description: The number of completed activities associated with the deal
undone_activities_count:
type: integer
description: The number of incomplete activities associated with the deal
participants_count:
type: integer
description: The number of participants associated with the deal
expected_close_date:
type: string
format: date
description: The expected close date of the deal
last_incoming_mail_time:
type: string
description: The date and time of the last incoming email associated with the deal
last_outgoing_mail_time:
type: string
description: The date and time of the last outgoing email associated with the deal
label:
type: string
description: The label or multiple labels assigned to the deal
stage_order_nr:
type: integer
description: The order number of the deal stage associated with the deal
person_name:
type: string
description: The name of the person associated with the deal
org_name:
type: string
description: The name of the organization associated with the deal
next_activity_subject:
type: string
description: The subject of the next activity associated with the deal
next_activity_type:
type: string
description: The type of the next activity associated with the deal
next_activity_duration:
type: string
description: The duration of the next activity associated with the deal
next_activity_note:
type: string
description: The note of the next activity associated with the deal
formatted_value:
type: string
description: The deal value formatted with selected currency. E.g. US$500
weighted_value:
type: number
description: Probability times deal value. Probability can either be deal probability or if not set, then stage probability.
formatted_weighted_value:
type: string
description: The weighted_value formatted with selected currency. E.g. US$500
weighted_value_currency:
type: string
description: The currency associated with the deal
rotten_time:
type: string
nullable: true
description: The date and time of changing the deal status as rotten
owner_name:
type: string
description: The name of the deal owner
cc_email:
type: string
description: The BCC email of the deal
org_hidden:
type: boolean
description: If the organization that is associated with the deal is hidden or not
person_hidden:
type: boolean
description: If the person that is associated with the deal is hidden or not
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
arr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Recurring Revenue of the deal
If the `arr` is null, this will also be null
'
mrr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Monthly Recurring Revenue of the deal
If the `mrr` is null, this will also be null
'
acv_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Contract Value of the deal
If the `acv` is null, this will also be null
'
totals:
type: object
description: The total values of deals for the given period
properties:
count:
type: integer
description: The number of deals for the given period
values:
type: object
description: The total values of deals grouped by deal currency
weighted_values:
type: object
description: The total weighted values of deals for the given period grouped by deal currency. The weighted value of a deal is calculated as probability times deal value.
open_count:
type: integer
description: The number of open deals for the given period
open_values:
type: object
description: The total values of open deals for the given period grouped by deal currency
weighted_open_values:
type: object
description: The total weighted values of open deals for the given period grouped by deal currency. The weighted value of a deal is calculated as probability times deal value.
won_count:
type: integer
description: The number of won deals for the given period
won_values:
type: object
description: The total values of won deals for the given period grouped by deal currency
example:
success: true
data:
period_start: '2019-12-01 00:00:00'
period_end: '2019-12-31 23:59:59'
deals:
- id: 1
creator_user_id: 8877
user_id: 8877
person_id: 1101
org_id: 5
stage_id: 2
title: Deal One
value: 5000
currency: EUR
archive_time: '2019-05-29 04:21:51'
add_time: '2019-05-29 04:21:51'
update_time: '2019-11-28 16:19:50'
stage_change_time: '2019-11-28 15:41:22'
active: true
deleted: false
is_archived: true
status: open
probability: null
next_activity_date: '2019-11-29'
next_activity_time: '11:30:00'
next_activity_id: 128
last_activity_id: null
last_activity_date: null
lost_reason: null
visible_to: '1'
close_time: null
pipeline_id: 1
won_time: '2019-11-27 11:40:36'
first_won_time: '2019-11-27 11:40:36'
lost_time: ''
products_count: 0
files_count: 0
notes_count: 2
followers_count: 0
email_messages_count: 4
activities_count: 1
done_activities_count: 0
undone_activities_count: 1
participants_count: 1
expected_close_date: '2019-06-29'
last_incoming_mail_time: '2019-05-29 18:21:42'
last_outgoing_mail_time: '2019-05-30 03:45:35'
label: '11'
stage_order_nr: 2
person_name: Person
org_name: Organization
next_activity_subject: Call
next_activity_type: call
next_activity_duration: 00:30:00
next_activity_note: Note content
formatted_value: €5,000
weighted_value: 5000
formatted_weighted_value: €5,000
weighted_value_currency: EUR
rotten_time: null
owner_name: Creator
cc_email: company+deal1@pipedrivemail.com
org_hidden: false
person_hidden: false
acv: null
arr: null
mrr: null
acv_currency: null
arr_currency: null
mrr_currency: null
totals:
count: 2
values:
EUR: 100
USD: 220
weighted_values:
EUR: 100
USD: 2200
open_count: 1
open_values:
EUR: 100
weighted_open_values:
EUR: 100
won_count: 1
won_values:
USD: 2200
/deals/{id}/changelog:
get:
summary: List updates about deal field values
description: Lists updates about field values of a deal.
x-token-cost: 20
operationId: getDealChangelog
tags:
- Deals
security:
- api_key: []
- oauth2:
- recents:read
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: cursor
description: For pagination, the marker (an opaque string value) representing the first item on the next page
schema:
type: string
- in: query
name: limit
description: Items shown per page
schema:
type: integer
responses:
'200':
description: Get changelog of a deal
content:
application/json:
schema:
title: GetChangelogResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
items:
type: object
properties:
field_key:
type: string
description: The key of the field that was changed
old_value:
type: string
nullable: true
description: The value of the field before the change
new_value:
type: string
nullable: true
description: The value of the field after the change
actor_user_id:
type: integer
description: The ID of the user who made the change
time:
type: string
description: The date and time of the change
change_source:
type: string
nullable: true
description: The source of change, for example 'app', 'mobile', 'api', etc.
change_source_user_agent:
type: string
nullable: true
description: The user agent from which the change was made
is_bulk_update_flag:
type: boolean
description: Whether the change was made as part of a bulk update
additional_data:
description: The additional data of the list
type: object
properties:
next_cursor:
type: string
description: The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned.
example:
success: true
data:
- field_key: title
old_value: My Deel
new_value: My Deal
actor_user_id: 26
time: '2024-02-12 09:14:35'
change_source: app
change_source_user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
is_bulk_update_flag: false
- field_key: value
old_value: '0'
new_value: '100'
actor_user_id: 26
time: '2024-02-12 09:10:12'
change_source: app
change_source_user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
is_bulk_update_flag: false
additional_data:
next_cursor: aWQ6NTQ0
/deals/{id}/duplicate:
post:
summary: Duplicate deal
description: Duplicates a deal.
x-token-cost: 10
operationId: duplicateDeal
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
responses:
'200':
description: Duplicate a deal
content:
application/json:
schema:
title: GetDuplicatedDealResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
title: DealStrict
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the deal
creator_user_id:
type: integer
description: The ID of the deal creator
user_id:
type: integer
description: The ID of the user
person_id:
type: integer
description: The ID of the person associated with the deal
org_id:
type: integer
description: The ID of the organization associated with the deal
- title: baseDeal
type: object
properties:
stage_id:
type: integer
description: The ID of the deal stage
title:
type: string
description: The title of the deal
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
active:
type: boolean
description: Whether the deal is active or not
deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
next_activity_date:
type: string
description: The date of the next activity associated with the deal
next_activity_time:
type: string
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: string
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
won_time:
type: string
description: The date and time of changing the deal status as won
first_won_time:
type: string
description: The date and time of the first time changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
products_count:
type: integer
description: The number of products associated with the deal
files_count:
type: integer
description: The number of files associated with the deal
notes_count:
type: integer
description: The number of notes associated with the deal
followers_count:
type: integer
description: The number of followers associated with the deal
email_messages_count:
type: integer
description: The number of emails associated with the deal
activities_count:
type: integer
description: The number of activities associated with the deal
done_activities_count:
type: integer
description: The number of completed activities associated with the deal
undone_activities_count:
type: integer
description: The number of incomplete activities associated with the deal
participants_count:
type: integer
description: The number of participants associated with the deal
expected_close_date:
type: string
format: date
description: The expected close date of the deal
last_incoming_mail_time:
type: string
description: The date and time of the last incoming email associated with the deal
last_outgoing_mail_time:
type: string
description: The date and time of the last outgoing email associated with the deal
label:
type: string
description: The label or multiple labels assigned to the deal
stage_order_nr:
type: integer
description: The order number of the deal stage associated with the deal
person_name:
type: string
description: The name of the person associated with the deal
org_name:
type: string
description: The name of the organization associated with the deal
next_activity_subject:
type: string
description: The subject of the next activity associated with the deal
next_activity_type:
type: string
description: The type of the next activity associated with the deal
next_activity_duration:
type: string
description: The duration of the next activity associated with the deal
next_activity_note:
type: string
description: The note of the next activity associated with the deal
formatted_value:
type: string
description: The deal value formatted with selected currency. E.g. US$500
weighted_value:
type: number
description: Probability times deal value. Probability can either be deal probability or if not set, then stage probability.
formatted_weighted_value:
type: string
description: The weighted_value formatted with selected currency. E.g. US$500
weighted_value_currency:
type: string
description: The currency associated with the deal
rotten_time:
type: string
nullable: true
description: The date and time of changing the deal status as rotten
owner_name:
type: string
description: The name of the deal owner
cc_email:
type: string
description: The BCC email of the deal
org_hidden:
type: boolean
description: If the organization that is associated with the deal is hidden or not
person_hidden:
type: boolean
description: If the person that is associated with the deal is hidden or not
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
arr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Recurring Revenue of the deal
If the `arr` is null, this will also be null
'
mrr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Monthly Recurring Revenue of the deal
If the `mrr` is null, this will also be null
'
acv_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Contract Value of the deal
If the `acv` is null, this will also be null
'
example:
success: true
data:
id: 1
creator_user_id: 123
user_id: 456
person_id: 1
org_id: 2
stage_id: 2
title: Deal One
value: 5000
currency: EUR
add_time: '2019-05-29 04:21:51'
update_time: '2019-05-29 04:21:51'
stage_change_time: '2019-11-28 15:41:22'
active: true
deleted: false
status: open
probability: null
next_activity_date: '2019-11-29'
next_activity_time: '11:30:00'
next_activity_id: 128
last_activity_id: null
last_activity_date: null
lost_reason: null
visible_to: '1'
close_time: null
pipeline_id: 1
won_time: '2019-11-27 11:40:36'
first_won_time: '2019-11-27 11:40:36'
lost_time: ''
products_count: 0
files_count: 0
notes_count: 2
followers_count: 0
email_messages_count: 4
activities_count: 1
done_activities_count: 0
undone_activities_count: 1
participants_count: 1
expected_close_date: '2019-06-29'
last_incoming_mail_time: '2019-05-29 18:21:42'
last_outgoing_mail_time: '2019-05-30 03:45:35'
label: '11'
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
stage_order_nr: 2
person_name: Person
org_name: Organization
next_activity_subject: Call
next_activity_type: call
next_activity_duration: 00:30:00
next_activity_note: Note content
formatted_value: €5,000
weighted_value: 5000
formatted_weighted_value: €5,000
weighted_value_currency: EUR
rotten_time: null
owner_name: Creator
cc_email: company+deal1@pipedrivemail.com
org_hidden: false
person_hidden: false
acv: null
arr: null
mrr: null
acv_currency: null
arr_currency: null
mrr_currency: null
/deals/{id}/files:
get:
summary: List files attached to a deal
description: Lists files associated with a deal.
x-token-cost: 20
operationId: getDealFiles
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page. Please note that a maximum value of 100 is allowed.
schema:
type: integer
maximum: 100
- in: query
name: sort
schema:
type: string
description: 'Supported fields: `id`, `update_time`'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetAssociatedFilesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
items:
type: object
description: The file data
properties:
id:
type: integer
description: The ID of the file
user_id:
type: integer
description: The ID of the user to associate the file with
deal_id:
type: integer
description: The ID of the deal to associate the file with
person_id:
type: integer
description: The ID of the person to associate the file with
org_id:
type: integer
description: The ID of the organization to associate the file with
product_id:
type: integer
description: The ID of the product to associate the file with
activity_id:
type: integer
description: The ID of the activity to associate the file with
lead_id:
type: string
description: The ID of the lead to associate the file with
format: uuid
add_time:
type: string
description: 'The date and time when the file was added/created. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The last updated date and time of the file. Format: YYYY-MM-DD HH:MM:SS'
file_name:
type: string
description: The original name of the file
file_size:
type: integer
description: The size of the file
active_flag:
type: boolean
description: Whether the user is active or not. false = Not activated, true = Activated
inline_flag:
type: boolean
description: Whether the file was uploaded as inline or not
remote_location:
type: string
description: The location type to send the file to. Only googledrive is supported at the moment.
remote_id:
type: string
description: The ID of the remote item
cid:
type: string
description: The ID of the inline attachment
s3_bucket:
type: string
description: The location of the cloud storage
mail_message_id:
type: string
description: The ID of the mail message to associate the file with
mail_template_id:
type: string
description: The ID of the mail template to associate the file with
deal_name:
type: string
description: The name of the deal associated with the dile
person_name:
type: string
description: The name of the person associated with the file
org_name:
type: string
description: The name of the organization associated with the file
product_name:
type: string
description: The name of the product associated with the file
lead_name:
type: string
description: The name of the lead associated with the file
url:
type: string
description: The URL of the download file
name:
type: string
description: The visible name of the file
description:
type: string
description: The description of the file
description: The array of files
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
example:
success: true
data:
- id: 1
user_id: 8877
deal_id: 1
person_id: 1
org_id: 1480
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-09-16 11:19:36'
update_time: '2020-09-16 11:19:36'
file_name: 95781006_794143070992462_4330873630616453120_n_60817458877506f9eb74d03e5ef9ba061915b797998.jpg
file_type: img
file_size: 95116
active_flag: true
inline_flag: false
remote_location: s3
remote_id: 95781006_794143070992462_4330873630616453120_n.jpg
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: nice deal
person_name: ''
people_name: ''
org_name: Pipedrive Inc.
product_name: ''
lead_name: nice lead
url: https://app.pipedrive.com/api/v1/files/304/download
name: 95781006_794143070992462_4330873630616453120_n.jpg
description: ''
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
/deals/{id}/flow:
get:
summary: List updates about a deal
description: Lists updates about a deal.
x-token-cost: 40
operationId: getDealUpdates
tags:
- Deals
security:
- api_key: []
- oauth2:
- recents:read
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
- in: query
name: all_changes
description: Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates.
schema:
type: string
- in: query
name: items
description: 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).
schema:
type: string
responses:
'200':
description: Get the deal updates
content:
application/json:
schema:
title: GetDealUpdatesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
items:
type: object
properties:
object:
type: string
description: The type of the deal update. (Possible object types - dealChange, note, activity, mailMessage, invoice, document, file)
timestamp:
type: string
description: The creation date and time of the update
data:
type: object
description: The data related to the update
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
related_objects:
type: object
properties:
deal:
type: object
title: RelatedDealData
properties:
DEAL_ID:
type: object
description: The ID of the deal which is associated with the item
properties:
id:
type: integer
description: The ID of the deal associated with the item
title:
type: string
description: The title of the deal associated with the item
status:
type: string
description: The status of the deal associated with the item
value:
type: number
description: The value of the deal that is associated with the item
currency:
type: string
description: The currency of the deal value
stage_id:
type: integer
description: The ID of the stage the deal is currently at
pipeline_id:
type: integer
description: The ID of the pipeline the deal is in
organization:
type: object
title: RelatedOrganizationData
properties:
ORGANIZATION_ID:
type: object
title: OrganizationDataWithId
description: The ID of the organization associated with the item
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the organization associated with the item
- type: object
properties:
name:
type: string
description: The name of the organization associated with the item
people_count:
type: integer
description: The number of people connected with the organization that is associated with the item
owner_id:
type: integer
description: The ID of the owner of the organization that is associated with the item
address:
type: string
nullable: true
description: The address of the organization
cc_email:
type: string
nullable: true
description: The BCC email of the organization associated with the item
user:
type: object
properties:
USER_ID:
type: object
title: userDataWithId
allOf:
- properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: integer
description: Whether the user has picture or not. 0 = No picture, 1 = Has picture.
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
description: The ID of the user
person:
type: object
properties:
PERSON_ID:
type: object
description: The ID of the person associated with the item
title: PersonDataWithActiveFlag
allOf:
- type: object
properties:
active_flag:
type: boolean
description: Whether the associated person is active or not
- type: object
properties:
id:
type: integer
description: The ID of the person associated with the item
name:
type: string
description: The name of the person associated with the item
email:
type: array
description: The emails of the person associated with the item
items:
type: object
properties:
label:
type: string
description: The type of the email
value:
type: string
description: The email of the associated person
primary:
type: boolean
description: Whether this is the primary email or not
phone:
type: array
description: The phone numbers of the person associated with the item
items:
type: object
title: PhoneData
properties:
label:
type: string
description: The type of the phone number
value:
type: string
description: The phone number of the person associated with the item
primary:
type: boolean
description: Whether this is the primary phone number or not
owner_id:
type: integer
description: The ID of the owner of the person that is associated with the item
example:
success: true
data:
- object: dealChange
timestamp: '2020-09-25 09:21:55'
data:
id: 1300
item_id: 120
user_id: 8877
field_key: value
old_value: 50
new_value: 100
is_bulk_update_flag: null
log_time: '2020-09-25 09:21:55'
change_source: app
change_source_user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML like Gecko) Chrome/84.0.4147.135 Safari/537.36
additional_data: []
- object: activity
timestamp: '2020-08-07 08:15:00'
data:
id: 8
company_id: 22122
user_id: 1234
done: false
type: deadline
reference_type: scheduler-service
reference_id: 7
conference_meeting_client: 871b8bc88d3a1202
conference_meeting_url: https://pipedrive.zoom.us/link
conference_meeting_id: '17058746701'
due_date: '2020-06-09'
due_time: '10:00'
duration: 01:00
busy_flag: true
add_time: '2020-06-08 12:37:56'
marked_as_done_time: '2020-08-08 08:08:38'
last_notification_time: '2020-08-08 12:37:56'
last_notification_user_id: 7655
notification_language_id: 1
subject: Deadline
public_description: This is a description
calendar_sync_include_context: ''
location: Mustamäe tee 3, Tallinn, Estonia
org_id: 5
person_id: 1101
deal_id: 300
lead_id: 46c3b0e1-db35-59ca-1828-4817378dff71
project_id: null
active_flag: true
update_time: '2020-08-08 12:37:56'
update_user_id: 5596
gcal_event_id: ''
google_calendar_id: ''
google_calendar_etag: ''
source_timezone: ''
rec_rule: RRULE:FREQ=WEEKLY;BYDAY=WE
rec_rule_extension: ''
rec_master_activity_id: 1
series: []
note: A note for the activity
created_by_user_id: 1234
location_subpremise: ''
location_street_number: '3'
location_route: Mustamäe tee
location_sublocality: Kristiine
location_locality: Tallinn
location_admin_area_level_1: Harju maakond
location_admin_area_level_2: ''
location_country: Estonia
location_postal_code: '10616'
location_formatted_address: Mustamäe tee 3, 10616 Tallinn, Estonia
attendees:
- email_address: attendee@pipedrivemail.com
is_organizer: 0
name: Attendee
person_id: 25312
status: noreply
user_id: null
participants:
- person_id: 17985
primary_flag: false
- person_id: 1101
primary_flag: true
org_name: Organization
person_name: Person
deal_title: Deal
owner_name: Creator
person_dropbox_bcc: company@pipedrivemail.com
deal_dropbox_bcc: company+deal300@pipedrivemail.com
assigned_to_user_id: 1235
file:
id: 376892,
clean_name: Audio 10:55:07.m4a
url: https://pipedrive-files.s3-eu-west-1.amazonaws.com/Audio-recording.m4a
- object: mailMessage
timestamp: '2020-08-10 11:52:26'
data:
attachments:
- id: 1
user_id: 8877
deal_id: 1
person_id: 1
org_id: 1480
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-09-16 11:19:36'
update_time: '2020-09-16 11:19:36'
file_name: 95781006_794143070992462_4330873630616453120_n_60817458877506f9eb74d03e5ef9ba061915b797998.jpg
file_type: img
file_size: 95116
active_flag: true
inline_flag: false
remote_location: s3
remote_id: 95781006_794143070992462_4330873630616453120_n.jpg
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: nice deal
person_name: ''
people_name: ''
org_name: Pipedrive Inc.
product_name: ''
lead_name: nice lead
url: https://app.pipedrive.com/api/v1/files/304/download
name: 95781006_794143070992462_4330873630616453120_n.jpg
description: ''
id: 1
from:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
to:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
cc:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
bcc:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
body_url: https://example.org
nylas_id: 8cfw8n7l4iy24xxxxxxxxx
account_id: ao5gpry0zykr1xxxxxxxxx
user_id: 1
mail_thread_id: 1
subject: test subject
snippet: test subject
mail_tracking_status: opened
mail_link_tracking_enabled_flag: 0
read_flag: 1
draft: ''
s3_bucket: pipedrive-mail-live-fr
s3_bucket_path: e9cf-6081745/77777/nylas/111/1111/body
draft_flag: 0
synced_flag: 1
deleted_flag: 0
external_deleted_flag: false
has_body_flag: 1
sent_flag: 0
sent_from_pipedrive_flag: 0
smart_bcc_flag: 0
message_time: '2019-11-14T06:02:06.000Z'
add_time: '2019-11-14T06:02:06.000Z'
update_time: '2019-11-14T07:15:49.000Z'
has_attachments_flag: 1
has_inline_attachments_flag: 0
has_real_attachments_flag: 1
mua_message_id: 8cfw8n7l4iy24lfhnexxxxxx-0@mailer.nylas.com
template_id: 1
item_type: mailMessage
timestamp: '2020-09-16T13:37:50.000Z'
company_id: 6081745
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
related_objects:
allOf:
- user:
'123':
id: 123
name: Jane Doe
email: jane@pipedrive.com
has_pic: 1
pic_hash: 2611ace8ac6a3afe2f69ed56f9e08c6b
active_flag: true
- person:
'1101':
active_flag: true
id: 1101
name: Person
email:
- label: work
value: person@pipedrive.com
primary: true
phone:
- label: work
value: '3421787767'
primary: true
owner_id: 8877
- organization:
'1':
id: 1
name: Org Name
people_count: 1
owner_id: 123
address: Mustamäe tee 3a, 10615 Tallinn
active_flag: true
cc_email: org@pipedrivemail.com
- deal:
'123':
id: 123
title: Deal title
status: open
value: 600
currency: EUR
stage_id: 2
pipeline_id: 1
/deals/{id}/participantsChangelog:
get:
summary: List updates about participants of a deal
description: List updates about participants of a deal. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.
x-token-cost: 10
operationId: getDealParticipantsChangelog
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: limit
description: Items shown per page
schema:
type: integer
- in: query
name: cursor
required: false
schema:
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
responses:
'200':
description: Get participant changelogs for a given deal
content:
application/json:
schema:
title: GetParticipantsChangelogResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: array
description: The array of participant changelog
items:
type: object
title: participantChangelogItem
allOf:
- type: object
properties:
actor_user_id:
type: integer
description: The ID of the user
person_id:
type: integer
description: The ID of the person
action:
type: string
description: Deal participant action type
time:
type: string
description: The deal participant action log time
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
example:
success: true
data:
- actor_user_id: 18
person_id: 10
action: added
time: '2024-01-10 11:47:23'
additional_data:
next_cursor: eyJkZWFsIjo0fQ
/deals/{id}/followers:
get:
summary: List followers of a deal
description: Lists the followers of a deal.
x-token-cost: 20
operationId: getDealFollowers
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetListFollowersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
description: The list of followers
items:
type: object
properties:
user_id:
type: integer
description: The ID of the user
id:
type: integer
description: The ID of the user follower
deal_id:
type: integer
description: The ID of the deal which the follower was added to
add_time:
type: string
description: The date and time when the follower was added to the person
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
example:
success: true
data:
- user_id: 123
id: 456
deal_id: 789
add_time: '2020-09-09 11:36:23'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
post:
summary: Add a follower to a deal
description: Adds a follower to a deal.
x-token-cost: 10
operationId: addDealFollower
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addDealFollowerRequest
type: object
required:
- user_id
properties:
user_id:
type: integer
description: The ID of the user
responses:
'200':
description: Add a follower to a deal
content:
application/json:
schema:
title: AddDealFollowerResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
user_id:
type: integer
description: The user ID who added the follower
id:
type: integer
description: The follower ID
deal_id:
type: integer
description: The ID of the deal which the follower was added to
add_time:
type: string
description: The date and time when the deal follower was added
example:
success: true
data:
user_id: 1
id: 2
deal_id: 3
add_time: '2018-04-11 12:54:43'
/deals/{id}/followers/{follower_id}:
delete:
summary: Delete a follower from a deal
description: Deletes a follower from a deal.
x-token-cost: 6
operationId: deleteDealFollower
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: path
name: follower_id
required: true
schema:
type: integer
description: The ID of the relationship between the follower and the deal
responses:
'200':
description: Delete a follower from a deal
content:
application/json:
schema:
title: DeleteDealFollowerResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
properties:
id:
type: integer
description: The ID of the deal follower that was deleted
example:
success: true
data:
id: 123
/deals/{id}/mailMessages:
get:
summary: List mail messages associated with a deal
description: Lists mail messages associated with a deal.
x-token-cost: 20
operationId: getDealMailMessages
tags:
- Deals
security:
- api_key: []
- oauth2:
- mail:read
- mail:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetAssociatedMailMessagesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
description: The array of mail messages
items:
type: object
properties:
object:
type: string
description: The type of the data item
timestamp:
type: string
description: The date and time when the item was created
data:
title: mailMessageItemForList
allOf:
- type: object
title: MailMessageData
properties:
id:
description: ID of the mail message.
type: integer
from:
type: array
description: The array of mail message sender (object)
items:
type: object
properties:
id:
description: ID of the mail participant
type: integer
email_address:
description: Mail address of the mail participant
type: string
name:
description: Name of the mail participant
type: string
linked_person_id:
description: ID of the linked person to the mail message
type: integer
linked_person_name:
description: Name of the linked person to the mail message
type: string
mail_message_party_id:
description: ID of the mail message participant
type: integer
to:
type: array
description: The array of mail message receiver (object)
items:
type: object
properties:
id:
description: ID of the mail participant
type: integer
email_address:
description: Mail address of the mail participant
type: string
name:
description: Name of the mail participant
type: string
linked_person_id:
description: ID of the linked person to the mail message
type: integer
linked_person_name:
description: Name of the linked person to the mail message
type: string
mail_message_party_id:
description: ID of the mail message participant
type: integer
cc:
type: array
description: The array of mail message copies (object)
items:
type: object
properties:
id:
description: ID of the mail participant
type: integer
email_address:
description: Mail address of the mail participant
type: string
name:
description: Name of the mail participant
type: string
linked_person_id:
description: ID of the linked person to the mail message
type: integer
linked_person_name:
description: Name of the linked person to the mail message
type: string
mail_message_party_id:
description: ID of the mail message participant
type: integer
bcc:
type: array
description: The array of mail message blind copies (object)
items:
type: object
properties:
id:
description: ID of the mail participant
type: integer
email_address:
description: Mail address of the mail participant
type: string
name:
description: Name of the mail participant
type: string
linked_person_id:
description: ID of the linked person to the mail message
type: integer
linked_person_name:
description: Name of the linked person to the mail message
type: string
mail_message_party_id:
description: ID of the mail message participant
type: integer
body_url:
type: string
description: The mail message body URL
account_id:
type: string
description: The connection account ID
user_id:
type: integer
description: ID of the user whom mail message will be assigned to
mail_thread_id:
type: integer
description: ID of the mail message thread
subject:
type: string
description: The subject of mail message
snippet:
type: string
description: The snippet of mail message. Snippet length is up to 225 characters.
mail_tracking_status:
type: string
nullable: true
description: The status of tracking mail message. Value is `null` if tracking is not enabled.
enum:
- opened
- not opened
mail_link_tracking_enabled_flag:
description: Whether the link tracking in mail message body is enabled.
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
read_flag:
description: Whether the mail message is read or not by the user
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
draft:
type: string
description: If the mail message has a draft status then the value is the mail message object as JSON formatted string, otherwise `null`.
draft_flag:
description: Whether the mail message is a draft or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
synced_flag:
description: Whether the mail message is synced with the provider or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
deleted_flag:
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: Whether the mail message is deleted or not
has_body_flag:
description: Whether the mail message has a body or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
sent_flag:
description: Whether the mail message has been sent or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
sent_from_pipedrive_flag:
description: Whether the mail message has been sent from Pipedrive app or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
smart_bcc_flag:
description: Whether the mail message has been created by Smart Email BCC feature or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
message_time:
type: string
format: date-time
description: Creation or receival time of the mail message
add_time:
type: string
format: date-time
description: The insertion into the database time of the mail message
update_time:
type: string
format: date-time
description: The updating time in the database of the mail message
has_attachments_flag:
description: Whether the mail message has an attachment or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_inline_attachments_flag:
description: Whether the mail message has an inline attachment or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_real_attachments_flag:
description: Whether the mail message has an attachment (which is not inline) or not
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
- type: object
properties:
nylas_id:
type: string
description: The Mail Message ID assigned by the sync provider
s3_bucket:
type: string
description: The name of the S3 bucket
s3_bucket_path:
type: string
description: The path of the S3 bucket
external_deleted_flag:
type: boolean
description: If the Mail Message has been deleted on the provider side or not
mua_message_id:
type: string
description: The Mail Message ID assigned by the mail user agent
template_id:
type: integer
description: The ID of the mail template
timestamp:
type: string
description: The add date and time of the Mail Message
item_type:
type: string
description: The type of the data item
company_id:
type: integer
description: The ID of the company
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
example:
success: true
data:
- object: mailMessage
timestamp: '2020-09-16 13:38:17'
data:
id: 1
from:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
to:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
cc:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
bcc:
- id: 1
email_address: mail@example.org
name: Test
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 1
body_url: https://example.org
nylas_id: 8cfw8n7l4iy24xxxxxxxxx
account_id: ao5gpry0zykr1xxxxxxxxx
user_id: 1
mail_thread_id: 1
subject: test subject
snippet: test subject
mail_tracking_status: opened
mail_link_tracking_enabled_flag: 0
read_flag: 1
draft: ''
s3_bucket: pipedrive-mail-live-fr
s3_bucket_path: e9cf-6081745/77777/nylas/111/1111/body
draft_flag: 0
synced_flag: 1
deleted_flag: 0
external_deleted_flag: false
has_body_flag: 1
sent_flag: 0
sent_from_pipedrive_flag: 0
smart_bcc_flag: 0
message_time: '2019-11-14T06:02:06.000Z'
add_time: '2019-11-14T06:02:06.000Z'
update_time: '2019-11-14T07:15:49.000Z'
has_attachments_flag: 1
has_inline_attachments_flag: 0
has_real_attachments_flag: 1
mua_message_id: 8cfw8n7l4iy24lfhnexxxxxx-0@mailer.nylas.com
template_id: 1
item_type: mailMessage
timestamp: '2020-09-16T13:37:50.000Z'
company_id: 6081745
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
/deals/{id}/merge:
put:
summary: Merge two deals
description: Merges a deal with another deal. For more information, see the tutorial for merging two deals.
x-token-cost: 40
operationId: mergeDeals
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: mergeDealsRequest
type: object
required:
- merge_with_id
properties:
merge_with_id:
type: integer
description: The ID of the deal that the deal will be merged with
responses:
'200':
description: Merges a deal with another deal
content:
application/json:
schema:
title: GetMergedDealResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
allOf:
- title: DealStrict
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the deal
creator_user_id:
type: integer
description: The ID of the deal creator
user_id:
type: integer
description: The ID of the user
person_id:
type: integer
description: The ID of the person associated with the deal
org_id:
type: integer
description: The ID of the organization associated with the deal
- title: baseDeal
type: object
properties:
stage_id:
type: integer
description: The ID of the deal stage
title:
type: string
description: The title of the deal
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
active:
type: boolean
description: Whether the deal is active or not
deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
next_activity_date:
type: string
description: The date of the next activity associated with the deal
next_activity_time:
type: string
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: string
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
won_time:
type: string
description: The date and time of changing the deal status as won
first_won_time:
type: string
description: The date and time of the first time changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
products_count:
type: integer
description: The number of products associated with the deal
files_count:
type: integer
description: The number of files associated with the deal
notes_count:
type: integer
description: The number of notes associated with the deal
followers_count:
type: integer
description: The number of followers associated with the deal
email_messages_count:
type: integer
description: The number of emails associated with the deal
activities_count:
type: integer
description: The number of activities associated with the deal
done_activities_count:
type: integer
description: The number of completed activities associated with the deal
undone_activities_count:
type: integer
description: The number of incomplete activities associated with the deal
participants_count:
type: integer
description: The number of participants associated with the deal
expected_close_date:
type: string
format: date
description: The expected close date of the deal
last_incoming_mail_time:
type: string
description: The date and time of the last incoming email associated with the deal
last_outgoing_mail_time:
type: string
description: The date and time of the last outgoing email associated with the deal
label:
type: string
description: The label or multiple labels assigned to the deal
stage_order_nr:
type: integer
description: The order number of the deal stage associated with the deal
person_name:
type: string
description: The name of the person associated with the deal
org_name:
type: string
description: The name of the organization associated with the deal
next_activity_subject:
type: string
description: The subject of the next activity associated with the deal
next_activity_type:
type: string
description: The type of the next activity associated with the deal
next_activity_duration:
type: string
description: The duration of the next activity associated with the deal
next_activity_note:
type: string
description: The note of the next activity associated with the deal
formatted_value:
type: string
description: The deal value formatted with selected currency. E.g. US$500
weighted_value:
type: number
description: Probability times deal value. Probability can either be deal probability or if not set, then stage probability.
formatted_weighted_value:
type: string
description: The weighted_value formatted with selected currency. E.g. US$500
weighted_value_currency:
type: string
description: The currency associated with the deal
rotten_time:
type: string
nullable: true
description: The date and time of changing the deal status as rotten
owner_name:
type: string
description: The name of the deal owner
cc_email:
type: string
description: The BCC email of the deal
org_hidden:
type: boolean
description: If the organization that is associated with the deal is hidden or not
person_hidden:
type: boolean
description: If the person that is associated with the deal is hidden or not
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
arr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Recurring Revenue of the deal
If the `arr` is null, this will also be null
'
mrr_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Monthly Recurring Revenue of the deal
If the `mrr` is null, this will also be null
'
acv_currency:
type: string
nullable: true
description: 'Only available in Growth and above plans
The Currency for Annual Contract Value of the deal
If the `acv` is null, this will also be null
'
- type: object
properties:
merge_what_id:
type: integer
description: The deal ID of the deal which the original deal was merged with
example:
success: true
data:
id: 1
creator_user_id: 123
user_id: 456
person_id: 1
org_id: 2
stage_id: 2
title: Deal One
value: 5000
currency: EUR
add_time: '2019-05-29 04:21:51'
update_time: '2019-06-29 05:20:31'
stage_change_time: '2019-11-28 15:41:22'
active: true
deleted: false
status: open
probability: null
next_activity_date: '2019-11-29'
next_activity_time: '11:30:00'
next_activity_id: 128
last_activity_id: null
last_activity_date: null
lost_reason: null
visible_to: '1'
close_time: null
pipeline_id: 1
won_time: '2019-11-27 11:40:36'
first_won_time: '2019-11-27 11:40:36'
lost_time: ''
products_count: 0
files_count: 0
notes_count: 2
followers_count: 0
email_messages_count: 4
activities_count: 1
done_activities_count: 0
undone_activities_count: 1
participants_count: 1
expected_close_date: '2019-06-29'
last_incoming_mail_time: '2019-05-29 18:21:42'
last_outgoing_mail_time: '2019-05-30 03:45:35'
label: '11'
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
stage_order_nr: 2
person_name: Person
org_name: Organization
next_activity_subject: Call
next_activity_type: call
next_activity_duration: 00:30:00
next_activity_note: Note content
formatted_value: €5,000
weighted_value: 5000
formatted_weighted_value: €5,000
weighted_value_currency: EUR
rotten_time: null
owner_name: Creator
cc_email: company+deal1@pipedrivemail.com
org_hidden: false
person_hidden: false
merge_what_id: 2
acv: null
arr: null
mrr: null
acv_currency: null
arr_currency: null
mrr_currency: null
/deals/{id}/participants:
get:
summary: List participants of a deal
description: Lists the participants associated with a deal.
If a company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also return the `data.marketing_status` field.
x-token-cost: 10
operationId: getDealParticipants
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
responses:
'200':
description: Get all deal participants by the DealID
content:
application/json:
schema:
title: GetDealParticipantsResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: array
description: The array of participants
items:
type: object
title: dealParticipantItem
properties:
id:
type: integer
description: The ID of the participant
person_id:
type: object
description: The person data associated with the participant
properties:
active_flag:
type: boolean
description: Whether the person is active or not
name:
type: string
description: The name of the person
email:
type: array
description: 'An email address as a string or an array of email objects related to the person. The structure of the array is as follows: `[{ "value": "mail@example.com", "primary": "true", "label": "main" }]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: The email address
primary:
type: boolean
description: Boolean that indicates if email is primary for the person or not
label:
type: string
description: The label that indicates the type of the email. (Possible values - work, home or other)
phone:
type: array
description: 'A phone number supplied as a string or an array of phone objects related to the person. The structure of the array is as follows: `[{ "value": "12345", "primary": "true", "label": "mobile" }]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: The phone number
primary:
type: boolean
description: Boolean that indicates if phone number is primary for the person or not
label:
type: string
description: The label that indicates the type of the phone number. (Possible values - work, home, mobile or other)
owner_id:
type: integer
description: The ID of the owner of the person
company_id:
type: integer
description: The ID of the company related to the person
value:
type: integer
description: The ID of the person
add_time:
type: string
description: 'The date and time when the participant was added. Format: YYYY-MM-DD HH:MM:SS'
active_flag:
type: boolean
description: Whether the participant is active or not
related_item_data:
type: object
description: Information about the related deal
properties:
deal_id:
type: integer
description: The ID of the deal
title:
type: string
description: The title of the deal
person:
type: object
title: Person
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the person
company_id:
type: integer
description: The ID of the company related to the person
active_flag:
type: boolean
description: Whether the person is active or not
phone:
type: array
description: 'A phone number supplied as a string or an array of phone objects related to the person. The structure of the array is as follows: `[{ "value": "12345", "primary": "true", "label": "mobile" }]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: The phone number
primary:
type: boolean
description: Boolean that indicates if phone number is primary for the person or not
label:
type: string
description: The label that indicates the type of the phone number. (Possible values - work, home, mobile or other)
email:
type: array
description: 'An email address as a string or an array of email objects related to the person. The structure of the array is as follows: `[{ "value": "mail@example.com", "primary": "true", "label": "main" } ]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: Email
primary:
type: boolean
description: Boolean that indicates if email is primary for the person or not
label:
type: string
description: The label that indicates the type of the email. (Possible values - work, home or other)
first_char:
type: string
description: The first letter of the name of the person
add_time:
type: string
description: 'The date and time when the person was added/created. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The last updated date and time of the person. Format: YYYY-MM-DD HH:MM:SS'
visible_to:
type: string
description: The visibility group ID of who can see the person
picture_id:
type: object
nullable: true
title: PictureDataWithID
properties:
id:
type: integer
description: The ID of the picture associated with the item
item_type:
type: string
description: The type of item the picture is related to
item_id:
type: integer
description: The ID of related item
active_flag:
type: boolean
description: Whether the associated picture is active or not
add_time:
type: string
description: The add time of the picture
update_time:
type: string
description: The update time of the picture
added_by_user_id:
type: integer
description: The ID of the user who added the picture
pictures:
type: object
properties:
'128':
type: string
description: The URL of the 128*128 picture
'512':
type: string
description: The URL of the 512*512 picture
label:
type: integer
nullable: true
description: The label assigned to the person. When the `label` field is updated, the `label_ids` field value will be overwritten by the `label` field value.
label_ids:
type: array
items:
type: integer
description: The IDs of labels assigned to the person. When the `label_ids` field is updated, the `label` field value will be set to the first value of the `label_ids` field.
org_name:
type: string
nullable: true
description: The name of the organization associated with the person
owner_name:
type: string
description: The name of the owner associated with the person
cc_email:
type: string
nullable: true
description: The BCC email associated with the person
- type: object
title: additionalPersonInfo
allOf:
- type: object
title: personNameInfoWithOrgAndOwnerId
allOf:
- type: object
properties:
owner_id:
title: owner
allOf:
- properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: integer
description: Whether the user has picture or not. 0 = No picture, 1 = Has picture.
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
properties:
value:
type: integer
description: The ID of the owner
org_id:
type: object
nullable: true
title: RelationshipOrganizationInfoItemWithActiveFlag
properties:
name:
type: string
description: The name of the organization associated with the item
people_count:
type: integer
description: The number of people connected with the organization that is associated with the item
owner_id:
type: integer
description: The ID of the owner of the organization that is associated with the item
address:
type: string
nullable: true
description: The address of the organization
cc_email:
type: string
nullable: true
description: The BCC email of the organization associated with the item
label_ids:
type: array
items:
type: integer
description: The IDs of labels assigned to the organization
value:
type: integer
description: The ID of the organization
active_flag:
type: boolean
description: Whether the associated organization is active or not
- type: object
properties:
name:
type: string
description: The name of the person
first_name:
type: string
description: The first name of the person
last_name:
type: string
nullable: true
description: The last name of the person
- type: object
title: personCountEmailDealAndActivityInfo
allOf:
- type: object
title: personCountAndEmailInfo
allOf:
- type: object
properties:
email_messages_count:
type: integer
description: The count of email messages related to the person
activities_count:
type: integer
description: The count of activities related to the person
done_activities_count:
type: integer
description: The count of done activities related to the person
undone_activities_count:
type: integer
description: The count of undone activities related to the person
files_count:
type: integer
description: The count of files related to the person
notes_count:
type: integer
description: The count of notes related to the person
followers_count:
type: integer
description: The count of followers related to the person
- type: object
properties:
last_incoming_mail_time:
type: string
nullable: true
description: The date and time of the last incoming email associated with the person
last_outgoing_mail_time:
type: string
nullable: true
description: The date and time of the last outgoing email associated with the person
- type: object
title: dealCountAndActivityInfo
allOf:
- type: object
properties:
open_deals_count:
type: integer
description: The count of open deals related with the item
related_open_deals_count:
type: integer
description: The count of related open deals related with the item
closed_deals_count:
type: integer
description: The count of closed deals related with the item
related_closed_deals_count:
type: integer
description: The count of related closed deals related with the item
won_deals_count:
type: integer
description: The count of won deals related with the item
related_won_deals_count:
type: integer
description: The count of related won deals related with the item
lost_deals_count:
type: integer
description: The count of lost deals related with the item
related_lost_deals_count:
type: integer
description: The count of related lost deals related with the item
- type: object
properties:
next_activity_date:
type: string
nullable: true
description: The date of the next activity associated with the deal
next_activity_time:
type: string
nullable: true
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
added_by_user_id:
title: GetUserResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetUserResponseData
properties:
data:
type: object
title: BaseUser
properties:
id:
type: integer
description: The user ID
name:
type: string
description: The user name
default_currency:
type: string
description: The user default currency
locale:
type: string
description: The user locale
lang:
type: integer
description: The user language ID
email:
type: string
description: The user email
phone:
type: string
nullable: true
description: The user phone
activated:
type: boolean
description: Boolean that indicates whether the user is activated
last_login:
type: string
description: 'The last login date and time of the user. Format: YYYY-MM-DD HH:MM:SS'
created:
type: string
description: 'The creation date and time of the user. Format: YYYY-MM-DD HH:MM:SS'
modified:
type: string
nullable: true
description: 'The last modification date and time of the user. Format: YYYY-MM-DD HH:MM:SS'
has_created_company:
type: boolean
description: Boolean that indicates whether the user has created a company
access:
type: array
items:
type: object
title: UserAccess
properties:
app:
type: string
enum:
- global
- sales
- campaigns
- projects
- account_settings
- partnership
description: The granular app access level
admin:
type: boolean
description: Whether the user has admin access or not
permission_set_id:
type: string
description: The ID of the permission set
active_flag:
type: boolean
description: Boolean that indicates whether the user is activated
timezone_name:
type: string
description: The user timezone name
timezone_offset:
type: string
description: The user timezone offset
role_id:
type: integer
description: The ID of the user role
icon_url:
type: string
nullable: true
description: The user icon URL
is_you:
type: boolean
description: Boolean that indicates if the requested user is the same which is logged in (in this case, always true)
is_deleted:
type: boolean
description: Boolean that indicates whether the user is deleted from the company
related_item_type:
type: string
description: The type of the related item
related_item_id:
type: integer
description: The ID of the related item
additional_data:
description: The additional data of the list
type: object
properties:
start:
type: integer
description: Pagination start
limit:
type: integer
description: Items shown per page
more_items_in_collection:
type: boolean
description: If there are more list items in the collection than displayed or not
related_objects:
type: object
properties:
user:
type: object
properties:
USER_ID:
type: object
title: userDataWithId
allOf:
- properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: integer
description: Whether the user has picture or not. 0 = No picture, 1 = Has picture.
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
description: The ID of the user
organization:
type: object
title: RelatedOrganizationDataWithActiveFlag
properties:
ORGANIZATION_ID:
type: object
title: OrganizationDataWithIdAndActiveFlag
description: The ID of the organization associated with the item
allOf:
- type: object
title: OrganizationDataWithIdAndActiveFlagAllOf
properties:
active_flag:
type: boolean
description: Whether the associated organization is active or not
- type: object
title: OrganizationDataWithId
description: The ID of the organization associated with the item
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the organization associated with the item
- type: object
properties:
name:
type: string
description: The name of the organization associated with the item
people_count:
type: integer
description: The number of people connected with the organization that is associated with the item
owner_id:
type: integer
description: The ID of the owner of the organization that is associated with the item
address:
type: string
nullable: true
description: The address of the organization
cc_email:
type: string
nullable: true
description: The BCC email of the organization associated with the item
person:
type: object
properties:
PERSON_ID:
type: object
description: The ID of the person associated with the item
title: PersonDataWithActiveFlag
allOf:
- type: object
properties:
active_flag:
type: boolean
description: Whether the associated person is active or not
- type: object
properties:
id:
type: integer
description: The ID of the person associated with the item
name:
type: string
description: The name of the person associated with the item
email:
type: array
description: The emails of the person associated with the item
items:
type: object
properties:
label:
type: string
description: The type of the email
value:
type: string
description: The email of the associated person
primary:
type: boolean
description: Whether this is the primary email or not
phone:
type: array
description: The phone numbers of the person associated with the item
items:
type: object
title: PhoneData
properties:
label:
type: string
description: The type of the phone number
value:
type: string
description: The phone number of the person associated with the item
primary:
type: boolean
description: Whether this is the primary phone number or not
owner_id:
type: integer
description: The ID of the owner of the person that is associated with the item
example:
success: true
data:
- id: 1092
person_id:
active_flag: true
name: Peter Pan
email:
- label: work
value: john.smith@pipedrive.com
primary: true
phone:
- label: work
value: '736174198'
primary: true
value: 1598
add_time: '2020-07-07 10:29:47'
active_flag: true
related_item_data:
deal_id: 1078
title: Neverland deal
person:
id: 1598
company_id: 4657212
owner_id:
id: 6900896
name: Foo Bar
email: foo.bar@pipedrive.com
has_pic: 0
pic_hash: null
active_flag: true
value: 6900896
org_id:
name: Neverland
people_count: 1
owner_id: 6900896
address: null
active_flag: true
cc_email: null
value: 314
name: Peter Pan
first_name: Peter
last_name: Pan
open_deals_count: 0
related_open_deals_count: 0
closed_deals_count: 0
related_closed_deals_count: 0
participant_open_deals_count: 0
participant_closed_deals_count: 0
email_messages_count: 0
activities_count: 4
done_activities_count: 1
undone_activities_count: 3
files_count: 1
notes_count: 12
followers_count: 1
won_deals_count: 0
related_won_deals_count: 0
lost_deals_count: 0
related_lost_deals_count: 0
active_flag: true
phone:
- label: work
value: '736174198'
primary: true
email:
- label: work
value: john.smith@pipedrive.com
primary: true
first_char: p
update_time: '2020-08-31 14:25:11'
add_time: '2020-07-07 10:29:47'
visible_to: '3'
picture_id: null
sync_needed: false
next_activity_date: '2020-07-01'
next_activity_time: null
next_activity_id: 2448
last_activity_id: 2450
last_activity_date: '2020-07-02'
last_incoming_mail_time: null
last_outgoing_mail_time: null
label: 5
label_ids:
- 5
- 6
org_name: Neverland
owner_name: Foo Bar
cc_email: org@pipedrivemail.com
added_by_user_id:
id: 6900896
name: Foo Bar
email: foo.bar@pipedrive.com
has_pic: 0
pic_hash: null
active_flag: true
value: 6900896
related_item_type: deal
related_item_id: 1078
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
related_objects:
user:
'6900896':
id: 6900896
name: Foo Bar
email: foo.bar@pipedrive.com
has_pic: 0
pic_hash: null
active_flag: true
person:
'1598':
active_flag: true
id: 1598
name: Peter Pan
email:
- label: work
value: john.smith@pipedrive.com
primary: true
phone:
- label: work
value: '736174198'
primary: true
owner_id: 8877
organization:
'314':
id: 314
name: Neverland
people_count: 1
owner_id: 6900896
address: null
active_flag: true
cc_email: null
post:
summary: Add a participant to a deal
description: Adds a participant to a deal.
x-token-cost: 10
operationId: addDealParticipant
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addDealParticipantRequest
type: object
required:
- person_id
properties:
person_id:
type: integer
description: The ID of the person
responses:
'200':
description: Add new participant to the deal
content:
application/json:
schema:
title: AddParticipantsResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: dealParticipantItem
properties:
id:
type: integer
description: The ID of the participant
person_id:
type: object
description: The person data associated with the participant
properties:
active_flag:
type: boolean
description: Whether the person is active or not
name:
type: string
description: The name of the person
email:
type: array
description: 'An email address as a string or an array of email objects related to the person. The structure of the array is as follows: `[{ "value": "mail@example.com", "primary": "true", "label": "main" }]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: The email address
primary:
type: boolean
description: Boolean that indicates if email is primary for the person or not
label:
type: string
description: The label that indicates the type of the email. (Possible values - work, home or other)
phone:
type: array
description: 'A phone number supplied as a string or an array of phone objects related to the person. The structure of the array is as follows: `[{ "value": "12345", "primary": "true", "label": "mobile" }]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: The phone number
primary:
type: boolean
description: Boolean that indicates if phone number is primary for the person or not
label:
type: string
description: The label that indicates the type of the phone number. (Possible values - work, home, mobile or other)
owner_id:
type: integer
description: The ID of the owner of the person
company_id:
type: integer
description: The ID of the company related to the person
value:
type: integer
description: The ID of the person
add_time:
type: string
description: 'The date and time when the participant was added. Format: YYYY-MM-DD HH:MM:SS'
active_flag:
type: boolean
description: Whether the participant is active or not
related_item_data:
type: object
description: Information about the related deal
properties:
deal_id:
type: integer
description: The ID of the deal
title:
type: string
description: The title of the deal
person:
type: object
title: Person
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the person
company_id:
type: integer
description: The ID of the company related to the person
active_flag:
type: boolean
description: Whether the person is active or not
phone:
type: array
description: 'A phone number supplied as a string or an array of phone objects related to the person. The structure of the array is as follows: `[{ "value": "12345", "primary": "true", "label": "mobile" }]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: The phone number
primary:
type: boolean
description: Boolean that indicates if phone number is primary for the person or not
label:
type: string
description: The label that indicates the type of the phone number. (Possible values - work, home, mobile or other)
email:
type: array
description: 'An email address as a string or an array of email objects related to the person. The structure of the array is as follows: `[{ "value": "mail@example.com", "primary": "true", "label": "main" } ]`. Please note that only `value` is required.'
items:
type: object
properties:
value:
type: string
description: Email
primary:
type: boolean
description: Boolean that indicates if email is primary for the person or not
label:
type: string
description: The label that indicates the type of the email. (Possible values - work, home or other)
first_char:
type: string
description: The first letter of the name of the person
add_time:
type: string
description: 'The date and time when the person was added/created. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The last updated date and time of the person. Format: YYYY-MM-DD HH:MM:SS'
visible_to:
type: string
description: The visibility group ID of who can see the person
picture_id:
type: object
nullable: true
title: PictureDataWithID
properties:
id:
type: integer
description: The ID of the picture associated with the item
item_type:
type: string
description: The type of item the picture is related to
item_id:
type: integer
description: The ID of related item
active_flag:
type: boolean
description: Whether the associated picture is active or not
add_time:
type: string
description: The add time of the picture
update_time:
type: string
description: The update time of the picture
added_by_user_id:
type: integer
description: The ID of the user who added the picture
pictures:
type: object
properties:
'128':
type: string
description: The URL of the 128*128 picture
'512':
type: string
description: The URL of the 512*512 picture
label:
type: integer
nullable: true
description: The label assigned to the person. When the `label` field is updated, the `label_ids` field value will be overwritten by the `label` field value.
label_ids:
type: array
items:
type: integer
description: The IDs of labels assigned to the person. When the `label_ids` field is updated, the `label` field value will be set to the first value of the `label_ids` field.
org_name:
type: string
nullable: true
description: The name of the organization associated with the person
owner_name:
type: string
description: The name of the owner associated with the person
cc_email:
type: string
nullable: true
description: The BCC email associated with the person
- type: object
title: additionalPersonInfo
allOf:
- type: object
title: personNameInfoWithOrgAndOwnerId
allOf:
- type: object
properties:
owner_id:
title: owner
allOf:
- properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: integer
description: Whether the user has picture or not. 0 = No picture, 1 = Has picture.
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
properties:
value:
type: integer
description: The ID of the owner
org_id:
type: object
nullable: true
title: RelationshipOrganizationInfoItemWithActiveFlag
properties:
name:
type: string
description: The name of the organization associated with the item
people_count:
type: integer
description: The number of people connected with the organization that is associated with the item
owner_id:
type: integer
description: The ID of the owner of the organization that is associated with the item
address:
type: string
nullable: true
description: The address of the organization
cc_email:
type: string
nullable: true
description: The BCC email of the organization associated with the item
label_ids:
type: array
items:
type: integer
description: The IDs of labels assigned to the organization
value:
type: integer
description: The ID of the organization
active_flag:
type: boolean
description: Whether the associated organization is active or not
- type: object
properties:
name:
type: string
description: The name of the person
first_name:
type: string
description: The first name of the person
last_name:
type: string
nullable: true
description: The last name of the person
- type: object
title: personCountEmailDealAndActivityInfo
allOf:
- type: object
title: personCountAndEmailInfo
allOf:
- type: object
properties:
email_messages_count:
type: integer
description: The count of email messages related to the person
activities_count:
type: integer
description: The count of activities related to the person
done_activities_count:
type: integer
description: The count of done activities related to the person
undone_activities_count:
type: integer
description: The count of undone activities related to the person
files_count:
type: integer
description: The count of files related to the person
notes_count:
type: integer
description: The count of notes related to the person
followers_count:
type: integer
description: The count of followers related to the person
- type: object
properties:
last_incoming_mail_time:
type: string
nullable: true
description: The date and time of the last incoming email associated with the person
last_outgoing_mail_time:
type: string
nullable: true
description: The date and time of the last outgoing email associated with the person
- type: object
title: dealCountAndActivityInfo
allOf:
- type: object
properties:
open_deals_count:
type: integer
description: The count of open deals related with the item
related_open_deals_count:
type: integer
description: The count of related open deals related with the item
closed_deals_count:
type: integer
description: The count of closed deals related with the item
related_closed_deals_count:
type: integer
description: The count of related closed deals related with the item
won_deals_count:
type: integer
description: The count of won deals related with the item
related_won_deals_count:
type: integer
description: The count of related won deals related with the item
lost_deals_count:
type: integer
description: The count of lost deals related with the item
related_lost_deals_count:
type: integer
description: The count of related lost deals related with the item
- type: object
properties:
next_activity_date:
type: string
nullable: true
description: The date of the next activity associated with the deal
next_activity_time:
type: string
nullable: true
description: The time of the next activity associated with the deal
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the deal
last_activity_id:
type: integer
nullable: true
description: The ID of the last activity associated with the deal
last_activity_date:
type: string
nullable: true
description: The date of the last activity associated with the deal
added_by_user_id:
title: GetUserResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetUserResponseData
properties:
data:
type: object
title: BaseUser
properties:
id:
type: integer
description: The user ID
name:
type: string
description: The user name
default_currency:
type: string
description: The user default currency
locale:
type: string
description: The user locale
lang:
type: integer
description: The user language ID
email:
type: string
description: The user email
phone:
type: string
nullable: true
description: The user phone
activated:
type: boolean
description: Boolean that indicates whether the user is activated
last_login:
type: string
description: 'The last login date and time of the user. Format: YYYY-MM-DD HH:MM:SS'
created:
type: string
description: 'The creation date and time of the user. Format: YYYY-MM-DD HH:MM:SS'
modified:
type: string
nullable: true
description: 'The last modification date and time of the user. Format: YYYY-MM-DD HH:MM:SS'
has_created_company:
type: boolean
description: Boolean that indicates whether the user has created a company
access:
type: array
items:
type: object
title: UserAccess
properties:
app:
type: string
enum:
- global
- sales
- campaigns
- projects
- account_settings
- partnership
description: The granular app access level
admin:
type: boolean
description: Whether the user has admin access or not
permission_set_id:
type: string
description: The ID of the permission set
active_flag:
type: boolean
description: Boolean that indicates whether the user is activated
timezone_name:
type: string
description: The user timezone name
timezone_offset:
type: string
description: The user timezone offset
role_id:
type: integer
description: The ID of the user role
icon_url:
type: string
nullable: true
description: The user icon URL
is_you:
type: boolean
description: Boolean that indicates if the requested user is the same which is logged in (in this case, always true)
is_deleted:
type: boolean
description: Boolean that indicates whether the user is deleted from the company
related_item_type:
type: string
description: The type of the related item
related_item_id:
type: integer
description: The ID of the related item
related_objects:
type: object
properties:
user:
type: object
properties:
USER_ID:
type: object
title: userDataWithId
allOf:
- properties:
id:
type: integer
description: The ID of the user
name:
type: string
description: The name of the user
email:
type: string
description: The email of the user
has_pic:
type: integer
description: Whether the user has picture or not. 0 = No picture, 1 = Has picture.
pic_hash:
type: string
nullable: true
description: The user picture hash
active_flag:
type: boolean
description: Whether the user is active or not
- type: object
description: The ID of the user
person:
type: object
properties:
PERSON_ID:
type: object
description: The ID of the person associated with the item
title: PersonDataWithActiveFlag
allOf:
- type: object
properties:
active_flag:
type: boolean
description: Whether the associated person is active or not
- type: object
properties:
id:
type: integer
description: The ID of the person associated with the item
name:
type: string
description: The name of the person associated with the item
email:
type: array
description: The emails of the person associated with the item
items:
type: object
properties:
label:
type: string
description: The type of the email
value:
type: string
description: The email of the associated person
primary:
type: boolean
description: Whether this is the primary email or not
phone:
type: array
description: The phone numbers of the person associated with the item
items:
type: object
title: PhoneData
properties:
label:
type: string
description: The type of the phone number
value:
type: string
description: The phone number of the person associated with the item
primary:
type: boolean
description: Whether this is the primary phone number or not
owner_id:
type: integer
description: The ID of the owner of the person that is associated with the item
example:
success: true
data:
id: 2146
person_id:
active_flag: true
name: Bortoloni
email:
- label: work
value: namna.nanaaa@pipedrive.com
primary: true
phone:
- value: ''
primary: true
value: 1131
add_time: '2020-09-14 05:34:59'
active_flag: true
related_item_data:
deal_id: 1078
title: Neverland deal
person:
id: 1131
company_id: 4657212
owner_id:
id: 9126687
name: Moo moo
email: moo.moo@pipedrive.com
has_pic: 0
pic_hash: null
active_flag: true
value: 9126687
org_id: null
name: Bortoloni
first_name: Bortoloni
last_name: null
open_deals_count: 0
related_open_deals_count: 0
closed_deals_count: 0
related_closed_deals_count: 0
participant_open_deals_count: 0
participant_closed_deals_count: 0
email_messages_count: 0
activities_count: 0
done_activities_count: 0
undone_activities_count: 0
files_count: 0
notes_count: 0
followers_count: 1
won_deals_count: 0
related_won_deals_count: 0
lost_deals_count: 0
related_lost_deals_count: 0
active_flag: true
phone:
- value: ''
primary: true
email:
- label: work
value: namna.nanaaa@pipedrive.com
primary: true
first_char: b
update_time: '2020-07-09 07:44:51'
add_time: '2020-02-03 10:14:03'
visible_to: '3'
picture_id: null
sync_needed: false
next_activity_date: null
next_activity_time: null
next_activity_id: null
last_activity_id: null
last_activity_date: null
last_incoming_mail_time: null
last_outgoing_mail_time: null
label: 5
org_name: null
owner_name: Gabriel
cc_email: null
added_by_user_id:
id: 927097
name: Heheh Nono
email: heheh.nono@pipedrive.com
has_pic: 0
pic_hash: null
active_flag: true
value: 927097
related_item_type: deal
related_item_id: 1078
related_objects:
user:
'927097':
id: 927097
name: Heheh Nono
email: heheh.nono@pipedrive.com
has_pic: 0
pic_hash: null
active_flag: true
'9126687':
id: 9126687
name: Gabriel
email: gogoog.yayay@pipedrive.com
has_pic: 1
pic_hash: 4db4fc64638d7d3d9e16e64599ccaff6
active_flag: true
person:
'1131':
active_flag: true
id: 1131
name: Bortoloni
email:
- label: work
value: namna.nanaaa@pipedrive.com
primary: true
phone:
- value: ''
primary: true
owner_id: 8877
/deals/{id}/participants/{deal_participant_id}:
delete:
summary: Delete a participant from a deal
description: Deletes a participant from a deal.
x-token-cost: 6
operationId: deleteDealParticipant
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: path
name: deal_participant_id
required: true
schema:
type: integer
description: The ID of the participant of the deal
responses:
'200':
description: Delete a participant from a deal
content:
application/json:
schema:
title: DeleteDealParticipantResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
properties:
id:
type: integer
description: The ID of the deal participant that was deleted
example:
success: true
data:
id: 123
/deals/{id}/permittedUsers:
get:
summary: List permitted users
description: Lists the users permitted to access a deal.
x-token-cost: 10
operationId: getDealUsers
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetPermittedUsersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
example:
success: true
data:
- 123
- 456
/deals:
get:
summary: Get all deals
description: Returns data about all not archived deals.
x-tool-description: Retrieves paginated active deals with filtering by owner, person, organization, pipeline, stage, status, and time ranges. Essential for analytics, reporting, dashboard views, and bulk operations. Filters combine for precise selection; filter_id overrides individual filters.
x-token-cost: 10
operationId: getDeals
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: query
name: filter_id
schema:
type: integer
description: If supplied, only deals matching the specified filter are returned
- in: query
name: ids
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 or are not visible, they are not included in the response.
schema:
type: string
- in: query
name: owner_id
schema:
type: integer
description: If supplied, only deals owned by the specified user are returned. If filter_id is provided, this is ignored.
- in: query
name: person_id
schema:
type: integer
description: If supplied, only deals linked to the specified person are returned. If filter_id is provided, this is ignored.
- in: query
name: org_id
schema:
type: integer
description: If supplied, only deals linked to the specified organization are returned. If filter_id is provided, this is ignored.
- in: query
name: pipeline_id
schema:
type: integer
description: If supplied, only deals in the specified pipeline are returned. If filter_id is provided, this is ignored.
- in: query
name: stage_id
schema:
type: integer
description: If supplied, only deals in the specified stage are returned. If filter_id is provided, this is ignored.
- in: query
name: status
schema:
type: string
enum:
- open
- won
- lost
- deleted
description: 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. Multiple statuses can be included as a comma separated array. If filter_id is provided, this is ignored.
- in: query
name: updated_since
schema:
type: string
description: If set, only deals with an `update_time` later than or equal to this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z.
- in: query
name: updated_until
schema:
type: string
description: If set, only deals with an `update_time` earlier than this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z.
- in: query
name: sort_by
description: 'The field to sort by. Supported fields: `id`, `update_time`, `add_time`.'
schema:
type: string
default: id
enum:
- id
- update_time
- add_time
- in: query
name: sort_direction
description: 'The sorting direction. Supported values: `asc`, `desc`.'
schema:
type: string
default: asc
enum:
- asc
- desc
- in: query
name: include_fields
description: Optional comma separated string array of additional fields to include
schema:
type: string
enum:
- next_activity_id
- last_activity_id
- first_won_time
- products_count
- files_count
- notes_count
- followers_count
- email_messages_count
- activities_count
- done_activities_count
- undone_activities_count
- participants_count
- last_incoming_mail_time
- last_outgoing_mail_time
- smart_bcc_email
- source_lead_id
- in: query
name: custom_fields
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 parameter for faster results and smaller response.
A maximum of 15 keys is allowed.
schema:
type: string
- in: query
name: include_option_labels
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 of plain id'
schema:
type: boolean
- in: query
name: include_labels
description: 'When provided with ''true'' value, response will include an array of label objects in the form of ''{ id: number, label: string }'''
schema:
type: boolean
- in: query
name: limit
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.
schema:
type: integer
example: 100
- in: query
name: cursor
required: false
schema:
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
responses:
'200':
description: Get all not archived deals
content:
application/json:
schema:
type: object
title: GetDealsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
description: Deals array
items:
type: object
properties:
id:
type: integer
description: The ID of the deal
title:
type: string
description: The title of the deal
owner_id:
type: integer
description: The ID of the user who owns the deal
person_id:
type: integer
description: The ID of the person linked to the deal
org_id:
type: integer
description: The ID of the organization linked to the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
stage_id:
type: integer
description: The ID of the deal stage
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
is_deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: integer
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
won_time:
type: string
description: The date and time of changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
expected_close_date:
type: string
format: date
description: The expected close date of the deal
label_ids:
type: array
description: The IDs of labels assigned to the deal
items:
type: integer
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
source_lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead if the deal was converted from a lead. Only included when requested via include_fields parameter.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
custom_fields:
type: object
additionalProperties: true
description: An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
additional_data:
type: object
description: The additional data of the list
properties:
next_cursor:
type: string
description: The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned.
example:
success: true
data:
- id: 1
title: Deal Title
creator_user_id: 1
owner_id: 1
value: 200
person_id: 1
org_id: 1
stage_id: 1
pipeline_id: 1
currency: USD
archive_time: '2021-01-01T00:00:00Z'
add_time: '2021-01-01T00:00:00Z'
update_time: '2021-01-01T00:00:00Z'
stage_change_time: '2021-01-01T00:00:00Z'
status: open
is_archived: false
is_deleted: false
probability: 90
lost_reason: Lost Reason
visible_to: 7
close_time: '2021-01-01T00:00:00Z'
won_time: '2021-01-01T00:00:00Z'
lost_time: '2021-01-01T00:00:00Z'
local_won_date: '2021-01-01'
local_lost_date: '2021-01-01'
local_close_date: '2021-01-01'
expected_close_date: '2021-01-01'
label_ids:
- 1
- 2
- 3
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
source_lead_id: 35b0d604-eb0d-42d0-be11-eac8832051f0
acv: 120
arr: 120
mrr: 10
custom_fields: {}
additional_data:
next_cursor: eyJmaWVsZCI6ImlkIiwiZmllbGRWYWx1ZSI6Nywic29ydERpcmVjdGlvbiI6ImFzYyIsImlkIjo3fQ
post:
summary: Add a new deal
description: Adds a new deal.
x-tool-description: 'Creates new sales deals with customizable properties: title (required), value, person, organization, pipeline stage, and custom fields. Essential for lead conversion, sales processes, and integrations. Automatically assigns timestamps and ownership.'
x-token-cost: 5
operationId: addDeal
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
requestBody:
content:
application/json:
schema:
required:
- title
type: object
properties:
title:
type: string
description: The title of the deal
owner_id:
type: integer
description: The ID of the user who owns the deal
person_id:
type: integer
description: The ID of the person linked to the deal
org_id:
type: integer
description: The ID of the organization linked to the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
stage_id:
type: integer
description: The ID of the deal stage
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
is_deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
archive_time:
type: string
description: 'The optional date and time of archiving the deal in UTC. Format: YYYY-MM-DD HH:MM:SS. If omitted and `is_archived` is true, it will be set to the current date and time.'
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal. Can only be set if deal status is lost.
visible_to:
type: integer
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal. Can only be set if deal status is won or lost.
won_time:
type: string
description: The date and time of changing the deal status as won. Can only be set if deal status is won.
lost_time:
type: string
description: The date and time of changing the deal status as lost. Can only be set if deal status is lost.
expected_close_date:
type: string
format: date
description: The expected close date of the deal
label_ids:
type: array
description: The IDs of labels assigned to the deal
items:
type: integer
custom_fields:
type: object
additionalProperties: true
description: An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
responses:
'200':
description: Add deal
content:
application/json:
schema:
type: object
title: UpsertDealResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: UpsertDealResponseData
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deal
title:
type: string
description: The title of the deal
owner_id:
type: integer
description: The ID of the user who owns the deal
person_id:
type: integer
description: The ID of the person linked to the deal
org_id:
type: integer
description: The ID of the organization linked to the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
stage_id:
type: integer
description: The ID of the deal stage
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
is_deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: integer
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
won_time:
type: string
description: The date and time of changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
expected_close_date:
type: string
format: date
description: The expected close date of the deal
label_ids:
type: array
description: The IDs of labels assigned to the deal
items:
type: integer
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
source_lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead if the deal was converted from a lead. Only included when requested via include_fields parameter.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
custom_fields:
type: object
additionalProperties: true
description: An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
example:
success: true
data:
id: 1
title: Deal Title
creator_user_id: 1
owner_id: 1
value: 200
person_id: 1
org_id: 1
stage_id: 1
pipeline_id: 1
currency: USD
archive_time: '2021-01-01T00:00:00Z'
add_time: '2021-01-01T00:00:00Z'
update_time: '2021-01-01T00:00:00Z'
stage_change_time: '2021-01-01T00:00:00Z'
status: open
is_archived: false
is_deleted: false
probability: 90
lost_reason: Lost Reason
visible_to: 7
close_time: '2021-01-01T00:00:00Z'
won_time: '2021-01-01T00:00:00Z'
lost_time: '2021-01-01T00:00:00Z'
local_won_date: '2021-01-01'
local_lost_date: '2021-01-01'
local_close_date: '2021-01-01'
expected_close_date: '2021-01-01'
label_ids:
- 1
- 2
- 3
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
source_lead_id: 35b0d604-eb0d-42d0-be11-eac8832051f0
acv: 120
arr: 120
mrr: 10
custom_fields: {}
/deals/{id}:
delete:
summary: Delete a deal
description: Marks a deal as deleted. After 30 days, the deal will be permanently deleted.
x-tool-description: Soft-deletes deals with 30-day recovery period before permanent removal. Essential for deal cleanup, error correction, and removing unwanted opportunities. Becomes inaccessible via standard APIs but recoverable during grace period.
x-token-cost: 3
operationId: deleteDeal
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
responses:
'200':
description: Delete deal
content:
application/json:
schema:
title: DeleteDealResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
type: integer
description: Deleted deal ID
example:
success: true
data:
id: 1
get:
summary: Get details of a deal
description: Returns the details of a specific deal.
x-tool-description: Fetches comprehensive details of a specific deal by ID, including all properties, custom fields, associated contacts, and metadata. Use this endpoint for deal detail pages, updating deal information, or when you need complete deal context. Supports optional field inclusion for optimized data retrieval and custom field expansion for enhanced deal analysis.
x-token-cost: 1
operationId: getDeal
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: include_fields
description: Optional comma separated string array of additional fields to include
schema:
type: string
enum:
- next_activity_id
- last_activity_id
- first_won_time
- products_count
- files_count
- notes_count
- followers_count
- email_messages_count
- activities_count
- done_activities_count
- undone_activities_count
- participants_count
- last_incoming_mail_time
- last_outgoing_mail_time
- smart_bcc_email
- source_lead_id
- in: query
name: custom_fields
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 parameter for faster results and smaller response.
A maximum of 15 keys is allowed.
schema:
type: string
- in: query
name: include_option_labels
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 of plain id'
schema:
type: boolean
- in: query
name: include_labels
description: 'When provided with ''true'' value, response will include an array of label objects in the form of ''{ id: number, label: string }'''
schema:
type: boolean
responses:
'200':
description: Get deal
content:
application/json:
schema:
type: object
title: UpsertDealResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: UpsertDealResponseData
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deal
title:
type: string
description: The title of the deal
owner_id:
type: integer
description: The ID of the user who owns the deal
person_id:
type: integer
description: The ID of the person linked to the deal
org_id:
type: integer
description: The ID of the organization linked to the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
stage_id:
type: integer
description: The ID of the deal stage
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
is_deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: integer
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
won_time:
type: string
description: The date and time of changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
expected_close_date:
type: string
format: date
description: The expected close date of the deal
label_ids:
type: array
description: The IDs of labels assigned to the deal
items:
type: integer
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
source_lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead if the deal was converted from a lead. Only included when requested via include_fields parameter.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
custom_fields:
type: object
additionalProperties: true
description: An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
example:
success: true
data:
id: 1
title: Deal Title
creator_user_id: 1
owner_id: 1
value: 200
person_id: 1
org_id: 1
stage_id: 1
pipeline_id: 1
currency: USD
archive_time: '2021-01-01T00:00:00Z'
add_time: '2021-01-01T00:00:00Z'
update_time: '2021-01-01T00:00:00Z'
stage_change_time: '2021-01-01T00:00:00Z'
status: open
is_archived: false
is_deleted: false
probability: 90
lost_reason: Lost Reason
visible_to: 7
close_time: '2021-01-01T00:00:00Z'
won_time: '2021-01-01T00:00:00Z'
lost_time: '2021-01-01T00:00:00Z'
local_won_date: '2021-01-01'
local_lost_date: '2021-01-01'
local_close_date: '2021-01-01'
expected_close_date: '2021-01-01'
label_ids:
- 1
- 2
- 3
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
source_lead_id: 35b0d604-eb0d-42d0-be11-eac8832051f0
acv: 120
arr: 120
mrr: 10
custom_fields: {}
patch:
summary: Update a deal
description: Updates the properties of a deal.
x-tool-description: Modifies deal properties using PATCH semantics for partial updates without affecting unchanged fields. Essential for deal progression, value updates, stage changes, and workflow automation. Preserves data integrity by updating only provided fields.
x-token-cost: 5
operationId: updateDeal
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: The title of the deal
owner_id:
type: integer
description: The ID of the user who owns the deal
person_id:
type: integer
description: The ID of the person linked to the deal
org_id:
type: integer
description: The ID of the organization linked to the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
stage_id:
type: integer
description: The ID of the deal stage
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
is_deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
archive_time:
type: string
description: 'The optional date and time of archiving the deal in UTC. Format: YYYY-MM-DD HH:MM:SS. If omitted and `is_archived` is true, it will be set to the current date and time.'
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal. Can only be set if deal status is lost.
visible_to:
type: integer
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal. Can only be set if deal status is won or lost.
won_time:
type: string
description: The date and time of changing the deal status as won. Can only be set if deal status is won.
lost_time:
type: string
description: The date and time of changing the deal status as lost. Can only be set if deal status is lost.
expected_close_date:
type: string
format: date
description: The expected close date of the deal
label_ids:
type: array
description: The IDs of labels assigned to the deal
items:
type: integer
custom_fields:
type: object
additionalProperties: true
description: An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
responses:
'200':
description: Edit deal
content:
application/json:
schema:
type: object
title: UpsertDealResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: UpsertDealResponseData
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deal
title:
type: string
description: The title of the deal
owner_id:
type: integer
description: The ID of the user who owns the deal
person_id:
type: integer
description: The ID of the person linked to the deal
org_id:
type: integer
description: The ID of the organization linked to the deal
pipeline_id:
type: integer
description: The ID of the pipeline associated with the deal
stage_id:
type: integer
description: The ID of the deal stage
value:
type: number
description: The value of the deal
currency:
type: string
description: The currency associated with the deal
add_time:
type: string
description: The creation date and time of the deal
update_time:
type: string
description: The last updated date and time of the deal
stage_change_time:
type: string
description: The last updated date and time of the deal stage
is_deleted:
type: boolean
description: Whether the deal is deleted or not
is_archived:
type: boolean
description: Whether the deal is archived or not
status:
type: string
description: The status of the deal
probability:
type: number
nullable: true
description: The success probability percentage of the deal
lost_reason:
type: string
nullable: true
description: The reason for losing the deal
visible_to:
type: integer
description: The visibility of the deal
close_time:
type: string
nullable: true
description: The date and time of closing the deal
won_time:
type: string
description: The date and time of changing the deal status as won
lost_time:
type: string
description: The date and time of changing the deal status as lost
expected_close_date:
type: string
format: date
description: The expected close date of the deal
label_ids:
type: array
description: The IDs of labels assigned to the deal
items:
type: integer
origin:
type: string
description: The way this Deal was created. `origin` field is set by Pipedrive when Deal is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the deal - e.g. Which API integration created this Deal.
channel:
type: integer
nullable: true
description: The ID of your Marketing channel this Deal was created from. Recognized Marketing channels can be configured in your Company settings.
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
source_lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead if the deal was converted from a lead. Only included when requested via include_fields parameter.
arr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Recurring Revenue of the deal
Null if there are no products attached to the deal
'
mrr:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Monthly Recurring Revenue of the deal
Null if there are no products attached to the deal
'
acv:
type: number
nullable: true
description: 'Only available in Growth and above plans
The Annual Contract Value of the deal
Null if there are no products attached to the deal
'
custom_fields:
type: object
additionalProperties: true
description: An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
example:
success: true
data:
id: 1
title: Deal Title
creator_user_id: 1
owner_id: 1
value: 200
person_id: 1
org_id: 1
stage_id: 1
pipeline_id: 1
currency: USD
archive_time: '2021-01-01T00:00:00Z'
add_time: '2021-01-01T00:00:00Z'
update_time: '2021-01-01T00:00:00Z'
stage_change_time: '2021-01-01T00:00:00Z'
status: open
is_archived: false
is_deleted: false
probability: 90
lost_reason: Lost Reason
visible_to: 7
close_time: '2021-01-01T00:00:00Z'
won_time: '2021-01-01T00:00:00Z'
lost_time: '2021-01-01T00:00:00Z'
local_won_date: '2021-01-01'
local_lost_date: '2021-01-01'
local_close_date: '2021-01-01'
expected_close_date: '2021-01-01'
label_ids:
- 1
- 2
- 3
origin: ManuallyCreated
origin_id: null
channel: 52
channel_id: Jun23 Billboards
source_lead_id: 35b0d604-eb0d-42d0-be11-eac8832051f0
acv: 120
arr: 120
mrr: 10
custom_fields: {}
/deals/{id}/followers/changelog:
get:
summary: List followers changelog of a deal
description: Lists changelogs about users have followed the deal.
x-tool-description: Retrieves historical log of deal follower changes including start and stop events. Essential for audit trails, team collaboration analysis, compliance, and tracking deal stakeholder evolution over time.
x-token-cost: 10
operationId: getDealFollowersChangelog
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: query
name: limit
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.
schema:
type: integer
example: 100
- in: query
name: cursor
required: false
schema:
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
responses:
'200':
description: List entity followers
content:
application/json:
schema:
type: object
title: GetFollowerChangelogsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
description: Follower changelogs array
items:
type: object
title: FollowerChangelogItem
properties:
action:
type: string
description: The type of change
actor_user_id:
type: integer
description: The ID of the user who did the change
follower_user_id:
type: integer
description: The ID of the user who was following the entity
time:
type: string
description: The time at which the change happened
additional_data:
type: object
description: The additional data of the list
properties:
next_cursor:
type: string
description: The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned.
example:
success: true
data:
- action: added
actor_user_id: 1
follower_user_id: 1
time: '2024-01-01T00:00:00Z'
additional_data:
next_cursor: eyJmaWVsZCI6ImlkIiwiZmllbGRWYWx1ZSI6Nywic29ydERpcmVjdGlvbiI6ImFzYyIsImlkIjo3fQ
/deals/search:
get:
summary: Search deals
description: Searches all deals by title, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found deals can be filtered by the person ID and the organization ID.
x-tool-description: Performs full-text search across deal titles, notes, and custom fields with advanced filtering. Essential for search functionality, autocomplete features, and deal discovery. Supports exact matching, field-specific searches, and filtering by person, organization, or status.
x-token-cost: 20
operationId: searchDeals
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
- search:read
parameters:
- in: query
name: term
required: true
schema:
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.
- in: query
name: fields
schema:
type: string
enum:
- custom_fields
- notes
- title
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`, `varchar`, `text`, `varchar_auto`, `double`, `monetary` and `phone`. Read more about searching by custom fields here.'
- in: query
name: exact_match
schema:
type: boolean
description: When enabled, only full exact matches against the given term are returned. It is not case sensitive.
- in: query
name: person_id
schema:
type: integer
description: Will filter deals by the provided person ID. The upper limit of found deals associated with the person is 2000.
- in: query
name: organization_id
schema:
type: integer
description: Will filter deals by the provided organization ID. The upper limit of found deals associated with the organization is 2000.
- in: query
name: status
schema:
type: string
enum:
- open
- won
- lost
description: Will filter deals by the provided specific status. open = Open, won = Won, lost = Lost. The upper limit of found deals associated with the status is 2000.
- in: query
name: include_fields
schema:
type: string
enum:
- deal.cc_email
description: Supports including optional fields in the results which are not provided by default
- in: query
name: limit
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.
schema:
type: integer
example: 100
- in: query
name: cursor
required: false
schema:
type: string
description: For pagination, the marker (an opaque string value) representing the first item on the next page
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetDealSearchResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
items:
type: array
description: The array of deals
items:
type: object
properties:
result_score:
type: number
description: Search result relevancy
item:
type: object
properties:
id:
type: integer
description: The ID of the deal
type:
type: string
description: The type of the item
title:
type: string
description: The title of the deal
value:
type: integer
description: The value of the deal
currency:
type: string
description: The currency of the deal
status:
type: string
description: The status of the deal
visible_to:
type: integer
description: The visibility of the deal
owner:
type: object
properties:
id:
type: integer
description: The ID of the owner of the deal
stage:
type: object
properties:
id:
type: integer
description: The ID of the stage of the deal
name:
type: string
description: The name of the stage of the deal
person:
type: object
nullable: true
properties:
id:
type: integer
description: The ID of the person the deal is associated with
name:
type: string
description: The name of the person the deal is associated with
organization:
type: object
nullable: true
properties:
id:
type: integer
description: The ID of the organization the deal is associated with
name:
type: string
description: The name of the organization the deal is associated with
custom_fields:
type: array
items:
type: string
description: Custom fields
notes:
type: array
description: An array of notes
items:
type: string
is_archived:
type: boolean
description: A flag indicating whether the deal is archived or not
additional_data:
type: object
description: Pagination related data
properties:
next_cursor:
type: string
description: The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned.
example:
success: true
data:
items:
- result_score: 1.22
item:
id: 1
type: deal
title: Jane Doe deal
value: 100
currency: USD
status: open
visible_to: 3
owner:
id: 1
stage:
id: 1
name: Lead In
person:
id: 1
name: Jane Doe
organization: null
custom_fields: []
notes: []
is_archived: false
additional_data:
next_cursor: eyJmaWVsZCI6ImlkIiwiZmllbGRWYWx1ZSI6Nywic29ydERpcmVjdGlvbiI6ImFzYyIsImlkIjo3fQ
/deals/{id}/discounts:
get:
summary: List discounts added to a deal
description: Lists discounts attached to a deal.
x-tool-description: Retrieves discount configurations applied to deal including percentage and fixed-amount discounts. Essential for discount analysis, deal value calculations, accurate pricing summaries, and complex promotional arrangements.
x-token-cost: 10
operationId: getAdditionalDiscounts
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
responses:
'200':
description: List of discounts added to deal
content:
application/json:
schema:
title: GetAdditionalDiscountsResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: array
description: Array containing data for all discounts added to a deal
items:
type: object
properties:
id:
type: string
description: The ID of the additional discount
type:
type: string
enum:
- percentage
- amount
description: Determines whether the discount is applied as a percentage or a fixed amount.
amount:
type: number
description: The discount amount.
description:
type: string
description: The name of the discount.
deal_id:
type: integer
description: The ID of the deal the discount was added to.
created_at:
type: string
description: The date and time of when the discount was created in the ISO 8601 format.
created_by:
type: integer
description: The ID of the user that created the discount.
updated_at:
type: string
description: The date and time of when the discount was created in the ISO 8601 format.
updated_by:
type: integer
description: The ID of the user that last updated the discount.
example:
success: true
data:
- id: 30195b0e-7577-4f52-a5cf-f3ee39b9d1e0
description: 10%
amount: 10
type: percentage
deal_id: 1
created_at: '2024-03-12T10:30:05Z'
created_by: 1
updated_at: '2024-03-12T10:30:05Z'
updated_by: 1
post:
summary: Add a discount to a deal
description: Adds a discount to a deal, changing the deal value if the deal has one-time products attached.
x-tool-description: Applies new discount to deal, automatically recalculating values for one-time products. Essential for negotiations, promotional campaigns, volume discounts, and maintaining accurate financial tracking.
x-token-cost: 5
operationId: postAdditionalDiscount
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: AddAdditionalDiscountRequestBody
required:
- description
- amount
- type
properties:
description:
type: string
description: The name of the discount.
amount:
type: number
description: The discount amount. Must be a positive number (excluding 0).
type:
type: string
enum:
- percentage
- amount
description: Determines whether the discount is applied as a percentage or a fixed amount.
responses:
'201':
description: Discount added to deal
content:
application/json:
schema:
title: AddAdditionalDiscountResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
type: string
description: The ID of the additional discount
type:
type: string
enum:
- percentage
- amount
description: Determines whether the discount is applied as a percentage or a fixed amount.
amount:
type: number
description: The discount amount.
description:
type: string
description: The name of the discount.
deal_id:
type: integer
description: The ID of the deal the discount was added to.
created_at:
type: string
description: The date and time of when the discount was created in the ISO 8601 format.
created_by:
type: integer
description: The ID of the user that created the discount.
updated_at:
type: string
description: The date and time of when the discount was created in the ISO 8601 format.
updated_by:
type: integer
description: The ID of the user that last updated the discount.
example:
success: true
data:
id: 30195b0e-7577-4f52-a5cf-f3ee39b9d1e0
description: 10%
amount: 10
type: percentage
deal_id: 1
created_at: '2024-03-12T10:30:05Z'
created_by: 1
updated_at: '2024-03-12T10:30:05Z'
updated_by: 1
/deals/{id}/discounts/{discount_id}:
patch:
summary: Update a discount added to a deal
description: Edits a discount added to a deal, changing the deal value if the deal has one-time products attached.
x-tool-description: Modifies existing discount configuration on deal, automatically recalculating values for one-time products. Essential for discount adjustments, corrections, promotional updates, and maintaining pricing integrity.
x-token-cost: 5
operationId: updateAdditionalDiscount
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: path
name: discount_id
required: true
schema:
type: string
format: uuid
description: The ID of the discount
requestBody:
content:
application/json:
schema:
title: updateAdditionalDiscountRequestBody
properties:
description:
type: string
description: The name of the discount.
amount:
type: number
description: The discount amount. Must be a positive number (excluding 0).
type:
type: string
enum:
- percentage
- amount
description: Determines whether the discount is applied as a percentage or a fixed amount.
responses:
'200':
description: Edited discount.
content:
application/json:
schema:
title: UpdateAdditionalDiscountResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
type: string
description: The ID of the additional discount
type:
type: string
enum:
- percentage
- amount
description: Determines whether the discount is applied as a percentage or a fixed amount.
amount:
type: number
description: The discount amount.
description:
type: string
description: The name of the discount.
deal_id:
type: integer
description: The ID of the deal the discount was added to.
created_at:
type: string
description: The date and time of when the discount was created in the ISO 8601 format.
created_by:
type: integer
description: The ID of the user that created the discount.
updated_at:
type: string
description: The date and time of when the discount was created in the ISO 8601 format.
updated_by:
type: integer
description: The ID of the user that last updated the discount.
example:
success: true
data:
id: 30195b0e-7577-4f52-a5cf-f3ee39b9d1e0
description: 10%
amount: 10
type: percentage
deal_id: 1
created_at: '2024-03-12T10:30:05Z'
created_by: 1
updated_at: '2024-03-12T10:30:05Z'
updated_by: 1
delete:
summary: Delete a discount from a deal
description: Removes a discount from a deal, changing the deal value if the deal has one-time products attached.
x-tool-description: Removes discount from deal by ID, automatically recalculating values for one-time products. Essential when discounts become inapplicable, negotiations change, or pricing corrections are needed.
x-token-cost: 3
operationId: deleteAdditionalDiscount
tags:
- Deals
security:
- api_key: []
- oauth2:
- deals:read
- deals:full
parameters:
- in: path
name: id
description: The ID of the deal
required: true
schema:
type: integer
- in: path
name: discount_id
required: true
schema:
type: string
format: uuid
description: The ID of the discount
responses:
'200':
description: The ID of the deleted discount.
content:
application/json:
schema:
title: DeleteAdditionalDiscountResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
type: integer
description: The ID of the discount that was deleted from the deal
example:
success: true
data:
id: 123
/deals/{id}/convert/lead:
post:
security:
- api_key: []
- oauth2:
- deals:full
tags:
- Deals
summary: Convert a deal to a lead
description: Initiates a conversion of a deal to a lead. The return value is an ID of a job that was assigned to perform the conversion. Related entities (notes, files, emails, activities, ...) are transferred during the process to the target entity. There are exceptions for entities like invoices or history that are not transferred and remain linked to the original deal. If the conversion is successful, the deal is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint.
operationId: convertDealToLead
x-token-cost: 40
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: The ID of the deal to convert
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: AddConvertDealToLeadResponse
type: object
properties:
success:
type: boolean
data:
type: object
description: An object containing conversion job id that performs the conversion
required:
- conversion_id
properties:
conversion_id:
description: The ID of the conversion job that can be used to retrieve conversion status and details. The ID has UUID format.
type: string
format: uuid
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
conversion_id: 4b40248b-945a-4802-b996-60fdff8c5c69
additional_data: null
'404':
description: A resource describing an error
content:
application/json:
schema:
type: object
title: GetConvertResponse
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
error_info:
type: string
description: A message describing how to solve the problem
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
example:
success: false
error: Entity was not found
error_info: Object was not found.
data: null
additional_data: null
/deals/{id}/convert/status/{conversion_id}:
get:
security:
- api_key: []
- oauth2:
- deals:full
- deals:read
tags:
- Deals
summary: Get Deal conversion status
description: Returns information about the conversion. Status is always present and its value (not_started, running, completed, failed, rejected) represents the current state of the conversion. Lead ID is only present if the conversion was successfully finished. This data is only temporary and removed after a few days.
operationId: getDealConversionStatus
x-token-cost: 1
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: The ID of a deal
- in: path
name: conversion_id
required: true
schema:
type: string
format: uuid
description: The ID of the conversion
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
example:
success: true
data:
lead_id: 9f3e6e50-9d99-11ee-9538-29c81a92c0d1
conversion_id: 4b40248b-945a-4802-b996-60fdff8c5c69
status: completed
additional_data: null
schema:
title: GetConvertResponse
type: object
required:
- success
- data
properties:
success:
type: boolean
data:
type: object
description: An object containing conversion status. After successful conversion the converted entity ID is also present.
required:
- conversion_id
- status
properties:
lead_id:
description: The ID of the new lead.
type: string
format: uuid
deal_id:
description: The ID of the new deal.
type: integer
conversion_id:
description: The ID of the conversion job. The ID can be used to retrieve conversion status and details. The ID has UUID format.
type: string
format: uuid
status:
description: Status of the conversion job.
type: string
enum:
- not_started
- running
- completed
- failed
- rejected
additional_data:
type: object
nullable: true
example: null
'404':
description: A resource describing an error
content:
application/json:
schema:
type: object
title: GetConvertResponse
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
error_info:
type: string
description: A message describing how to solve the problem
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
example:
success: false
error: Entity was not found
error_info: Object was not found.
data: null
additional_data: null
components:
securitySchemes:
basic_authentication:
type: http
scheme: basic
description: Base 64 encoded string containing the `client_id` and `client_secret` values. The header value should be `Basic `.
api_key:
type: apiKey
name: x-api-token
in: header
oauth2:
type: oauth2
description: For more information, see https://pipedrive.readme.io/docs/marketplace-oauth-authorization
flows:
authorizationCode:
authorizationUrl: https://oauth.pipedrive.com/oauth/authorize
tokenUrl: https://oauth.pipedrive.com/oauth/token
refreshUrl: https://oauth.pipedrive.com/oauth/token
scopes:
base: Read settings of the authorized user and currencies in an account
deals:read: Read most of the data about deals and related entities - deal fields, products, followers, participants; all notes, files, filters, pipelines, stages, and statistics. Does not include access to activities (except the last and next activity related to a deal)
deals:full: Create, read, update and delete deals, its participants and followers; all files, notes, and filters. It also includes read access to deal fields, pipelines, stages, and statistics. Does not include access to activities (except the last and next activity related to a deal)
mail:read: Read mail threads and messages
mail:full: Read, update and delete mail threads. Also grants read access to mail messages
activities:read: Read activities, its fields and types; all files and filters
activities:full: Create, read, update and delete activities and all files and filters. Also includes read access to activity fields and types
contacts:read: Read the data about persons and organizations, their related fields and followers; also all notes, files, filters
contacts:full: Create, read, update and delete persons and organizations and their followers; all notes, files, filters. Also grants read access to contacts-related fields
products:read: Read products, its fields, files, followers and products connected to a deal
products:full: Create, read, update and delete products and its fields; add products to deals
deal-fields:full: Create, read, update and delete deal fields
product-fields:full: Create, read, update and delete product fields
contact-fields:full: Create, read, update and delete person and organization fields
projects:read: Read projects and its fields, tasks and project templates
projects:full: Create, read, update and delete projects and its fields; add projects templates and project related tasks
users:read: Read data about users (people with access to a Pipedrive account), their permissions, roles and followers
recents:read: Read all recent changes occurred in an account. Includes data about activities, activity types, deals, files, filters, notes, persons, organizations, pipelines, stages, products and users
search:read: Search across the account for deals, persons, organizations, files and products, and see details about the returned results
admin: Allows to do many things that an administrator can do in a Pipedrive company account - create, read, update and delete pipelines and its stages; deal, person and organization fields; activity types; users and permissions, etc. It also allows the app to create webhooks and fetch and delete webhooks that are created by the app
leads:read: Read data about leads and lead labels
leads:full: Create, read, update and delete leads and lead labels
phone-integration: Enables advanced call integration features like logging call duration and other metadata, and play call recordings inside Pipedrive
goals:read: Read data on all goals
goals:full: Create, read, update and delete goals
video-calls: Allows application to register as a video call integration provider and create conference links
messengers-integration: Allows application to register as a messengers integration provider and allows them to deliver incoming messages and their statuses