openapi: 3.0.1
info:
title: Pipedrive API v1
version: 1.0.0
servers:
- url: 'https://api.pipedrive.com/v1'
tags:
- name: Activities
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.
- name: ActivityFields
description: |
Activity fields represent different fields that an activity has.
- name: ActivityTypes
description: |
Activity types represent different kinds of activities that can be stored. Each activity type is presented to the user with an icon and a name. Additionally, a color can be defined (not implemented in the Pipedrive app as of today). Activity types are linked to activities via `ActivityType.key_string = Activity.type`. The `key_string` will be generated by the API based on the given name of the activity type upon creation, and cannot be changed. Activity types should be presented to the user in an ordered manner, using the `ActivityType.order_nr` value.
- name: Billing
description: |
Billing is responsible for handling your subscriptions, payments, plans and add-ons.
- name: CallLogs
description: |
Call logs describe the outcome of a phone call managed by an integrated provider. Since these logs are also considered activities, they can be associated with a deal or a lead, a person and/or an organization. Call logs do differ from other activities, as they only receive the information needed to describe the phone call.
- name: Channels
description: |
Channels API allows you to integrate your existing messaging channels into Pipedrive through [Messaging app extension](https://pipedrive.readme.io/docs/messaging-app-extension). It enables you to manage and interact with the channel’s conversations, participants and messages inside Pipedrive Messaging inbox: get the historical conversation, receive and send new messages. These endpoints are accessible only through **Messengers integration** OAuth scope together with Messaging manifest in building the [Messaging app extension](https://pipedrive.readme.io/docs/messaging-app-extension).
- name: Currencies
description: |
Supported currencies which can be used to represent the monetary value of a deal, or a value of any monetary type custom field. The `Currency.code` field must be used to point to a currency. `Currency.code` is the ISO-4217 format currency code for non-custom currencies. You can differentiate custom and non-custom currencies using the `is_custom_flag` property. For custom currencies, it is intended that the formatted sums are displayed in the UI using the following format: [sum][non-breaking space character][currency.symbol], for example: 500 users. Custom currencies cannot be added or removed via the API yet — rather the admin users of the account must configure them from the Pipedrive app.
- name: DealFields
description: |
Deal fields represent the near-complete schema for a deal in the context of the company of the authorized user. Each company can have a different schema for their deals, with various custom fields. In the context of using deal fields as a schema for defining the data fields of a deal, it must be kept in mind that some types of custom fields can have additional data fields which are not separate deal fields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of deal fields. For example, if there is a monetary field with the key `ffk9s9` stored on the account, `ffk9s9` would hold the numeric value of the field, and `ffk9s9_currency` would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one deal and list its keys.
- 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`.
- name: Files
description: |
Files are documents of any kind (images, spreadsheets, text files, etc.) that are uploaded to Pipedrive, and usually associated with a particular deal, person, organization, product, note or activity. Remote files can only be associated with a particular deal, person or organization. Note that the API currently does not support downloading files although it lets you retrieve a file’s meta-info along with a URL which can be used to download the file by using a standard HTTP GET request.
- name: Filters
description: |
Each filter is essentially a set of data validation conditions. A filter of the same kind can be applied when fetching a list of deals, leads, persons, organizations or products in the context of a pipeline. Filters are limited to a maximum of 16 conditions. When applied, only items matching the conditions of the filter are returned. Detailed definitions of filter conditions and additional functionality is not yet available.
- name: Goals
description: |
Goals help your team meet your sales targets. There are three types of goals - company, team and user.
- name: ItemSearch
description: |
Ordered reference objects, pointing to either deals, persons, organizations, leads, products, files or mail attachments.
- name: LeadFields
description: |
Lead fields represent the near-complete schema for a lead in the context of the company of the authorized user. Each company can have a different schema for their leads, with various custom fields. In the context of using lead fields as a schema for defining the data fields of a lead, it must be kept in mind that some types of custom fields can have additional data fields which are not separate lead fields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of lead fields. For example, if there is a monetary field with the key `ffk9s9` stored on the account, `ffk9s9` would hold the numeric value of the field, and `ffk9s9_currency` would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one lead and list its keys.
- name: LeadLabels
description: |
Lead labels allow you to visually categorize your leads. There are three default lead labels: hot, cold, and warm, but you can add as many new custom labels as you want.
- name: LeadSources
description: |
A lead source indicates where your lead came from. Currently, these are the possible lead sources: `Manually created`, `Deal`, `Web forms`, `Prospector`, `Leadbooster`, `Live chat`, `Import`, `Website visitors`, `Workflow automation`, and `API`. Lead sources are pre-defined and cannot be edited. Please note that leads sourced from the Chatbot feature are assigned the value `Leadbooster`. Please also note that this list is not final and new sources may be added as needed.
- name: Leads
description: |
Leads are potential deals stored in Leads Inbox before they are archived or converted to a deal. Each lead needs to be named (using the `title` field) and be linked to a person or an organization. In addition to that, a lead can contain most of the fields a deal can (such as `value` or `expected_close_date`).
- name: LegacyTeams
description: |
Legacy teams allow you to form groups of users withing the organization for more efficient management. Previously Legacy Teams were called Teams and occupied the `v1/teams*` path. They're being deprecated because we are preparing for an upgraded version of the Teams API, which requires migrating the current functionality to a new path URL `v1/legacyTeams*`. The functionality and [OAuth scopes](https://pipedrive.readme.io/docs/marketplace-scopes-and-permissions-explanations) of all the Teams API endpoints will remain the same.
- name: Mailbox
description: |
Mailbox was designed to be the email control hub inside Pipedrive. Pipedrive supports all major providers (including Gmail, Outlook and also custom IMAP/SMTP). There are 2 options for syncing user emails: 2-way sync: Mail Connection is established with the mail provider (example Gmail). There can be only 1 active Mail Connection per user in company. 1-way sync: SmartBCC feature which stores the copies of email messages to Pipedrive by adding the SmartBCC specific address to mail recipients.
- name: Meetings
description: |
Meetings API allows integrating video calling apps into Pipedrive through [Video Calling App extension](https://pipedrive.readme.io/docs/video-calling-app-extension). It enables you to manage and interact with your video calls and meetings inside Pipedrive. These endpoints are accessible only through apps with video calls integration [OAuth scope](https://pipedrive.readme.io/docs/marketplace-scopes-and-permissions-explanations).
- name: NoteFields
description: |
Note fields represent different fields that a note has.
- name: Notes
description: |
Notes are pieces of textual (HTML-formatted) information that can be attached to deals, persons and organizations. Notes are usually displayed in the UI in chronological order – newest first – and in context with other updates regarding the item they are attached to. The maximum note size is approximately 100,000 characters (or 100KB per note).
- name: Oauth
description: |
Using OAuth 2.0 is necessary for developing apps that are available in the Pipedrive Marketplace. Authorization via OAuth 2.0 is a well-known and stable way to get fine-grained access to an API. To retrieve OAuth2 tokens you should send requests to the `https://oauth.pipedrive.com` domain. After registering the app, you must add the necessary server-side logic to your app to establish the OAuth flow. Please read more about authorization step on the [Pipedrive Developers page](https://pipedrive.readme.io/docs/marketplace-oauth-authorization).
- name: OrganizationFields
description: |
Organization fields represent the near-complete schema for an organization in the context of the company of the authorized user. Each company can have a different schema for their organizations, with various custom fields. In the context of using organization fields as a schema for defining the data fields of an organization, it must be kept in mind that some types of custom fields can have additional data fields which are not separate organization fields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of organization fields. For example, if there is a monetary field with the key `ffk9s9` stored on the account, `ffk9s9` would hold the numeric value of the field, and `ffk9s9_currency` would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one organization and list its keys.
- name: OrganizationRelationships
description: |
Organization relationships represent how different organizations are related to each other. The relationship can be hierarchical (parent-child companies) or lateral as defined by the `type` field - either `parent` or `related`.
- name: Organizations
description: |
Organizations are companies and other kinds of organizations you are making deals with. Persons can be associated with organizations so that each organization can contain one or more persons.
- name: PermissionSets
description: |
Permission sets define what users in the account can do: which actions they are allowed to perform and which features they can access. Permission sets are app-specific, where apps are large parts of functionality, e.g., sales app, which allows accessing sales data, global permissions, which oversee cross-product features (for example contacts, insights, products) or account settings, which provides access to billing, user management, company settings and security center. Some permission sets with types such as admin and regular are pre-created for the account, while other custom ones can be created by users (depending on the tier the account is on).
- name: PersonFields
description: |
Person fields represent the near-complete schema for a person in the context of the company of the authorized user. Each company can have a different schema for their persons, with various custom fields. In the context of using person fields as a schema for defining the data fields of a person, it must be kept in mind that some types of custom fields can have additional data fields which are not separate person fields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of person fields. For example, if there is a monetary field with the key `ffk9s9` stored on the account, `ffk9s9` would hold the numeric value of the field, and `ffk9s9_currency` would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one person and list its keys.
- name: Persons
description: |
Persons are your contacts, the customers you are doing deals with. Each person can belong to an organization. Persons should not be confused with users.
- name: Pipelines
description: |
Pipelines are essentially ordered collections of stages.
- name: ProductFields
description: |
Product fields represent the near-complete schema for a product in the context of the company of the authorized user. Each company can have a different schema for their products, with various custom fields. In the context of using product fields as a schema for defining the data fields of a product, it must be kept in mind that some types of custom fields can have additional data fields which are not separate product fields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of product fields. For example, if there is a monetary field with the key `ffk9s9` stored on the account, `ffk9s9` would hold the numeric value of the field, and `ffk9s9_currency` would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one product and list its keys.
- name: Products
description: |
Products are the goods or services you are dealing with. Each product can have N different price points - firstly, each product can have a price in N different currencies, and secondly, each product can have N variations of itself, each having N prices in different currencies. Note that only one price per variation per currency is supported. Products can be instantiated to deals. In the context of instatiation, a custom price, quantity, duration and discount can be applied.
- name: Projects
description: |
Projects represent ongoing, completed or canceled projects attached to an organization, person or to deals. Each project has an owner and must be placed in a phase. Each project 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.
- name: ProjectBoards
description: |
Project boards are used to organize projects into different phases. Each board contains phases that define the workflow for projects.
- name: ProjectPhases
description: |
Project phases represent the stages within a project board. Each phase belongs to a board and defines a step in the project workflow.
- name: ProjectTemplates
description: |
Project templates allow you to have reusable and dynamic structure to simplify creation of a project. Project template can contain information about activities, tasks and groups that will be used when creating a project.
- name: Recents
description: |
Recent changes across all item types in Pipedrive (deals, persons, etc).
- name: Roles
description: |
Roles are a part of the Visibility groups’ feature that allow the admin user to categorize other users and dictate what items they will be allowed access to see.
- name: Stages
description: |
Stage is a logical component of a pipeline, and essentially a bucket that can hold a number of deals. In the context of the pipeline a stage belongs to, it has an order number which defines the order of stages in that pipeline.
- name: Tasks
description: |
Tasks represent actions that need to be completed and must be associated with a project. Tasks have an optional due date, can be assigned to a user and can have subtasks.
- name: UserConnections
description: |
Manage user connections.
- name: UserSettings
description: |
View user settings.
- name: Users
description: |
Users are people with access to your Pipedrive account. A user may belong to one or many Pipedrive accounts, so deleting a user from one Pipedrive account will not remove the user from the data store if he/she is connected to multiple accounts. Users should not be confused with persons.
- name: Webhooks
description: 'See the guide for Webhooks for more information.'
paths:
/activityFields:
get:
summary: Get all activity fields
description: Returns all activity fields.
x-token-cost: 20
operationId: getActivityFields
tags:
- ActivityFields
security:
- api_key: []
- oauth2:
- 'activities:read'
- 'activities:full'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- title: FieldsResponse
- type: object
properties:
data:
type: array
items:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field
| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
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
key: title
name: Title
order_nr: 2
field_type: varchar
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options: null
mandatory_flag: true
- id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
/activityTypes:
get:
summary: Get all activity types
description: Returns all activity types.
x-token-cost: 20
operationId: getActivityTypes
tags:
- ActivityTypes
security:
- api_key: []
- oauth2:
- 'activities:read'
- 'activities:full'
- admin
responses:
'200':
description: A list of activity types
content:
application/json:
schema:
title: GetActivityTypesResponse
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
title: ActivityType
properties:
id:
type: integer
description: The ID of the activity type
name:
type: string
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
order_nr:
type: integer
description: An order number for the activity type. Order numbers should be used to order the types in the activity type selections.
key_string:
type: string
description: A string that is generated by the API based on the given name of the activity type upon creation
active_flag:
type: boolean
description: The active flag of the activity type
is_custom_flag:
type: boolean
description: Whether the activity type is a custom one or not
add_time:
type: string
format: date-time
description: The creation time of the activity type
update_time:
type: string
format: date-time
description: The update time of the activity type
description: The array of activity types
example:
success: true
data:
- id: 4
order_nr: 1
name: Deadline
key_string: deadline
icon_key: deadline
active_flag: true
color: FFFFFF
is_custom_flag: false
add_time: '2019-10-04 16:24:55'
update_time: '2020-03-11 13:53:01'
- id: 5
order_nr: 2
name: Call
key_string: call
icon_key: call
active_flag: true
color: FFFFFF
is_custom_flag: false
add_time: '2019-12-21 19:44:01'
update_time: '2019-12-21 19:44:01'
post:
summary: Add new activity type
description: Adds a new activity type.
x-token-cost: 10
operationId: addActivityType
tags:
- ActivityTypes
security:
- api_key: []
- oauth2:
- admin
requestBody:
content:
application/json:
schema:
title: addActivityTypeRequest
type: object
required:
- name
- icon_key
properties:
name:
type: string
example: call
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
example: FFFFFF
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
responses:
'200':
description: The activity type was successfully created
content:
application/json:
schema:
title: UpsertActivityTypeResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: ActivityType
properties:
id:
type: integer
description: The ID of the activity type
name:
type: string
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
order_nr:
type: integer
description: An order number for the activity type. Order numbers should be used to order the types in the activity type selections.
key_string:
type: string
description: A string that is generated by the API based on the given name of the activity type upon creation
active_flag:
type: boolean
description: The active flag of the activity type
is_custom_flag:
type: boolean
description: Whether the activity type is a custom one or not
add_time:
type: string
format: date-time
description: The creation time of the activity type
update_time:
type: string
format: date-time
description: The update time of the activity type
example:
success: true
data:
id: 12
order_nr: 1
name: Video call
key_string: video_call
icon_key: camera
active_flag: true
color: aeb31b
is_custom_flag: true
add_time: '2020-09-01 10:16:23'
update_time: '2020-09-01 10:16:23'
'/activityTypes/{id}':
delete:
summary: Delete an activity type
description: Marks an activity type as deleted.
x-token-cost: 6
operationId: deleteActivityType
tags:
- ActivityTypes
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the activity type
required: true
schema:
type: integer
responses:
'200':
description: The activity type was successfully deleted
content:
application/json:
schema:
title: UpsertActivityTypeResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: ActivityType
properties:
id:
type: integer
description: The ID of the activity type
name:
type: string
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
order_nr:
type: integer
description: An order number for the activity type. Order numbers should be used to order the types in the activity type selections.
key_string:
type: string
description: A string that is generated by the API based on the given name of the activity type upon creation
active_flag:
type: boolean
description: The active flag of the activity type
is_custom_flag:
type: boolean
description: Whether the activity type is a custom one or not
add_time:
type: string
format: date-time
description: The creation time of the activity type
update_time:
type: string
format: date-time
description: The update time of the activity type
example:
success: true
data:
id: 12
order_nr: 1
name: Video call
key_string: video_call
icon_key: camera
active_flag: false
color: aeb31b
is_custom_flag: true
add_time: '2020-09-01 10:16:23'
update_time: '2020-09-01 19:59:59'
put:
summary: Update an activity type
description: Updates an activity type.
x-token-cost: 10
operationId: updateActivityType
tags:
- ActivityTypes
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the activity type
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateActivityTypeRequest
type: object
properties:
name:
type: string
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
order_nr:
type: integer
description: An order number for this activity type. Order numbers should be used to order the types in the activity type selections.
responses:
'200':
description: The activity type was successfully updated
content:
application/json:
schema:
title: UpsertActivityTypeResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: ActivityType
properties:
id:
type: integer
description: The ID of the activity type
name:
type: string
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
order_nr:
type: integer
description: An order number for the activity type. Order numbers should be used to order the types in the activity type selections.
key_string:
type: string
description: A string that is generated by the API based on the given name of the activity type upon creation
active_flag:
type: boolean
description: The active flag of the activity type
is_custom_flag:
type: boolean
description: Whether the activity type is a custom one or not
add_time:
type: string
format: date-time
description: The creation time of the activity type
update_time:
type: string
format: date-time
description: The update time of the activity type
example:
success: true
data:
id: 12
order_nr: 1
name: Video call
key_string: video_call
icon_key: camera
active_flag: true
color: aeb31b
is_custom_flag: true
add_time: '2020-09-01 10:16:23'
update_time: '2020-09-01 14:12:09'
/billing/subscriptions/addons:
get:
security:
- api_key: []
- oauth2:
- 'users:read'
tags:
- Billing
summary: Get all add-ons for a single company
description: Returns the add-ons for a single company.
x-token-cost: 20
operationId: getCompanyAddons
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetSubscriptionAddonsResponse
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: An array of add-ons that the company has.
example:
success: true
data:
- code: leadbooster_v2
- code: prospector
- code: smart_docs_v2
/callLogs:
post:
security:
- api_key: []
- oauth2:
- phone-integration
tags:
- CallLogs
summary: Add a call log
description: Adds a new call log.
x-token-cost: 10
operationId: addCallLog
requestBody:
content:
application/json:
schema:
title: addCallLogRequest
type: object
required:
- to_phone_number
- outcome
- start_time
- end_time
properties:
user_id:
type: integer
description: The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users.
activity_id:
type: integer
description: 'If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don''t need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity.'
subject:
type: string
description: The name of the activity this call is attached to
duration:
type: string
description: The duration of the call in seconds
outcome:
type: string
enum:
- connected
- no_answer
- left_message
- left_voicemail
- wrong_number
- busy
description: Describes the outcome of the call
from_phone_number:
type: string
description: The number that made the call
to_phone_number:
type: string
description: The number called
start_time:
type: string
format: date-time
description: 'The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
end_time:
type: string
format: date-time
description: 'The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
person_id:
type: integer
description: The ID of the person this call is associated with
org_id:
type: integer
description: The ID of the organization this call is associated with
deal_id:
type: integer
description: 'The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
lead_id:
type: string
format: uuid
description: 'The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
note:
type: string
description: The note for the call log in HTML format
responses:
'200':
description: The call log was successfully created.
content:
application/json:
schema:
title: GetCallLogResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
title: responseCallLogObject
allOf:
- title: addCallLogRequest
type: object
required:
- to_phone_number
- outcome
- start_time
- end_time
properties:
user_id:
type: integer
description: The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users.
activity_id:
type: integer
description: 'If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don''t need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity.'
subject:
type: string
description: The name of the activity this call is attached to
duration:
type: string
description: The duration of the call in seconds
outcome:
type: string
enum:
- connected
- no_answer
- left_message
- left_voicemail
- wrong_number
- busy
description: Describes the outcome of the call
from_phone_number:
type: string
description: The number that made the call
to_phone_number:
type: string
description: The number called
start_time:
type: string
format: date-time
description: 'The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
end_time:
type: string
format: date-time
description: 'The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
person_id:
type: integer
description: The ID of the person this call is associated with
org_id:
type: integer
description: The ID of the organization this call is associated with
deal_id:
type: integer
description: 'The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
lead_id:
type: string
format: uuid
description: 'The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
note:
type: string
description: The note for the call log in HTML format
- type: object
properties:
id:
type: string
description: 'The call log ID, generated when the call log was created'
has_recording:
type: boolean
description: 'If the call log has an audio recording attached, the value should be true'
company_id:
type: integer
description: The company ID of the owner of the call log
example:
success: true
data:
id: CAd92b224eb4a39b5ad8fea92ff0e
activity_id: 7007
person_id: 333222111
org_id: 123456789
deal_id: 553229734
subject: Just call me maybe
duration: '0'
outcome: busy
from_phone_number: '+37277774841'
to_phone_number: '+37249234343'
has_recording: false
start_time: '2022-12-12T01:01:01.000Z'
end_time: '2022-12-12T01:02:01.000Z'
user_id: 777707777
company_id: 66660666
note: A note for the call log
'400':
description: The request contains wrong or incorrectly formatted arguments.
content:
application/json:
schema:
title: CallLogBadRequestResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: '"outcome" is required.'
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'403':
description: You don't have permission to access the resource.
content:
application/json:
schema:
title: CallLogForbiddenResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: You don't have permission to change this resource.
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'404':
description: A resource required to process the request was not found.
content:
application/json:
schema:
title: CallLogNotFoundResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: A resource required for this operation was not found.
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'500':
description: There was an error processing the request.
content:
application/json:
schema:
title: CallLogInternalErrorResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: An internal server error occurred
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
get:
security:
- api_key: []
- oauth2:
- phone-integration
tags:
- CallLogs
summary: Get all call logs assigned to a particular user
description: Returns all call logs assigned to a particular user.
x-token-cost: 20
operationId: getUserCallLogs
parameters:
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: 'For pagination, the limit of entries to be returned. The upper limit is 50.'
schema:
type: integer
responses:
'200':
description: A list of call logs.
content:
application/json:
schema:
title: GetCallLogsResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: array
items:
title: responseCallLogObject
allOf:
- title: addCallLogRequest
type: object
required:
- to_phone_number
- outcome
- start_time
- end_time
properties:
user_id:
type: integer
description: The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users.
activity_id:
type: integer
description: 'If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don''t need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity.'
subject:
type: string
description: The name of the activity this call is attached to
duration:
type: string
description: The duration of the call in seconds
outcome:
type: string
enum:
- connected
- no_answer
- left_message
- left_voicemail
- wrong_number
- busy
description: Describes the outcome of the call
from_phone_number:
type: string
description: The number that made the call
to_phone_number:
type: string
description: The number called
start_time:
type: string
format: date-time
description: 'The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
end_time:
type: string
format: date-time
description: 'The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
person_id:
type: integer
description: The ID of the person this call is associated with
org_id:
type: integer
description: The ID of the organization this call is associated with
deal_id:
type: integer
description: 'The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
lead_id:
type: string
format: uuid
description: 'The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
note:
type: string
description: The note for the call log in HTML format
- type: object
properties:
id:
type: string
description: 'The call log ID, generated when the call log was created'
has_recording:
type: boolean
description: 'If the call log has an audio recording attached, the value should be true'
company_id:
type: integer
description: The company ID of the owner of the call log
additional_data:
type: object
properties:
pagination:
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: CAd92b224eb4a39b5ad8fea92ff0e
activity_id: 7007
person_id: 333222111
org_id: 123456789
deal_id: 553229734
subject: Just call me maybe
duration: '0'
outcome: busy
from_phone_number: '+37277774841'
to_phone_number: '+37249234343'
has_recording: false
start_time: '2022-12-12T01:01:01.000Z'
end_time: '2022-12-12T01:01:01.000Z'
user_id: 777707777
company_id: 66660666
note: A note for the call log
- id: CAd92b224eb4a39b11a8fea92ff0e
activity_id: 1
person_id: 1
duration: '0'
outcome: no_answer
to_phone_number: '+3728439832'
has_recording: true
start_time: '2022-12-12T01:01:01.000Z'
end_time: '2022-12-12T01:01:01.000Z'
user_id: 777777777
company_id: 66666666
note: A note for the call log
additional_data:
pagination:
start: 0
limit: 50
more_items_in_collection: false
next_start: 1
'/callLogs/{id}':
delete:
security:
- api_key: []
- oauth2:
- phone-integration
tags:
- CallLogs
summary: Delete a call log
description: 'Deletes a call log. If there is an audio recording attached to it, it will also be deleted. The related activity will not be removed by this request. If you want to remove the related activities, please use the endpoint which is specific for activities.'
x-token-cost: 6
operationId: deleteCallLog
parameters:
- in: path
name: id
description: The ID received when you create the call log
required: true
schema:
type: string
example: 3cde3b05035cae14dcfc172bd8000d08
responses:
'200':
description: The call log was successfully deleted.
content:
application/json:
schema:
title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
example:
success: true
'403':
description: You don't have permission to access the resource.
content:
application/json:
schema:
title: CallLogForbiddenResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: You don't have permission to change this resource.
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'404':
description: A resource required to process the request was not found.
content:
application/json:
schema:
title: CallLogNotFoundResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: A resource required for this operation was not found.
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'410':
description: The callLog you are trying to access is no longer available.
content:
application/json:
schema:
title: CallLogGoneResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: The callLog you are trying to access is no longer available
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'500':
description: There was an error processing the request.
content:
application/json:
schema:
title: CallLogInternalErrorResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: An internal server error occurred
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
get:
security:
- api_key: []
- oauth2:
- phone-integration
tags:
- CallLogs
summary: Get details of a call log
description: Returns details of a specific call log.
x-token-cost: 2
operationId: getCallLog
parameters:
- in: path
name: id
description: The ID received when you create the call log
required: true
schema:
type: string
example: 3cde3b05035cae14dcfc172bd8000d08
responses:
'200':
description: The requested call log object.
content:
application/json:
schema:
title: GetCallLogResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
title: responseCallLogObject
allOf:
- title: addCallLogRequest
type: object
required:
- to_phone_number
- outcome
- start_time
- end_time
properties:
user_id:
type: integer
description: The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users.
activity_id:
type: integer
description: 'If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don''t need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity.'
subject:
type: string
description: The name of the activity this call is attached to
duration:
type: string
description: The duration of the call in seconds
outcome:
type: string
enum:
- connected
- no_answer
- left_message
- left_voicemail
- wrong_number
- busy
description: Describes the outcome of the call
from_phone_number:
type: string
description: The number that made the call
to_phone_number:
type: string
description: The number called
start_time:
type: string
format: date-time
description: 'The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
end_time:
type: string
format: date-time
description: 'The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS.'
person_id:
type: integer
description: The ID of the person this call is associated with
org_id:
type: integer
description: The ID of the organization this call is associated with
deal_id:
type: integer
description: 'The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
lead_id:
type: string
format: uuid
description: 'The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once.'
note:
type: string
description: The note for the call log in HTML format
- type: object
properties:
id:
type: string
description: 'The call log ID, generated when the call log was created'
has_recording:
type: boolean
description: 'If the call log has an audio recording attached, the value should be true'
company_id:
type: integer
description: The company ID of the owner of the call log
example:
success: true
data:
id: CAd92b224eb4a39b5ad8fea92ff0e
activity_id: 7007
person_id: 333222111
org_id: 123456789
deal_id: 553229734
subject: Just call me maybe
duration: '0'
outcome: busy
from_phone_number: '+37277774841'
to_phone_number: '+37249234343'
has_recording: false
start_time: '2022-12-12T01:01:01.000Z'
end_time: '2022-12-12T01:02:01.000Z'
user_id: 777707777
company_id: 66660666
note: A note for the call log
'404':
description: A resource required to process the request was not found.
content:
application/json:
schema:
title: CallLogNotFoundResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: A resource required for this operation was not found.
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'/callLogs/{id}/recordings':
post:
security:
- api_key: []
- oauth2:
- phone-integration
tags:
- CallLogs
summary: Attach an audio file to the call log
description: Adds an audio recording to the call log. That audio can be played by those who have access to the call log object.
x-token-cost: 10
operationId: addCallLogAudioFile
parameters:
- in: path
name: id
description: The ID received when you create the call log
required: true
schema:
type: string
example: 3cde3b05035cae14dcfc172bd8000d08
requestBody:
content:
multipart/form-data:
schema:
title: addCallLogAudioFileRequest
type: object
required:
- file
properties:
file:
description: Audio file supported by the HTML5 specification
type: string
format: binary
responses:
'200':
description: The audio recording was successfully added to the log.
content:
application/json:
schema:
title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
example:
success: true
'404':
description: A resource required to process the request was not found.
content:
application/json:
schema:
title: CallLogNotFoundResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: A resource required for this operation was not found.
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'409':
description: Recording for this call already exists.
content:
application/json:
schema:
title: CallLogConflictResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: A recording for this call already exists
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
'500':
description: There was an error processing the request.
content:
application/json:
schema:
title: CallLogInternalErrorResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
description: The description of the error
example: An internal server error occurred
error_info:
type: string
description: A message describing how to solve the problem
example: Please check developers.pipedrive.com for more information about Pipedrive API.
data:
type: object
nullable: true
example: null
additional_data:
type: object
nullable: true
example: null
/channels:
post:
deprecated: true
security:
- api_key: []
- oauth2:
- messengers-integration
tags:
- Channels
summary: Add a channel
description: 'Adds a new messaging channel, only admins are able to register new channels. It will use the getConversations endpoint to fetch conversations, participants and messages afterward. To use the endpoint, you need to have **Messengers integration** OAuth scope enabled and the Messaging manifest ready for the [Messaging app extension](https://pipedrive.readme.io/docs/messaging-app-extension).'
x-token-cost: 10
operationId: addChannel
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- provider_channel_id
properties:
name:
type: string
example: My Channel
description: The name of the channel
provider_channel_id:
type: string
description: The channel ID
avatar_url:
type: string
format: url
description: The URL for an icon that represents your channel
template_support:
type: boolean
description: 'If true, enables templates logic on UI. Requires getTemplates endpoint implemented. Find out more [here](https://pipedrive.readme.io/docs/implementing-messaging-app-extension).'
default: false
provider_type:
type: string
enum:
- facebook
- whatsapp
- other
default: other
description: It controls the icons (like the icon next to the conversation)
responses:
'200':
description: The channel registered
content:
application/json:
schema:
type: object
title: AddChannelResponse
properties:
success:
type: boolean
example: true
data:
type: object
properties:
id:
type: string
description: The unique channel ID used internally in omnichannel-api and the frontend of the extension
name:
type: string
example: My Channel
description: The name of the channel
avatar_url:
type: string
example: 'http://some-domain.com/test.jpg'
description: The URL for an icon that represents your channel
provider_channel_id:
type: string
format: string
description: The channel ID you specified while creating the channel
marketplace_client_id:
type: string
description: The client_id of your app in Pipedrive marketplace
pd_company_id:
type: integer
example: 1
description: The ID of the user's company in Pipedrive
pd_user_id:
type: integer
example: 1
description: The ID of the user in Pipedrive
created_at:
type: string
format: date-time
description: The date and time when your channel was created in the API
provider_type:
type: string
enum:
- facebook
- whatsapp
- other
description: Value of the provider_type sent to this endpoint
template_support:
type: boolean
description: Value of the template_support sent to this endpoint
example:
success: true
data:
id: e283f878-7ef9-4294-8e5c-04a7d003fd92
name: My Channel
avatar_url: 'http://my-domain.com/images/test.png'
provider_channel_id: e283f878-7ef9-4294-8e5c-04a7d003fd92
marketplace_client_id: 57da5c3c55a82bb4
pd_company_id: 123
pd_user_id: 321
created_at: '2022-03-01 00:00:00'
provider_type: other
template_support: false
'400':
description: Bad Request
content:
application/json:
schema:
type: object
title: AddChannelBadRequestResponse
properties:
success:
type: boolean
example: false
error:
type: string
example: 'Expected { name: string; avatar_url?: string; provider_channel_id: string; }, but was incompatible'
description: The error description
error_info:
type: string
example: 'Please check the reference docs in https://developers.pipedrive.com/docs/api/v1'
additional_data:
type: object
properties:
code:
type: string
example: INVALID_BODY
description: An error code sent by the API
'403':
description: Forbidden
content:
application/json:
schema:
type: object
title: AddChannelForbiddenErrorResponse
properties:
success:
type: boolean
example: false
error:
type: string
example: Only admins can register channels
description: The error description
error_info:
type: string
example: 'Please check the reference docs in https://developers.pipedrive.com/docs/api/v1'
additional_data:
type: object
properties:
code:
type: string
example: ADMIN_ONLY
description: An error code sent by the API
'/channels/{id}':
delete:
deprecated: true
security:
- api_key: []
- oauth2:
- messengers-integration
tags:
- Channels
summary: Delete a channel
description: 'Deletes an existing messenger’s channel and all related entities (conversations and messages). To use the endpoint, you need to have **Messengers integration** OAuth scope enabled and the Messaging manifest ready for the [Messaging app extension](https://pipedrive.readme.io/docs/messaging-app-extension).'
x-token-cost: 6
operationId: deleteChannel
parameters:
- in: path
name: id
schema:
type: string
required: true
description: The ID of the channel provided by the integration
responses:
'200':
description: The channel was deleted
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
example:
success: true
'400':
description: Bad Request
content:
application/json:
schema:
type: object
title: AddChannelBadRequestResponse
properties:
success:
type: boolean
example: false
error:
type: string
example: 'Expected { name: string; avatar_url?: string; provider_channel_id: string; }, but was incompatible'
description: The error description
error_info:
type: string
example: 'Please check the reference docs in https://developers.pipedrive.com/docs/api/v1'
additional_data:
type: object
properties:
code:
type: string
example: INVALID_BODY
description: An error code sent by the API
/channels/messages/receive:
post:
deprecated: true
security:
- api_key: []
- oauth2:
- messengers-integration
tags:
- Channels
summary: Receives an incoming message
description: 'Adds a message to a conversation. To use the endpoint, you need to have **Messengers integration** OAuth scope enabled and the Messaging manifest ready for the [Messaging app extension](https://pipedrive.readme.io/docs/messaging-app-extension).'
x-token-cost: 10
operationId: receiveMessage
requestBody:
content:
application/json:
schema:
type: object
required:
- id
- channel_id
- sender_id
- conversation_id
- message
- status
- created_at
properties:
id:
type: string
description: The ID of the message
channel_id:
type: string
description: The channel ID as in the provider
sender_id:
type: string
description: The ID of the provider's user that sent the message
conversation_id:
type: string
description: The ID of the conversation
message:
type: string
description: The body of the message
status:
type: string
enum:
- sent
- delivered
- read
- failed
description: The status of the message
created_at:
type: string
format: date-time
description: 'The date and time when the message was created in the provider, in UTC. Format: YYYY-MM-DD HH:MM'
reply_by:
type: string
format: date-time
description: 'The date and time when the message can no longer receive a reply, in UTC. Format: YYYY-MM-DD HH:MM'
conversation_link:
type: string
format: url
description: A URL that can open the conversation in the provider's side
attachments:
type: array
description: The list of attachments available in the message
items:
type: object
required:
- id
- type
- url
properties:
id:
type: string
description: The ID of the attachment
type:
type: string
description: The mime-type of the attachment
name:
type: string
description: The name of the attachment
size:
type: number
description: The size of the attachment
url:
type: string
description: A URL to the file
preview_url:
type: string
description: A URL to a preview picture of the file
link_expires:
type: boolean
default: false
description: 'If true, it will use the getMessageById endpoint for fetching updated attachment''s urls. Find out more [here](https://pipedrive.readme.io/docs/implementing-messaging-app-extension)'
responses:
'200':
description: The message was registered in the conversation
content:
application/json:
schema:
title: GetReceiveMessageSuccessResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
required:
- id
- channel_id
- sender_id
- conversation_id
- message
- status
- created_at
properties:
id:
type: string
description: The ID of the message
channel_id:
type: string
description: The channel ID as in the provider
sender_id:
type: string
description: The ID of the provider's user that sent the message
conversation_id:
type: string
description: The ID of the conversation
message:
type: string
description: The body of the message
status:
type: string
enum:
- sent
- delivered
- read
- failed
description: The status of the message
created_at:
type: string
format: date-time
description: 'The date and time when the message was created in the provider, in UTC. Format: YYYY-MM-DD HH:MM'
reply_by:
type: string
format: date-time
description: 'The date and time when the message can no longer receive a reply, in UTC. Format: YYYY-MM-DD HH:MM'
conversation_link:
type: string
format: url
description: A URL that can open the conversation in the provider's side
attachments:
type: array
description: The list of attachments available in the message
items:
type: object
required:
- id
- type
- url
properties:
id:
type: string
description: The ID of the attachment
type:
type: string
description: The mime-type of the attachment
name:
type: string
description: The name of the attachment
size:
type: number
description: The size of the attachment
url:
type: string
description: A URL to the file
preview_url:
type: string
description: A URL to a preview picture of the file
link_expires:
type: boolean
default: false
description: 'If true, it will use the getMessageById endpoint for fetching updated attachment''s urls. Find out more [here](https://pipedrive.readme.io/docs/implementing-messaging-app-extension)'
example:
success: true
data:
id: e283f878-7ef9-4294-8e5c-04a7d003fd92
channel_id: a8aa4db0-91bb-4e90-b9c0-0c6291307e2f
sender_id: 5d4bd467-d847-4088-ae43-0c7614233bab
conversation_id: 063ffa46-831c-4027-a04c-b65e17f077b7
message: This is a message
status: sent
created_at: '2022-03-01T07:58:35.449Z'
reply_by: '2022-03-01T07:58:35.449Z'
conversation_link: 'http://my-server.com/conversations/063ffa46-831c-4027-a04c-b65e17f077b7'
attachments:
- id: b0369d1d-6b6a-4293-88b9-e2924782d47e
type: image/png
name: Image Name
size: 600
url: 'http://my-server.com/images/b0369d1d-6b6a-4293-88b9-e2924782d47e.png'
preview_url: 'http://my-server.com/images/b0369d1d-6b6a-4293-88b9-e2924782d47e.preview.png'
'400':
description: Bad Request
content:
application/json:
schema:
title: ReceiveMessageBadRequestErrorResponse
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: 'Expected { id: string; sender_id: string; conversation_id: string; conversation_link?: string; channel_id: string; created_at: string; message: string; status: unknown; attachments: { id: string; type: string; name: string | null; size: number | null; url: string; preview_url: string | null; }[]; reply_by?: string | null; }, but was incompatible'
description: The error description
error_info:
type: string
example: 'Please check the reference docs in https://developers.pipedrive.com/docs/api/v1'
additional_data:
type: object
properties:
code:
type: string
example: INVALID_RECEIVE_MESSAGE_PAYLOAD
description: An error code sent by the API
'/channels/{channel-id}/conversations/{conversation-id}':
delete:
deprecated: true
security:
- api_key: []
- oauth2:
- messengers-integration
tags:
- Channels
summary: Delete a conversation
description: 'Deletes an existing conversation. To use the endpoint, you need to have **Messengers integration** OAuth scope enabled and the Messaging manifest ready for the [Messaging app extension](https://pipedrive.readme.io/docs/messaging-app-extension).'
x-token-cost: 6
operationId: deleteConversation
parameters:
- in: path
name: channel-id
schema:
type: string
required: true
description: The ID of the channel provided by the integration
- in: path
name: conversation-id
schema:
type: string
required: true
description: The ID of the conversation provided by the integration
responses:
'200':
description: The conversation was deleted
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
example:
success: true
'403':
description: Forbidden
content:
application/json:
schema:
type: object
title: DeleteConversationForbiddenErrorResponse
properties:
success:
type: boolean
example: false
error:
type: string
example: Only the app owner can delete conversations
description: The error description
error_info:
type: string
example: 'Please check the reference docs in https://developers.pipedrive.com/docs/api/v1'
additional_data:
type: object
properties:
code:
type: string
example: FORBIDDEN_USER_REQUEST
description: An error code sent by the API
'404':
description: Not Found
content:
application/json:
schema:
type: object
title: DeleteConversationNotFoundErrorResponse
properties:
success:
type: boolean
example: false
error:
type: string
example: Channel not found.
description: The error description
error_info:
type: string
example: 'Please check the reference docs in https://developers.pipedrive.com/docs/api/v1'
additional_data:
type: object
properties:
code:
type: string
example: NOT_FOUND
description: An error code sent by the API
/currencies:
get:
summary: Get all supported currencies
description: Returns all supported currencies in given account which should be used when saving monetary values with other objects. The `code` parameter of the returning objects is the currency code according to ISO 4217 for all non-custom currencies.
x-token-cost: 20
operationId: getCurrencies
tags:
- Currencies
security:
- api_key: []
- oauth2:
- base
parameters:
- in: query
name: term
description: Optional search term that is searched for from currency's name and/or code
schema:
type: string
responses:
'200':
description: The list of supported currencies
content:
application/json:
schema:
title: GetCurrenciesResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: array
description: The array of currencies
items:
type: object
properties:
id:
type: integer
description: The ID of the currency
code:
type: string
description: The code of the currency
name:
type: string
description: The name of the currency
decimal_points:
type: integer
description: The amount of decimal points of the currency
symbol:
type: string
description: The symbol of the currency
active_flag:
type: boolean
description: Whether the currency is active or not
is_custom_flag:
type: boolean
description: Whether the currency is a custom one or not
example:
success: true
data:
- id: 1
code: EUR
name: Euro
decimal_points: 2
symbol: €
active_flag: true
is_custom_flag: false
- id: 2
code: USD
name: US Dollar
decimal_points: 2
symbol: $
active_flag: true
is_custom_flag: false
/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
/dealFields:
get:
summary: Get all deal fields
description: Returns data about all deal fields.
x-token-cost: 20
operationId: getDealFields
parameters:
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
tags:
- DealFields
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'deal-fields:full'
- admin
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- title: FieldsResponse
- type: object
properties:
data:
type: array
items:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
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
key: title
name: Title
order_nr: 2
field_type: varchar
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options: null
mandatory_flag: true
- id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add a new deal field
description: 'Adds a new deal field. For more information, see the tutorial for adding a new custom field.'
x-token-cost: 10
operationId: addDealField
tags:
- DealFields
security:
- api_key: []
- oauth2:
- 'deal-fields:full'
- admin
requestBody:
content:
application/json:
schema:
title: createFieldRequest
allOf:
- type: object
required:
- name
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options must be supplied as a JSON-encoded sequential array of objects. Example: `[{"label":"New Item"}]`'
add_visible_flag:
type: boolean
default: true
description: Whether the field is available in the 'add new' modal or not (both in the web and mobile app)
- type: object
required:
- field_type
properties:
field_type:
type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
delete:
summary: Delete multiple deal fields in bulk
description: Marks multiple deal fields as deleted.
x-token-cost: 10
operationId: deleteDealFields
tags:
- DealFields
security:
- api_key: []
- oauth2:
- 'deal-fields:full'
- admin
parameters:
- in: query
name: ids
schema:
type: string
required: true
description: The comma-separated field IDs to delete
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: array
items:
type: integer
description: The list of deleted field IDs
example:
success: true
data:
id:
- 123
- 456
'/dealFields/{id}':
get:
summary: Get one deal field
description: Returns data about a specific deal field.
x-token-cost: 2
operationId: getDealField
tags:
- DealFields
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'deal-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
delete:
summary: Delete a deal field
description: 'Marks a field as deleted. For more information, see the tutorial for deleting a custom field.'
x-token-cost: 6
operationId: deleteDealField
tags:
- DealFields
security:
- api_key: []
- oauth2:
- 'deal-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the field that was deleted
example:
success: true
data:
id: 123
put:
summary: Update a deal field
description: 'Updates a deal field. For more information, see the tutorial for updating custom fields'' values.'
x-token-cost: 10
operationId: updateDealField
tags:
- DealFields
security:
- api_key: []
- oauth2:
- 'deal-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateFieldRequest
type: object
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options must be supplied as a JSON-encoded sequential array of objects. All active items must be supplied and already existing items must have their ID supplied. New items only require a label. Example: `[{"id":123,"label":"Existing Item"},{"label":"New Item"}]`'
add_visible_flag:
type: boolean
default: true
description: Whether the field is available in 'add new' modal or not (both in web and mobile app)
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
/files:
get:
summary: Get all files
description: Returns data about all files.
x-token-cost: 20
operationId: getFiles
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'activities:read'
- 'activities:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- 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: Get data about all files uploaded to Pipedrive
content:
application/json:
schema:
title: GetFilesResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
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 file
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 all uploaded files
additional_data:
type: object
properties:
pagination:
title: paginationDetails
description: Pagination details of the list
type: object
allOf:
- 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
- type: object
properties:
next_start:
type: integer
description: Next pagination start
example:
success: true
data:
- id: 123
user_id: 456
deal_id: 1
person_id: 789
org_id: 1
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-20 14:36:35'
update_time: '2020-02-20 14:57:33'
file_name: IMG_8189_52233498214699de9579e7b304a81b157b2eb2137e8062.jpg
file_type: img
file_size: 7801780
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1mT6jshiv6537IirwOExXJuG1jdR4F0FQ
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: ''
person_name: Person
lead_name: Test lead name
org_name: ''
product_name: ''
url: 'https://2a7f.pipedrive.com/v1/files/123/download'
name: test file name
description: test file description
- id: 123321
user_id: 456
deal_id: 1
person_id: 789987
org_id: 1
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-20 14:36:35'
update_time: '2020-02-20 14:57:33'
file_name: IMG_8189_52233498214699de9579e7b304a81b157b2eb2137e8062.jpg
file_type: img
file_size: 7801780
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1mT6jshiv6537IirwOExXJuG1jdR4F0FQ
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: ''
person_name: Person
org_name: ''
product_name: ''
lead_name: Test lead name
url: 'https://2a7f.pipedrive.com/v1/files/123321/download'
name: second test file name
description: second test file description
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
next_start: 100
post:
summary: Add file
description: 'Lets you upload a file and associate it with a deal, person, organization, activity, product or lead. For more information, see the tutorial for adding a file.'
x-token-cost: 10
operationId: addFile
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
requestBody:
content:
multipart/form-data:
schema:
title: addFileRequest
type: object
required:
- file
properties:
file:
type: string
format: binary
description: 'A single file, supplied in the multipart/form-data encoding and contained within the given boundaries'
deal_id:
type: integer
description: The ID of the deal to associate file(s) with
person_id:
type: integer
description: The ID of the person to associate file(s) with
org_id:
type: integer
description: The ID of the organization to associate file(s) with
product_id:
type: integer
description: The ID of the product to associate file(s) with
activity_id:
type: integer
description: The ID of the activity to associate file(s) with
lead_id:
type: string
format: uuid
description: The ID of the lead to associate file(s) with
responses:
'200':
description: 'Add a file from computer or Google Drive and associate it with deal, person, organization, activity or product'
content:
application/json:
schema:
title: AddFileResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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 file
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
example:
success: true
data:
id: 123
user_id: 456
deal_id: 1
person_id: 789
org_id: 1
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-20 14:36:35'
update_time: '2020-02-20 14:36:31'
file_name: IMG_8189_52233498214699de9579e7b304a81b157b2eb2137e8062.jpg
file_type: img
file_size: 7801780
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1mT6jshiv6537IirwOExXJuG1jdR4F0FQ
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: ''
person_name: Person
org_name: ''
product_name: ''
lead_name: Test lead name
url: 'https://2a7f.pipedrive.com/v1/files/123/download'
name: IMG_8189.jpg
description: ''
/files/remote:
post:
summary: Create a remote file and link it to an item
description: 'Creates a new empty file in the remote location (`googledrive`) that will be linked to the item you supply. For more information, see the tutorial for adding a remote file.'
x-token-cost: 10
operationId: addFileAndLinkIt
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
title: addFileAndLinkItRequest
type: object
required:
- file_type
- title
- item_type
- item_id
- remote_location
properties:
file_type:
type: string
enum:
- gdoc
- gslides
- gsheet
- gform
- gdraw
description: The file type
title:
type: string
description: The title of the file
item_type:
type: string
enum:
- deal
- organization
- person
description: The item type
item_id:
type: integer
description: The ID of the item to associate the file with
remote_location:
type: string
enum:
- googledrive
description: The location type to send the file to. Only `googledrive` is supported at the moment.
responses:
'200':
description: 'Creates a new empty file in the remote location (googledrive) that will be linked to the item you supply - deal, person or organization'
content:
application/json:
schema:
title: AddRemoteFileAndLinkItToItemResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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 file
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
example:
success: true
data:
id: 7195
user_id: 456
deal_id: 36
person_id: 1
org_id: 15
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-21 11:52:28'
update_time: '2020-02-21 11:52:24'
file_name: ''
file_type: gdoc
file_size: 0
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1gzyh6ExBxIb4RBZbAZxsrrBp45yuXhZWq3Zash5b75c
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: test deal
person_name: ''
org_name: test org
product_name: ''
lead_name: Test lead name 1
url: 'https://app.pipedrive.com/api/v1/files/7195/download'
name: Test title for remote file
description: ''
/files/remoteLink:
post:
summary: Link a remote file to an item
description: 'Links an existing remote file (`googledrive`) to the item you supply. For more information, see the tutorial for adding a remote file.'
x-token-cost: 10
operationId: linkFileToItem
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
title: linkFileToItemRequest
type: object
required:
- item_type
- item_id
- remote_id
- remote_location
properties:
item_type:
type: string
enum:
- deal
- organization
- person
description: The item type
item_id:
type: integer
description: The ID of the item to associate the file with
remote_id:
type: string
description: The remote item ID
remote_location:
type: string
enum:
- googledrive
description: The location type to send the file to. Only `googledrive` is supported at the moment.
responses:
'200':
description: 'Links an existing remote file (googledrive) to the item you supply - deal, person, organization'
content:
application/json:
schema:
title: GetLinkRemoteFileToItemResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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 file
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
example:
success: true
data:
id: 7196
user_id: 456
deal_id: 35
person_id: 1
org_id: 1
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-21 12:02:37'
update_time: '2020-02-21 12:02:37'
file_name: Test title to remote file
file_type: gdoc
file_size: 0
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1gzyh6ExBxIb4RBZbAZxsrrBp45yuXhZWq3Zash5b75c
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: Test deal name
person_name: Test person name
org_name: ''
product_name: ''
lead_name: Test lead name
url: 'https://app.pipedrive.com/api/v1/files/7196/download'
name: Test title for remote file
description: ''
'/files/{id}':
delete:
summary: Delete a file
description: 'Marks a file as deleted. After 30 days, the file will be permanently deleted.'
x-token-cost: 6
operationId: deleteFile
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the file
required: true
schema:
type: integer
responses:
'200':
description: Delete a file from Pipedrive
content:
application/json:
schema:
title: DeleteFileResponse
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 file
example:
success: true
data:
id: 123
get:
summary: Get one file
description: Returns data about a specific file.
x-token-cost: 2
operationId: getFile
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'activities:read'
- 'activities:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the file
required: true
schema:
type: integer
responses:
'200':
description: Get data about one specific file uploaded to Pipedrive
content:
application/json:
schema:
title: GetFileResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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 file
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
example:
success: true
data:
id: 123
user_id: 456
deal_id: 1
person_id: 789
org_id: 1
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-20 14:36:35'
update_time: '2020-02-20 14:57:33'
file_name: IMG_8189_52233498214699de9579e7b304a81b157b2eb2137e8062.jpg
file_type: img
file_size: 7801780
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1mT6jshiv6537IirwOExXJuG1jdR4F0FQ
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: ''
person_name: Person
org_name: ''
product_name: ''
lead_name: Test lead name
url: 'https://2a7f.pipedrive.com/v1/files/123/download'
name: test file name
description: test file description
put:
summary: Update file details
description: Updates the properties of a file.
x-token-cost: 10
operationId: updateFile
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the file
required: true
schema:
type: integer
requestBody:
content:
application/x-www-form-urlencoded:
schema:
title: updateFileRequest
type: object
properties:
name:
type: string
description: The visible name of the file
description:
type: string
description: The description of the file
responses:
'200':
description: Update file name and description
content:
application/json:
schema:
title: UpdateFileResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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 file
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
example:
success: true
data:
id: 123
user_id: 456
deal_id: 1
person_id: 789
org_id: 1
product_id: 1
activity_id: 1
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
log_id: null
add_time: '2020-02-20 14:36:35'
update_time: '2020-02-20 14:57:33'
file_name: IMG_8189_52233498214699de9579e7b304a81b157b2eb2137e8062.jpg
file_type: img
file_size: 7801780
active_flag: true
inline_flag: false
remote_location: googledocs
remote_id: 1mT6jshiv6537IirwOExXJuG1jdR4F0FQ
cid: ''
s3_bucket: ''
mail_message_id: ''
mail_template_id: ''
deal_name: ''
person_name: Person
org_name: ''
product_name: ''
lead_name: Test lead name
url: 'https://2a7f.pipedrive.com/v1/files/123/download'
name: test file name
description: test file description
'/files/{id}/download':
get:
summary: Download one file
description: Initializes a file download.
x-token-cost: 20
x-binary-response: true
operationId: downloadFile
tags:
- Files
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'activities:read'
- 'activities:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the file
required: true
schema:
type: integer
responses:
'200':
description: success
content:
application/octet-stream:
schema:
title: GetDownloadFileResponse
type: string
format: byte
/filters:
delete:
summary: Delete multiple filters in bulk
description: Marks multiple filters as deleted.
x-token-cost: 10
operationId: deleteFilters
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
parameters:
- in: query
name: ids
required: true
schema:
type: string
description: The comma-separated filter IDs to delete
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteFiltersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: array
description: The array of the IDs of the deleted filter
items:
type: integer
example:
success: true
data:
id:
- 1
- 2
- 3
get:
summary: Get all filters
description: Returns data about all filters.
x-token-cost: 20
operationId: getFilters
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'activities:read'
- 'activities:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: query
name: type
schema:
type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
description: The types of filters to fetch
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFiltersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- properties:
data:
type: array
description: The array of filters
items:
description: The filter object
type: object
properties:
id:
type: integer
description: The ID of the filter
name:
type: string
description: The name of the filter
filter_code:
type: string
nullable: true
description: The system code of the filter
is_editable:
type: boolean
description: Whether the filter can be edited by the requesting user
active_flag:
type: boolean
description: The active flag of the filter
type:
type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
temporary_flag:
type: boolean
nullable: true
description: Whether the filter is temporary
user_id:
type: integer
description: The owner of the filter
add_time:
type: string
description: The date and time when the filter was added
update_time:
type: string
nullable: true
description: The date and time when the filter was updated
visible_to:
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: The visibility group ID of who can see the filter
last_used_time:
type: string
nullable: true
description: The date and time when the filter was last used
custom_view_id:
type: integer
nullable: true
description: The custom view ID linked to the filter
example:
success: true
data:
- id: 1
name: All open deals
filter_code: null
is_editable: true
active_flag: true
type: deals
temporary_flag: null
user_id: 927097
add_time: '2019-10-15 11:01:53'
update_time: '2019-10-15 11:01:53'
visible_to: '7'
last_used_time: null
custom_view_id: null
post:
summary: Add a new filter
description: 'Adds a new filter, returns the ID upon success. Note that in the conditions JSON object only one first-level condition group is supported, and it must be glued with ''AND'', and only two second level condition groups are supported of which one must be glued with ''AND'' and the second with ''OR''. Other combinations do not work (yet) but the syntax supports introducing them in future. For more information, see the tutorial for adding a filter.'
x-token-cost: 10
operationId: addFilter
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
parameters:
- in: query
name: include_field_code
required: false
schema:
type: boolean
description: 'If set to `true`, each condition in the response includes a `field_code` field identifying the field by its code name'
requestBody:
content:
application/json:
schema:
title: addFilterRequest
type: object
required:
- name
- conditions
- type
properties:
name:
type: string
description: The name of the filter
conditions:
type: object
description: 'The conditions of the filter as a JSON object. Please note that a maximum of 16 conditions is allowed per filter and `date` values must be supplied in the `YYYY-MM-DD` format. It requires a minimum structure as follows: `{"glue":"and","conditions":[{"glue":"and","conditions": [CONDITION_OBJECTS]},{"glue":"or","conditions":[CONDITION_OBJECTS]}]}`. Replace `CONDITION_OBJECTS` with JSON objects of the following structure: `{"object":"","field_id":"", "operator":"","value":"", "extra_value":""}` or leave the array empty. Depending on the object type you should use another API endpoint to get `field_id`. There are five types of objects you can choose from: `"person"`, `"deal"`, `"organization"`, `"product"`, `"activity"` and you can use these types of operators depending on what type of a field you have: `"IS NOT NULL"`, `"IS NULL"`, `"<="`, `">="`, `"<"`, `">"`, `"!="`, `"="`, `"LIKE ''$%''"`, `"LIKE ''%$%''"`, `"NOT LIKE ''$%''"`. To get a better understanding of how filters work try creating them directly from the Pipedrive application.'
type:
type: string
allOf:
- type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
description: The type of filter to create
responses:
'200':
description: Success
content:
application/json:
schema:
title: AddFiltersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: Filter
properties:
id:
type: integer
description: The ID of the filter
name:
type: string
description: The name of the filter
filter_code:
type: string
nullable: true
description: The system code of the filter
is_editable:
type: boolean
description: Whether the filter can be edited by the requesting user
active_flag:
type: boolean
description: The activity flag of the filter
type:
type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
temporary_flag:
type: boolean
nullable: true
description: Whether the filter is temporary
user_id:
type: integer
description: The user ID of the filter owner
add_time:
type: string
description: The date and time when the filter was added
update_time:
type: string
nullable: true
description: The date and time when the filter was last updated
visible_to:
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: The visibility group ID of the filter
last_used_time:
type: string
nullable: true
description: The date and time when the filter was last used
custom_view_id:
type: integer
nullable: true
description: The custom view ID linked to the filter
conditions:
type: object
description: The conditions object of a filter
properties:
glue:
type: string
enum:
- and
description: The top-level glue is always "and"
conditions:
type: array
description: The condition groups
items:
type: object
description: A group of conditions joined by a logical operator
properties:
glue:
type: string
enum:
- and
- or
description: The logical operator joining conditions within this group
conditions:
type: array
description: The individual conditions in this group
items:
type: object
description: A single filter condition
properties:
object:
type: string
description: 'The type of entity the condition applies to (e.g. "deal", "person")'
field_id:
type: string
description: The ID of the field
operator:
type: string
description: 'The operator used in the condition (e.g. "=", "IS NOT NULL")'
value:
type: string
nullable: true
description: The value of the condition
extra_value:
type: string
nullable: true
description: An extra value for conditions that require two values
json_value_flag:
type: boolean
description: Whether the value is JSON-encoded
field_code:
type: string
nullable: true
description: The code name of the field. Present when `include_field_code=true` is passed as a query parameter; `null` if the field code cannot be resolved
example:
success: true
data:
id: 1
name: Deal title is 'my title'
filter_code: null
is_editable: true
active_flag: true
type: deals
temporary_flag: false
user_id: 1
add_time: '2018-01-27 08:49:26'
update_time: '2018-01-27 08:49:26'
visible_to: '1'
last_used_time: null
custom_view_id: null
conditions:
glue: and
conditions:
- glue: and
conditions:
- object: deal
field_id: '123141'
operator: '='
value: my title
extra_value: null
json_value_flag: false
field_code: title
- glue: or
conditions: []
/filters/helpers:
get:
summary: Get all filter helpers
description: 'Returns all supported filter helpers. It helps to know what conditions and helpers are available when you want to add or update filters. For more information, see the tutorial for adding a filter.'
x-token-cost: 20
operationId: getFilterHelpers
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'activities:read'
- 'activities:full'
- 'contacts:read'
- 'contacts:full'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFilterHelpersResponse
type: object
description: The rules for filters
example:
success: true
data:
operators:
int:
'=': is
'!=': is not
'>': is more than
<: is less than
'>=': is more or equal to
<=: is less or equal to
IS NULL: is empty
IS NOT NULL: is not empty
double:
'=': is
'!=': is not
'>': is more than
<: is less than
'>=': is more or equal to
<=: is less or equal to
IS NULL: is empty
IS NOT NULL: is not empty
monetary:
'=': is
'!=': is not
'>': is more than
<: is less than
'>=': is more or equal to
<=: is less or equal to
IS NULL: is empty
IS NOT NULL: is not empty
time:
'=': is
'!=': is not
<: is before
'>': is after
'>=': is exactly or after than
<=: is exactly or before than
IS NULL: is empty
IS NOT NULL: is not empty
date:
'=': is
'!=': is not
'>': is later than
<: is earlier than
'>=': is exactly or later than
<=: is exactly or earlier than
IS NULL: is empty
IS NOT NULL: is not empty
entered_stage:
'=': is
'!=': is not
'>': is later than
<: is earlier than
'>=': is exactly or later than
<=: is exactly or earlier than
timerange:
'=': starts at
'!=': does not start at
ends_at: ends at
does_not_end_at: does not end at
<: starts before
<=: starts exactly on or before
ends_before: ends before
ends_e_before: ends exactly on or before
'>': starts after
ends_after: ends after
'>=': starts exactly or after
ends_e_after: ends exactly or after
includes: does include
IS NULL: is empty
IS NOT NULL: is not empty
daterange:
'=': starts at
'!=': does not start at
ends_at: ends at
does_not_end_at: does not end at
<: starts before
<=: starts exactly on or before
ends_before: ends before
ends_e_before: ends exactly on or before
'>': starts after
ends_after: ends after
'>=': starts exactly or after
ends_e_after: ends exactly or after
includes: does include
IS NULL: is empty
IS NOT NULL: is not empty
varchar:
'=': is
'!=': is not
IS NULL: is empty
IS NOT NULL: is not empty
LIKE '%$%': contains
LIKE '$%': starts with
NOT LIKE '$%': does not start with
stage:
'=': is
'!=': is not
has_been: has been
title:
'=': is
LIKE '$%': starts with
LIKE '%$%': contains
NOT LIKE '$%': does not start with
set:
'=': is
'!=': is not
contains: contains
not_contains: does not contain
IS NULL: is empty
IS NOT NULL: is not empty
enum:
- '=': is
- '!=': is not
- IS NULL: is empty
- IS NOT NULL: is not empty
deal:
'=': is
'!=': is not
IS NULL: is empty
IS NOT NULL: is not empty
product:
'=': is
'!=': is not
IS NULL: is empty
IS NOT NULL: is not empty
user:
'=': is
'!=': is not
IS NULL: is empty
IS NOT NULL: is not empty
belongs_to_team: belongs to team
status:
'=': is
'!=': is not
visible_to:
'=': is
'!=': is not
currency:
'=': is
'!=': is not
pipeline:
'=': is
'!=': is not
person:
'=': is
'!=': is not
IS NULL: is empty
IS NOT NULL: is not empty
organization:
'=': is
'!=': is not
IS NULL: is empty
IS NOT NULL: is not empty
deprecated_operators:
NOT LIKE '%$%': does not contain
LIKE '%$': ends with
NOT LIKE '%$': does not end with
relative_dates:
Relative date intervals:
last_quarter: last quarter
this_quarter: this quarter
last_month: last month
this_month: this month
last_week: last week
this_week: this week
next_week: next week
next_month: next month
Relative dates:
6_months_ago: 6 months ago
5_months_ago: 5 months ago
4_months_ago: 4 months ago
3_months_ago: 3 months ago
2_months_ago: 2 months ago
1_months_ago: 1 month ago
3_weeks_ago: 3 weeks ago
2_weeks_ago: 2 weeks ago
1_week_ago: 1 week ago
yesterday: yesterday
before_today: before today
today: today
now: now
later_or_today: today or later
before_tomorrow: before tomorrow
tomorrow: tomorrow
later_or_tomorrow: tomorrow or later
in_1_week: in 1 week
in_2_weeks: in 2 weeks
in_3_weeks: in 3 weeks
in_1_month: in 1 month
in_2_months: in 2 months
in_3_months: in 3 months
in_4_months: in 4 months
in_5_months: in 5 months
in_6_months: in 6 months
Deal specific:
rotten_time: Rotten time
address_field_components:
subpremise: Apartment/suite no
street_number: House number
route: Street/road name
sublocality: District/sublocality
locality: City/town/village/locality
admin_area_level_1: State/county
admin_area_level_2: Region
country: Country
postal_code: ZIP/Postal code
formatted_address: Full/combined address
'/filters/{id}':
delete:
summary: Delete a filter
description: Marks a filter as deleted.
x-token-cost: 6
operationId: deleteFilter
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the filter
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteFilterResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deleted filter
example:
success: true
data:
id: 1
get:
summary: Get one filter
description: Returns data about a specific filter. Note that this also returns the condition lines of the filter.
x-token-cost: 2
operationId: getFilter
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'activities:read'
- 'activities:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the filter
required: true
schema:
type: integer
- in: query
name: include_field_code
required: false
schema:
type: boolean
description: 'If set to `true`, each condition in the response includes a `field_code` field identifying the field by its code name'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFiltersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
description: The filter object including conditions
type: object
properties:
id:
type: integer
description: The ID of the filter
name:
type: string
description: The name of the filter
filter_code:
type: string
nullable: true
description: The system code of the filter
is_editable:
type: boolean
description: Whether the filter can be edited by the requesting user
active_flag:
type: boolean
description: The active flag of the filter
type:
type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
temporary_flag:
type: boolean
nullable: true
description: Whether the filter is temporary
user_id:
type: integer
description: The owner of the filter
add_time:
type: string
description: The date and time when the filter was added
update_time:
type: string
nullable: true
description: The date and time when the filter was updated
visible_to:
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: The visibility group ID of who can see the filter
last_used_time:
type: string
nullable: true
description: The date and time when the filter was last used
custom_view_id:
type: integer
nullable: true
description: The custom view ID linked to the filter
conditions:
type: object
description: The conditions object of a filter
properties:
glue:
type: string
enum:
- and
description: The top-level glue is always "and"
conditions:
type: array
description: The condition groups
items:
type: object
description: A group of conditions joined by a logical operator
properties:
glue:
type: string
enum:
- and
- or
description: The logical operator joining conditions within this group
conditions:
type: array
description: The individual conditions in this group
items:
type: object
description: A single filter condition
properties:
object:
type: string
description: 'The type of entity the condition applies to (e.g. "deal", "person")'
field_id:
type: string
description: The ID of the field
operator:
type: string
description: 'The operator used in the condition (e.g. "=", "IS NOT NULL")'
value:
type: string
nullable: true
description: The value of the condition
extra_value:
type: string
nullable: true
description: An extra value for conditions that require two values
json_value_flag:
type: boolean
description: Whether the value is JSON-encoded
field_code:
type: string
nullable: true
description: The code name of the field. Present when `include_field_code=true` is passed as a query parameter; `null` if the field code cannot be resolved
example:
success: true
data:
id: 1
name: All open deals
filter_code: null
is_editable: true
active_flag: true
type: deals
temporary_flag: null
user_id: 927097
add_time: '2019-10-15 11:01:53'
update_time: '2019-10-15 11:01:53'
visible_to: '7'
last_used_time: null
custom_view_id: null
conditions:
glue: and
conditions:
- glue: and
conditions:
- object: deal
field_id: '123'
operator: IS NOT NULL
extra_value: null
value: null
json_value_flag: false
field_code: status
- glue: or
conditions: []
put:
summary: Update filter
description: Updates an existing filter.
x-token-cost: 10
operationId: updateFilter
tags:
- Filters
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'activities:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the filter
required: true
schema:
type: integer
- in: query
name: include_field_code
required: false
schema:
type: boolean
description: 'If set to `true`, each condition in the response includes a `field_code` field identifying the field by its code name'
requestBody:
content:
application/json:
schema:
title: updateFilterRequest
type: object
required:
- conditions
properties:
name:
type: string
description: The name of the filter
conditions:
type: object
description: 'The conditions of the filter as a JSON object. Please note that a maximum of 16 conditions is allowed per filter and `date` values must be supplied in the `YYYY-MM-DD` format. It requires a minimum structure as follows: `{"glue":"and","conditions":[{"glue":"and","conditions": [CONDITION_OBJECTS]},{"glue":"or","conditions":[CONDITION_OBJECTS]}]}`. Replace `CONDITION_OBJECTS` with JSON objects of the following structure: `{"object":"","field_id":"", "operator":"","value":"", "extra_value":""}` or leave the array empty. Depending on the object type you should use another API endpoint to get `field_id`. There are five types of objects you can choose from: `"person"`, `"deal"`, `"organization"`, `"product"`, `"activity"` and you can use these types of operators depending on what type of a field you have: `"IS NOT NULL"`, `"IS NULL"`, `"<="`, `">="`, `"<"`, `">"`, `"!="`, `"="`, `"LIKE ''$%''"`, `"LIKE ''%$%''"`, `"NOT LIKE ''$%''"`. To get a better understanding of how filters work try creating them directly from the Pipedrive application.'
responses:
'200':
description: Success
content:
application/json:
schema:
title: AddFiltersResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: Filter
properties:
id:
type: integer
description: The ID of the filter
name:
type: string
description: The name of the filter
filter_code:
type: string
nullable: true
description: The system code of the filter
is_editable:
type: boolean
description: Whether the filter can be edited by the requesting user
active_flag:
type: boolean
description: The activity flag of the filter
type:
type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
temporary_flag:
type: boolean
nullable: true
description: Whether the filter is temporary
user_id:
type: integer
description: The user ID of the filter owner
add_time:
type: string
description: The date and time when the filter was added
update_time:
type: string
nullable: true
description: The date and time when the filter was last updated
visible_to:
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: The visibility group ID of the filter
last_used_time:
type: string
nullable: true
description: The date and time when the filter was last used
custom_view_id:
type: integer
nullable: true
description: The custom view ID linked to the filter
conditions:
type: object
description: The conditions object of a filter
properties:
glue:
type: string
enum:
- and
description: The top-level glue is always "and"
conditions:
type: array
description: The condition groups
items:
type: object
description: A group of conditions joined by a logical operator
properties:
glue:
type: string
enum:
- and
- or
description: The logical operator joining conditions within this group
conditions:
type: array
description: The individual conditions in this group
items:
type: object
description: A single filter condition
properties:
object:
type: string
description: 'The type of entity the condition applies to (e.g. "deal", "person")'
field_id:
type: string
description: The ID of the field
operator:
type: string
description: 'The operator used in the condition (e.g. "=", "IS NOT NULL")'
value:
type: string
nullable: true
description: The value of the condition
extra_value:
type: string
nullable: true
description: An extra value for conditions that require two values
json_value_flag:
type: boolean
description: Whether the value is JSON-encoded
field_code:
type: string
nullable: true
description: The code name of the field. Present when `include_field_code=true` is passed as a query parameter; `null` if the field code cannot be resolved
example:
success: true
data:
id: 1
name: Deal title is 'my title'
filter_code: null
is_editable: true
active_flag: true
type: deals
temporary_flag: false
user_id: 1
add_time: '2018-01-27 08:49:26'
update_time: '2018-01-27 08:49:26'
visible_to: '1'
last_used_time: null
custom_view_id: null
conditions:
glue: and
conditions:
- glue: and
conditions:
- object: deal
field_id: '123141'
operator: '='
value: my title
extra_value: null
json_value_flag: false
field_code: title
- glue: or
conditions: []
/goals:
post:
summary: Add a new goal
description: 'Adds a new goal. Along with adding a new goal, a report is created to track the progress of your goal.'
x-token-cost: 10
operationId: addGoal
tags:
- Goals
security:
- api_key: []
- oauth2:
- 'goals:full'
requestBody:
content:
application/json:
schema:
title: addGoalRequest
type: object
required:
- type
- assignee
- expected_outcome
- duration
- interval
properties:
title:
type: string
description: The title of the goal
assignee:
type: object
description: 'Who this goal is assigned to. It requires the following JSON structure: `{ "id": "1", "type": "person" }`. `type` can be either `person`, `company` or `team`. ID of the assignee person, company or team.'
type:
type: object
description: 'The type of the goal. It requires the following JSON structure: `{ "name": "deals_started", "params": { "pipeline_id": [1, 2], "activity_type_id": [9] } }`. Type can be one of: `deals_won`, `deals_progressed`, `activities_completed`, `activities_added`, `deals_started` or `revenue_forecast`. `params` can include `pipeline_id`, `stage_id` or `activity_type_id`. `stage_id` is related to only `deals_progressed` type of goals and `activity_type_id` to `activities_completed` or `activities_added` types of goals. The `pipeline_id` and `activity_type_id` need to be given as an array of integers. To track the goal in all pipelines, set `pipeline_id` as `null` and similarly, to track the goal for all activities, set `activity_type_id` as `null`.”'
expected_outcome:
type: object
description: 'The expected outcome of the goal. Expected outcome can be tracked either by `quantity` or by `sum`. It requires the following JSON structure: `{ "target": "50", "tracking_metric": "quantity" }` or `{ "target": "50", "tracking_metric": "sum", "currency_id": 1 }`. `currency_id` should only be added to `sum` type of goals.'
duration:
type: object
description: 'The date when the goal starts and ends. It requires the following JSON structure: `{ "start": "2019-01-01", "end": "2022-12-31" }`. Date in format of YYYY-MM-DD. "end" can be set to `null` for an infinite, open-ended goal.'
interval:
type: string
enum:
- weekly
- monthly
- quarterly
- yearly
description: The interval of the goal
responses:
'200':
description: Successful response containing payload in the `data.goal` object
content:
application/json:
schema:
title: UpsertGoalResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
properties:
goal:
type: object
title: Goal
properties:
id:
type: string
description: The ID of the goal
owner_id:
type: integer
description: The ID of the creator of the goal
title:
type: string
description: The title of the goal
type:
type: object
description: The type of the goal
properties:
name:
type: string
description: The name of the goal type
params:
type: object
description: The parameters that accompany the goal type
properties:
pipeline_id:
type: array
description: The IDs of pipelines of the goal
items:
type: integer
activity_type_id:
type: array
description: The IDs of activity types of the goal
items:
type: integer
assignee:
type: object
description: Who the goal is assigned to
properties:
id:
type: integer
description: The ID of the goal assignee
type:
type: string
description: The type of the assignee
interval:
type: string
description: The interval of the goal
duration:
type: object
description: The duration of the goal
properties:
start:
type: string
description: The start date of the goal
end:
type: string
description: The end date of the goal
expected_outcome:
type: object
description: The expected outcome of the goal
properties:
target:
type: integer
description: The numeric target of the goal
tracking_metric:
type: string
description: The tracking metric of the goal
is_active:
type: boolean
description: Whether the goal is currently active or not
report_ids:
type: array
description: The IDs of the reports that belong to the goal
items:
type: string
example:
success: true
statusCode: 20000
statusText: OK
service: statistics-goals-api
data:
goal:
id: 5665cef556ddff22606fc8f6c0004807
owner_id: 987654
title: Some example goal
type:
name: Deals started
params:
pipeline_id:
- 5
- 2
activity_type_id:
- 9
assignee:
type: company
id: 123456
interval: weekly
duration:
start: '2019-11-01'
end: '2020-10-30'
expected_outcome:
target: 100
tracking_metric: quantity
is_active: false
report_ids:
- f37bd66a2ab64d28ff6a9b6d2289813a
/goals/find:
get:
summary: Find goals
description: 'Returns data about goals based on criteria. For searching, append `{searchField}={searchValue}` to the URL, where `searchField` can be any one of the lowest-level fields in dot-notation (e.g. `type.params.pipeline_id`; `title`). `searchValue` should be the value you are looking for on that field. Additionally, `is_active=` can be provided to search for only active/inactive goals. When providing `period.start`, `period.end` must also be provided and vice versa.'
x-token-cost: 20
operationId: getGoals
tags:
- Goals
security:
- api_key: []
- oauth2:
- 'goals:read'
- 'goals:full'
parameters:
- in: query
name: type.name
schema:
type: string
enum:
- deals_won
- deals_progressed
- activities_completed
- activities_added
- deals_started
description: 'The type of the goal. If provided, everyone''s goals will be returned.'
- in: query
name: title
schema:
type: string
description: The title of the goal
- in: query
name: is_active
schema:
type: boolean
default: true
description: Whether the goal is active or not
- in: query
name: assignee.id
schema:
type: integer
description: 'The ID of the user who''s goal to fetch. When omitted, only your goals will be returned.'
- in: query
name: assignee.type
schema:
type: string
enum:
- person
- company
- team
description: 'The type of the goal''s assignee. If provided, everyone''s goals will be returned.'
- in: query
name: expected_outcome.target
schema:
type: number
description: 'The numeric value of the outcome. If provided, everyone''s goals will be returned.'
- in: query
name: expected_outcome.tracking_metric
schema:
type: string
enum:
- quantity
- sum
description: 'The tracking metric of the expected outcome of the goal. If provided, everyone''s goals will be returned.'
- in: query
name: expected_outcome.currency_id
schema:
type: integer
description: 'The numeric ID of the goal''s currency. Only applicable to goals with `expected_outcome.tracking_metric` with value `sum`. If provided, everyone''s goals will be returned.'
- in: query
name: type.params.pipeline_id
schema:
type: array
items:
type: integer
description: 'An array of pipeline IDs or `null` for all pipelines. If provided, everyone''s goals will be returned.'
- in: query
name: type.params.stage_id
schema:
type: integer
description: 'The ID of the stage. Applicable to only `deals_progressed` type of goals. If provided, everyone''s goals will be returned.'
- in: query
name: type.params.activity_type_id
schema:
type: array
items:
type: integer
description: 'An array of IDs or `null` for all activity types. Only applicable for `activities_completed` and/or `activities_added` types of goals. If provided, everyone''s goals will be returned.'
- in: query
name: period.start
schema:
type: string
format: date
description: 'The start date of the period for which to find goals. Date in format of YYYY-MM-DD. When `period.start` is provided, `period.end` must be provided too.'
- in: query
name: period.end
schema:
type: string
format: date
description: The end date of the period for which to find goals. Date in format of YYYY-MM-DD.
responses:
'200':
description: Successful response containing payload in the `data.goal` object
content:
application/json:
schema:
title: GetGoalsResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
properties:
goals:
type: array
items:
type: object
title: Goal
properties:
id:
type: string
description: The ID of the goal
owner_id:
type: integer
description: The ID of the creator of the goal
title:
type: string
description: The title of the goal
type:
type: object
description: The type of the goal
properties:
name:
type: string
description: The name of the goal type
params:
type: object
description: The parameters that accompany the goal type
properties:
pipeline_id:
type: array
description: The IDs of pipelines of the goal
items:
type: integer
activity_type_id:
type: array
description: The IDs of activity types of the goal
items:
type: integer
assignee:
type: object
description: Who the goal is assigned to
properties:
id:
type: integer
description: The ID of the goal assignee
type:
type: string
description: The type of the assignee
interval:
type: string
description: The interval of the goal
duration:
type: object
description: The duration of the goal
properties:
start:
type: string
description: The start date of the goal
end:
type: string
description: The end date of the goal
expected_outcome:
type: object
description: The expected outcome of the goal
properties:
target:
type: integer
description: The numeric target of the goal
tracking_metric:
type: string
description: The tracking metric of the goal
is_active:
type: boolean
description: Whether the goal is currently active or not
report_ids:
type: array
description: The IDs of the reports that belong to the goal
items:
type: string
example:
success: true
statusCode: 20000
statusText: OK
service: statistics-goals-api
data:
goals:
- id: 5665cef556ddff22606fc8f6c0004807
owner_id: 987654
title: Some example goal
type:
name: Deals started
params:
pipeline_id:
- 5
- 2
activity_type_id:
- 9
assignee:
type: company
id: 123456
interval: weekly
duration:
start: '2019-11-01'
end: '2020-10-30'
expected_outcome:
target: 100
tracking_metric: quantity
is_active: false
report_ids:
- f37bd66a2ab64d28ff6a9b6d2289813a
'/goals/{id}':
put:
summary: Update existing goal
description: Updates an existing goal.
x-token-cost: 10
operationId: updateGoal
tags:
- Goals
security:
- api_key: []
- oauth2:
- 'goals:full'
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The ID of the goal
requestBody:
content:
application/json:
schema:
title: basicGoalRequest
type: object
properties:
title:
type: string
description: The title of the goal
assignee:
type: object
description: 'Who this goal is assigned to. It requires the following JSON structure: `{ "id": "1", "type": "person" }`. `type` can be either `person`, `company` or `team`. ID of the assignee person, company or team.'
type:
type: object
description: 'The type of the goal. It requires the following JSON structure: `{ "name": "deals_started", "params": { "pipeline_id": [1, 2], "activity_type_id": [9] } }`. Type can be one of: `deals_won`, `deals_progressed`, `activities_completed`, `activities_added`, `deals_started` or `revenue_forecast`. `params` can include `pipeline_id`, `stage_id` or `activity_type_id`. `stage_id` is related to only `deals_progressed` type of goals and `activity_type_id` to `activities_completed` or `activities_added` types of goals. The `pipeline_id` and `activity_type_id` need to be given as an array of integers. To track the goal in all pipelines, set `pipeline_id` as `null` and similarly, to track the goal for all activities, set `activity_type_id` as `null`.”'
expected_outcome:
type: object
description: 'The expected outcome of the goal. Expected outcome can be tracked either by `quantity` or by `sum`. It requires the following JSON structure: `{ "target": "50", "tracking_metric": "quantity" }` or `{ "target": "50", "tracking_metric": "sum", "currency_id": 1 }`. `currency_id` should only be added to `sum` type of goals.'
duration:
type: object
description: 'The date when the goal starts and ends. It requires the following JSON structure: `{ "start": "2019-01-01", "end": "2022-12-31" }`. Date in format of YYYY-MM-DD. "end" can be set to `null` for an infinite, open-ended goal.'
interval:
type: string
enum:
- weekly
- monthly
- quarterly
- yearly
description: The interval of the goal
responses:
'200':
description: Successful response containing payload in the `data.goal` object
content:
application/json:
schema:
title: UpsertGoalResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
properties:
goal:
type: object
title: Goal
properties:
id:
type: string
description: The ID of the goal
owner_id:
type: integer
description: The ID of the creator of the goal
title:
type: string
description: The title of the goal
type:
type: object
description: The type of the goal
properties:
name:
type: string
description: The name of the goal type
params:
type: object
description: The parameters that accompany the goal type
properties:
pipeline_id:
type: array
description: The IDs of pipelines of the goal
items:
type: integer
activity_type_id:
type: array
description: The IDs of activity types of the goal
items:
type: integer
assignee:
type: object
description: Who the goal is assigned to
properties:
id:
type: integer
description: The ID of the goal assignee
type:
type: string
description: The type of the assignee
interval:
type: string
description: The interval of the goal
duration:
type: object
description: The duration of the goal
properties:
start:
type: string
description: The start date of the goal
end:
type: string
description: The end date of the goal
expected_outcome:
type: object
description: The expected outcome of the goal
properties:
target:
type: integer
description: The numeric target of the goal
tracking_metric:
type: string
description: The tracking metric of the goal
is_active:
type: boolean
description: Whether the goal is currently active or not
report_ids:
type: array
description: The IDs of the reports that belong to the goal
items:
type: string
example:
success: true
statusCode: 20000
statusText: OK
service: statistics-goals-api
data:
goal:
id: 5665cef556ddff22606fc8f6c0004807
owner_id: 987654
title: Some example goal
type:
name: Deals started
params:
pipeline_id:
- 5
- 2
activity_type_id:
- 9
assignee:
type: company
id: 123456
interval: weekly
duration:
start: '2019-11-01'
end: '2020-10-30'
expected_outcome:
target: 100
tracking_metric: quantity
is_active: false
report_ids:
- f37bd66a2ab64d28ff6a9b6d2289813a
delete:
summary: Delete existing goal
description: Marks a goal as deleted.
x-token-cost: 6
operationId: deleteGoal
tags:
- Goals
security:
- api_key: []
- oauth2:
- 'goals:full'
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The ID of the goal
responses:
'200':
description: Successful response with id 'success' field only
content:
application/json:
schema:
title: DeleteGoalResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
example:
success: true
statusCode: 20000
statusText: OK
service: statistics-goals-api
'/goals/{id}/results':
get:
summary: Get result of a goal
description: Gets the progress of a goal for the specified period.
x-token-cost: 20
operationId: getGoalResult
tags:
- Goals
security:
- api_key: []
- oauth2:
- 'goals:read'
- 'goals:full'
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The ID of the goal that the results are looked for
- in: query
name: period.start
required: true
schema:
type: string
format: date
description: |
The start date of the period for which to find the goal's progress. Format: YYYY-MM-DD. This date must be the same or after the goal duration start date.
- in: query
name: period.end
required: true
schema:
type: string
format: date
description: |
The end date of the period for which to find the goal's progress. Format: YYYY-MM-DD. This date must be the same or before the goal duration end date.
responses:
'200':
description: Successful response containing payload in the `data.goal` object
content:
application/json:
schema:
title: GetGoalResultResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
properties:
progress:
type: integer
description: The numeric progress of the goal
goal:
type: object
title: Goal
properties:
id:
type: string
description: The ID of the goal
owner_id:
type: integer
description: The ID of the creator of the goal
title:
type: string
description: The title of the goal
type:
type: object
description: The type of the goal
properties:
name:
type: string
description: The name of the goal type
params:
type: object
description: The parameters that accompany the goal type
properties:
pipeline_id:
type: array
description: The IDs of pipelines of the goal
items:
type: integer
activity_type_id:
type: array
description: The IDs of activity types of the goal
items:
type: integer
assignee:
type: object
description: Who the goal is assigned to
properties:
id:
type: integer
description: The ID of the goal assignee
type:
type: string
description: The type of the assignee
interval:
type: string
description: The interval of the goal
duration:
type: object
description: The duration of the goal
properties:
start:
type: string
description: The start date of the goal
end:
type: string
description: The end date of the goal
expected_outcome:
type: object
description: The expected outcome of the goal
properties:
target:
type: integer
description: The numeric target of the goal
tracking_metric:
type: string
description: The tracking metric of the goal
is_active:
type: boolean
description: Whether the goal is currently active or not
report_ids:
type: array
description: The IDs of the reports that belong to the goal
items:
type: string
example:
success: true
statusCode: 20000
statusText: OK
service: statistics-goals-api
data:
goal:
id: 5665cef556ddff22606fc8f6c0004807
owner_id: 987654
title: Some example goal
type:
name: Deals started
params:
pipeline_id:
- 5
- 2
activity_type_id:
- 9
assignee:
type: company
id: 123456
interval: weekly
duration:
start: '2019-11-01'
end: '2020-10-30'
expected_outcome:
target: 100
tracking_metric: quantity
is_active: false
report_ids:
- f37bd66a2ab64d28ff6a9b6d2289813a
progress: 3
/leads:
get:
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
tags:
- Leads
summary: Get all leads
description: |
Returns multiple not archived leads. Leads are sorted by the time they were created, from oldest to newest. Pagination can be controlled using `limit` and `start` query parameters. If a lead contains custom fields, the fields' values will be included in the response in the same format as with the `Deals` endpoints. If a custom field's value hasn't been set for the lead, it won't appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields' structure from deals.
x-token-cost: 20
operationId: getLeads
parameters:
- in: query
name: limit
description: 'For pagination, the limit of entries to be returned. If not provided, 100 items will be returned.'
schema:
type: integer
example: 100
- in: query
name: start
description: 'For pagination, the position that represents the first result for the page'
schema:
type: integer
example: 0
- in: query
name: owner_id
description: 'If supplied, only leads matching the given user will be returned. However, `filter_id` takes precedence over `owner_id` when supplied.'
schema:
type: integer
example: 1
- in: query
name: person_id
description: 'If supplied, only leads matching the given person will be returned. However, `filter_id` takes precedence over `person_id` when supplied.'
schema:
type: integer
example: 1
- in: query
name: organization_id
description: 'If supplied, only leads matching the given organization will be returned. However, `filter_id` takes precedence over `organization_id` when supplied.'
schema:
type: integer
example: 1
- in: query
name: filter_id
description: The ID of the filter to use
schema:
type: integer
example: 1
- in: query
name: updated_since
description: 'If set, only leads with an `update_time` later than or equal to this time are returned. In ISO 8601 format, e.g. 2025-01-01T10:20:00Z.'
schema:
type: string
example: '2025-01-01T10:20:00Z'
- in: query
name: sort
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).'
schema:
type: string
enum:
- id
- title
- owner_id
- creator_id
- was_seen
- expected_close_date
- next_activity_id
- add_time
- update_time
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: GetLeadsResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
title: Lead
properties:
id:
type: string
format: uuid
description: The unique ID of the lead in the UUID format
title:
type: string
description: The title of the lead
owner_id:
type: integer
description: The ID of the user who owns the lead
creator_id:
type: integer
description: The ID of the user who created the lead
label_ids:
type: array
description: The IDs of the lead labels which are associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
nullable: true
description: The ID of a person which this lead is linked to
organization_id:
type: integer
nullable: true
description: The ID of an organization which this lead is linked to
source_name:
type: string
description: |
Defines where the lead comes from. Will be `API` if the lead was created through the Public API and will be `Manually created` if the lead was created manually through the UI.
origin:
type: string
description: The way this Lead was created. `origin` field is set by Pipedrive when Lead is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the lead - e.g. Which API integration created this Lead.
channel:
type: integer
nullable: true
description: 'The ID of your Marketing channel this Lead 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_deal_id:
type: integer
nullable: true
description: The ID of the deal if the lead was converted from a deal.
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
nullable: true
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the lead
add_time:
type: string
description: 'The date and time of when the lead was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.| Value | Description |
|---|
| `1` | Owner & followers (private) |
| `3` | Entire company (shared) |
'
cc_email:
type: string
description: The BCC email of the lead
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: adf21080-0e10-11eb-879b-05d71fb426ec
title: Jane Doe Lead
owner_id: 1
creator_id: 1
label_ids:
- f08b42a0-4e75-11ea-9643-03698ef1cfd6
- f08b42a1-4e75-11ea-9643-03698ef1cfd6
person_id: 1092
organization_id: null
source_name: API
origin: API
origin_id: null
channel: 52
channel_id: Jun23 Billboards
is_archived: false
was_seen: false
value:
amount: 999
currency: USD
expected_close_date: null
next_activity_id: 1
add_time: '2020-10-14T11:30:36.551Z'
update_time: '2020-10-14T11:30:36.551Z'
visible_to: '3'
cc_email: company+1+leadntPaYKA5QRxXkh6WMNHiGh@dev.pipedrivemail.com
post:
security:
- api_key: []
- oauth2:
- 'leads:full'
tags:
- Leads
summary: Add a lead
description: 'Creates a lead. A lead always has to be linked to a person or an organization or both. All leads created through the Pipedrive API will have a lead source and origin set to `API`. Here''s the tutorial for adding a lead. If a lead contains custom fields, the fields'' values will be included in the response in the same format as with the `Deals` endpoints. If a custom field''s value hasn''t been set for the lead, it won''t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields'' structure from deals. See an example given in the updating custom fields'' values tutorial.'
x-token-cost: 10
operationId: addLead
requestBody:
content:
application/json:
schema:
title: addLeadRequest
type: object
required:
- title
properties:
title:
type: string
description: The name of the lead
owner_id:
type: integer
description: 'The ID of the user which will be the owner of the created lead. If not provided, the user making the request will be used.'
label_ids:
type: array
description: The IDs of the lead labels which will be associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
description: 'The ID of a person which this lead will be linked to. If the person does not exist yet, it needs to be created first. This property is required unless `organization_id` is specified.'
organization_id:
type: integer
description: 'The ID of an organization which this lead will be linked to. If the organization does not exist yet, it needs to be created first. This property is required unless `person_id` is specified.'
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user. Read more about visibility groups here.Light / Growth and Professional plans
| Value | Description |
|---|
| `1` | Owner & followers |
| `3` | Entire company |
Premium / Ultimate plan
| Value | Description |
|---|
| `1` | Owner only |
| `3` | Owner''s visibility group |
| `5` | Owner''s visibility group and sub-groups |
| `7` | Entire company |
'
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
origin_id:
type: string
nullable: true
description: 'The optional ID to further distinguish the origin of the lead - e.g. Which API integration created this lead. If omitted, `origin_id` will be set to null.'
channel:
type: integer
nullable: true
description: 'The ID of Marketing channel this lead was created from. Provided value must be one of the channels configured for your company. You can fetch allowed values with GET /v1/dealFields. If omitted, channel will be set to null.'
channel_id:
type: string
nullable: true
description: 'The optional ID to further distinguish the Marketing channel. If omitted, `channel_id` will be set to null.'
responses:
'201':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: GetLeadResponse
type: object
properties:
success:
type: boolean
data:
type: object
title: Lead
properties:
id:
type: string
format: uuid
description: The unique ID of the lead in the UUID format
title:
type: string
description: The title of the lead
owner_id:
type: integer
description: The ID of the user who owns the lead
creator_id:
type: integer
description: The ID of the user who created the lead
label_ids:
type: array
description: The IDs of the lead labels which are associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
nullable: true
description: The ID of a person which this lead is linked to
organization_id:
type: integer
nullable: true
description: The ID of an organization which this lead is linked to
source_name:
type: string
description: |
Defines where the lead comes from. Will be `API` if the lead was created through the Public API and will be `Manually created` if the lead was created manually through the UI.
origin:
type: string
description: The way this Lead was created. `origin` field is set by Pipedrive when Lead is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the lead - e.g. Which API integration created this Lead.
channel:
type: integer
nullable: true
description: 'The ID of your Marketing channel this Lead 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_deal_id:
type: integer
nullable: true
description: The ID of the deal if the lead was converted from a deal.
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
nullable: true
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the lead
add_time:
type: string
description: 'The date and time of when the lead was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.| Value | Description |
|---|
| `1` | Owner & followers (private) |
| `3` | Entire company (shared) |
'
cc_email:
type: string
description: The BCC email of the lead
example:
success: true
data:
id: adf21080-0e10-11eb-879b-05d71fb426ec
title: Jane Doe Lead
owner_id: 1
creator_id: 1
label_ids:
- f08b42a0-4e75-11ea-9643-03698ef1cfd6
- f08b42a1-4e75-11ea-9643-03698ef1cfd6
person_id: 1092
organization_id: null
source_name: API
origin: API
origin_id: null
channel: 52
channel_id: Jun23 Billboards
is_archived: false
was_seen: false
value:
amount: 999
currency: USD
expected_close_date: null
next_activity_id: 1
add_time: '2020-10-14T11:30:36.551Z'
update_time: '2020-10-14T11:30:36.551Z'
visible_to: '3'
cc_email: company+1+leadntPaYKA5QRxXkh6WMNHiGh@dev.pipedrivemail.com
/leads/archived:
get:
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
tags:
- Leads
summary: Get all archived leads
description: |
Returns multiple archived leads. Leads are sorted by the time they were created, from oldest to newest. Pagination can be controlled using `limit` and `start` query parameters. If a lead contains custom fields, the fields' values will be included in the response in the same format as with the `Deals` endpoints. If a custom field's value hasn't been set for the lead, it won't appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields' structure from deals.
x-token-cost: 40
operationId: getArchivedLeads
parameters:
- in: query
name: limit
description: 'For pagination, the limit of entries to be returned. If not provided, 100 items will be returned.'
schema:
type: integer
example: 100
- in: query
name: start
description: 'For pagination, the position that represents the first result for the page'
schema:
type: integer
example: 0
- in: query
name: owner_id
description: 'If supplied, only leads matching the given user will be returned. However, `filter_id` takes precedence over `owner_id` when supplied.'
schema:
type: integer
example: 1
- in: query
name: person_id
description: 'If supplied, only leads matching the given person will be returned. However, `filter_id` takes precedence over `person_id` when supplied.'
schema:
type: integer
example: 1
- in: query
name: organization_id
description: 'If supplied, only leads matching the given organization will be returned. However, `filter_id` takes precedence over `organization_id` when supplied.'
schema:
type: integer
example: 1
- in: query
name: filter_id
description: The ID of the filter to use
schema:
type: integer
example: 1
- in: query
name: sort
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).'
schema:
type: string
enum:
- id
- title
- owner_id
- creator_id
- was_seen
- expected_close_date
- next_activity_id
- add_time
- update_time
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: GetLeadsResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
title: Lead
properties:
id:
type: string
format: uuid
description: The unique ID of the lead in the UUID format
title:
type: string
description: The title of the lead
owner_id:
type: integer
description: The ID of the user who owns the lead
creator_id:
type: integer
description: The ID of the user who created the lead
label_ids:
type: array
description: The IDs of the lead labels which are associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
nullable: true
description: The ID of a person which this lead is linked to
organization_id:
type: integer
nullable: true
description: The ID of an organization which this lead is linked to
source_name:
type: string
description: |
Defines where the lead comes from. Will be `API` if the lead was created through the Public API and will be `Manually created` if the lead was created manually through the UI.
origin:
type: string
description: The way this Lead was created. `origin` field is set by Pipedrive when Lead is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the lead - e.g. Which API integration created this Lead.
channel:
type: integer
nullable: true
description: 'The ID of your Marketing channel this Lead 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_deal_id:
type: integer
nullable: true
description: The ID of the deal if the lead was converted from a deal.
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
nullable: true
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the lead
add_time:
type: string
description: 'The date and time of when the lead was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.| Value | Description |
|---|
| `1` | Owner & followers (private) |
| `3` | Entire company (shared) |
'
cc_email:
type: string
description: The BCC email of the lead
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: adf21080-0e10-11eb-879b-05d71fb426ec
title: Jane Doe Lead
owner_id: 1
creator_id: 1
label_ids:
- f08b42a0-4e75-11ea-9643-03698ef1cfd6
- f08b42a1-4e75-11ea-9643-03698ef1cfd6
person_id: 1092
organization_id: null
source_name: API
origin: API
origin_id: null
channel: 52
channel_id: Jun23 Billboards
is_archived: true
was_seen: false
value:
amount: 999
currency: USD
expected_close_date: null
next_activity_id: 1
add_time: '2020-10-14T11:30:36.551Z'
update_time: '2020-10-14T11:30:36.551Z'
visible_to: '3'
cc_email: company+1+leadntPaYKA5QRxXkh6WMNHiGh@dev.pipedrivemail.com
'/leads/{id}':
get:
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
tags:
- Leads
summary: Get one lead
description: 'Returns details of a specific lead. If a lead contains custom fields, the fields'' values will be included in the response in the same format as with the `Deals` endpoints. If a custom field''s value hasn''t been set for the lead, it won''t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields’ structure from deals.'
x-token-cost: 2
operationId: getLead
parameters:
- in: path
name: id
description: The ID of the lead
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: GetLeadResponse
type: object
properties:
success:
type: boolean
data:
type: object
title: Lead
properties:
id:
type: string
format: uuid
description: The unique ID of the lead in the UUID format
title:
type: string
description: The title of the lead
owner_id:
type: integer
description: The ID of the user who owns the lead
creator_id:
type: integer
description: The ID of the user who created the lead
label_ids:
type: array
description: The IDs of the lead labels which are associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
nullable: true
description: The ID of a person which this lead is linked to
organization_id:
type: integer
nullable: true
description: The ID of an organization which this lead is linked to
source_name:
type: string
description: |
Defines where the lead comes from. Will be `API` if the lead was created through the Public API and will be `Manually created` if the lead was created manually through the UI.
origin:
type: string
description: The way this Lead was created. `origin` field is set by Pipedrive when Lead is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the lead - e.g. Which API integration created this Lead.
channel:
type: integer
nullable: true
description: 'The ID of your Marketing channel this Lead 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_deal_id:
type: integer
nullable: true
description: The ID of the deal if the lead was converted from a deal.
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
nullable: true
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the lead
add_time:
type: string
description: 'The date and time of when the lead was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.| Value | Description |
|---|
| `1` | Owner & followers (private) |
| `3` | Entire company (shared) |
'
cc_email:
type: string
description: The BCC email of the lead
example:
success: true
data:
id: adf21080-0e10-11eb-879b-05d71fb426ec
title: Jane Doe Lead
owner_id: 1
creator_id: 1
label_ids:
- f08b42a0-4e75-11ea-9643-03698ef1cfd6
- f08b42a1-4e75-11ea-9643-03698ef1cfd6
person_id: 1092
organization_id: null
source_name: API
origin: API
origin_id: null
channel: 52
channel_id: Jun23 Billboards
is_archived: false
was_seen: false
value:
amount: 999
currency: USD
expected_close_date: null
next_activity_id: 1
add_time: '2020-10-14T11:30:36.551Z'
update_time: '2020-10-14T11:30:36.551Z'
visible_to: '3'
cc_email: company+1+leadntPaYKA5QRxXkh6WMNHiGh@dev.pipedrivemail.com
'404':
description: A resource describing an error
content:
application/json:
schema:
type: object
title: LeadNotFoundResponse
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: requested lead not found
error_info: Object was not found.
data: null
additional_data: null
patch:
security:
- api_key: []
- oauth2:
- 'leads:full'
tags:
- Leads
summary: Update a lead
description: 'Updates one or more properties of a lead. Only properties included in the request will be updated. Send `null` to unset a property (applicable for example for `value`, `person_id` or `organization_id`). If a lead contains custom fields, the fields'' values will be included in the response in the same format as with the `Deals` endpoints. If a custom field''s value hasn''t been set for the lead, it won''t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields’ structure from deals. See an example given in the updating custom fields’ values tutorial.'
x-token-cost: 10
operationId: updateLead
parameters:
- in: path
name: id
description: The ID of the lead
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
title: updateLeadRequest
type: object
properties:
title:
type: string
nullable: true
description: The name of the lead
owner_id:
type: integer
description: 'The ID of the user which will be the owner of the created lead. If not provided, the user making the request will be used.'
label_ids:
type: array
description: The IDs of the lead labels which will be associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
nullable: true
description: |
The ID of a person which this lead will be linked to. If the person does not exist yet, it needs to be created first. A lead always has to be linked to a person or organization or both.
organization_id:
type: integer
nullable: true
description: 'The ID of an organization which this lead will be linked to. If the organization does not exist yet, it needs to be created first. A lead always has to be linked to a person or organization or both.'
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
nullable: true
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user. Read more about visibility groups here.Light / Growth and Professional plans
| Value | Description |
|---|
| `1` | Owner & followers |
| `3` | Entire company |
Premium / Ultimate plan
| Value | Description |
|---|
| `1` | Owner only |
| `3` | Owner''s visibility group |
| `5` | Owner''s visibility group and sub-groups |
| `7` | Entire company |
'
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
channel:
type: integer
nullable: true
description: 'The ID of Marketing channel this lead was created from. Provided value must be one of the channels configured for your company which you can fetch with GET /v1/dealFields.'
channel_id:
type: string
nullable: true
description: The optional ID to further distinguish the Marketing channel.
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: GetLeadResponse
type: object
properties:
success:
type: boolean
data:
type: object
title: Lead
properties:
id:
type: string
format: uuid
description: The unique ID of the lead in the UUID format
title:
type: string
description: The title of the lead
owner_id:
type: integer
description: The ID of the user who owns the lead
creator_id:
type: integer
description: The ID of the user who created the lead
label_ids:
type: array
description: The IDs of the lead labels which are associated with the lead
items:
type: string
format: uuid
person_id:
type: integer
nullable: true
description: The ID of a person which this lead is linked to
organization_id:
type: integer
nullable: true
description: The ID of an organization which this lead is linked to
source_name:
type: string
description: |
Defines where the lead comes from. Will be `API` if the lead was created through the Public API and will be `Manually created` if the lead was created manually through the UI.
origin:
type: string
description: The way this Lead was created. `origin` field is set by Pipedrive when Lead is created and cannot be changed.
origin_id:
type: string
nullable: true
description: The optional ID to further distinguish the origin of the lead - e.g. Which API integration created this Lead.
channel:
type: integer
nullable: true
description: 'The ID of your Marketing channel this Lead 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_deal_id:
type: integer
nullable: true
description: The ID of the deal if the lead was converted from a deal.
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
was_seen:
type: boolean
description: A flag indicating whether the lead was seen by someone in the Pipedrive UI
value:
type: object
nullable: true
description: 'The potential value of the lead represented by a JSON object: `{ "amount": 200, "currency": "EUR" }`. Both amount and currency are required.'
required:
- amount
- currency
properties:
amount:
type: number
currency:
type: string
expected_close_date:
type: string
format: date
nullable: true
description: 'The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD.'
next_activity_id:
type: integer
nullable: true
description: The ID of the next activity associated with the lead
add_time:
type: string
description: 'The date and time of when the lead was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
visible_to:
type: string
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the lead. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.| Value | Description |
|---|
| `1` | Owner & followers (private) |
| `3` | Entire company (shared) |
'
cc_email:
type: string
description: The BCC email of the lead
example:
success: true
data:
id: adf21080-0e10-11eb-879b-05d71fb426ec
title: Jane Doe Lead
owner_id: 1
creator_id: 1
label_ids:
- f08b42a0-4e75-11ea-9643-03698ef1cfd6
- f08b42a1-4e75-11ea-9643-03698ef1cfd6
person_id: 1092
organization_id: null
source_name: API
origin: API
origin_id: null
channel: 52
channel_id: Jun23 Billboards
is_archived: false
was_seen: false
value:
amount: 999
currency: USD
expected_close_date: null
next_activity_id: 1
add_time: '2020-10-14T11:30:36.551Z'
update_time: '2020-10-14T11:30:36.551Z'
visible_to: '3'
cc_email: company+1+leadntPaYKA5QRxXkh6WMNHiGh@dev.pipedrivemail.com
'404':
description: A resource describing an error
content:
application/json:
schema:
type: object
title: LeadNotFoundResponse
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: requested lead not found
error_info: Object was not found.
data: null
additional_data: null
delete:
security:
- api_key: []
- oauth2:
- 'leads:full'
tags:
- Leads
summary: Delete a lead
description: Deletes a specific lead.
x-token-cost: 6
operationId: deleteLead
parameters:
- in: path
name: id
description: The ID of the lead
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Successful response with id value only. Used in DELETE calls.
content:
application/json:
schema:
title: GetLeadIdResponse
type: object
properties:
success:
type: boolean
data:
type: object
properties:
id:
type: string
format: uuid
example:
success: true
data:
id: adf21080-0e10-11eb-879b-05d71fb426ec
'404':
description: A resource describing an error
content:
application/json:
schema:
type: object
title: LeadNotFoundResponse
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: requested lead not found
error_info: Object was not found.
data: null
additional_data: null
'/leads/{id}/permittedUsers':
get:
summary: List permitted users
description: Lists the users permitted to access a lead.
x-token-cost: 10
operationId: getLeadUsers
tags:
- Leads
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
parameters:
- in: path
name: id
description: The ID of the lead
required: true
schema:
type: string
responses:
'200':
description: Lists users permitted to access a lead
content:
application/json:
schema:
title: userIds
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: integer
description: The list of user IDs
example:
success: true
data:
- 10100010
- 22302444
- 33511023
/leads/search:
get:
summary: Search leads
description: 'Searches all leads by title, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found leads can be filtered by the person ID and the organization ID.'
x-token-cost: 40
operationId: searchLeads
tags:
- Leads
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads: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.
- 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 leads by the provided person ID. The upper limit of found leads associated with the person is 2000.
- in: query
name: organization_id
schema:
type: integer
description: Will filter leads by the provided organization ID. The upper limit of found leads associated with the organization is 2000.
- in: query
name: include_fields
schema:
type: string
enum:
- lead.was_seen
description: Supports including optional fields in the results which are not provided by default
- in: query
name: start
schema:
type: integer
default: 0
description: Pagination start. Note that the pagination is based on main results and does not include related items when using `search_for_related_items` parameter.
- in: query
name: limit
schema:
type: integer
description: Items shown per page
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetLeadSearchResponse
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 leads
items:
type: object
title: LeadSearchItem
properties:
result_score:
type: number
description: Search result relevancy
item:
type: object
properties:
id:
type: string
description: The ID of the lead
type:
type: string
description: The type of the item
title:
type: string
description: The title of the lead
owner:
type: object
properties:
id:
type: integer
description: The ID of the owner of the lead
person:
type: object
properties:
id:
type: integer
description: The ID of the person the lead is associated with
name:
type: string
description: The name of the person the lead is associated with
organization:
type: object
properties:
id:
type: integer
description: The ID of the organization the lead is associated with
name:
type: string
description: The name of the organization the lead is associated with
phones:
type: array
items:
type: string
emails:
type: array
items:
type: string
custom_fields:
type: array
items:
type: string
description: Custom fields
notes:
type: array
description: An array of notes
items:
type: string
value:
type: integer
description: The value of the lead
currency:
type: string
description: The currency of the lead
visible_to:
type: integer
description: The visibility of the lead
is_archived:
type: boolean
description: A flag indicating whether the lead is archived or not
additional_data:
type: object
properties:
pagination:
description: Pagination details 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: Whether there are more list items in the collection than displayed
next_start:
type: integer
description: Next pagination start
example:
success: true
data:
items:
- result_score: 0.29
item:
id: 39c433f0-8a4c-11ec-8728-09968f0a1ca0
type: lead
title: John Doe lead
owner:
id: 1
person:
id: 1
name: John Doe
organization:
id: 1
name: John company
phones: []
emails:
- john@doe.com
custom_fields: []
notes: []
value: 100
currency: USD
visible_to: 3
is_archived: false
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
/leadFields:
get:
summary: Get all lead fields
description: Returns data about all lead fields.
x-token-cost: 20
operationId: getLeadFields
parameters:
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
tags:
- LeadFields
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
- admin
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- title: FieldsResponse
- type: object
properties:
data:
type: array
items:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
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
key: title
name: Title
order_nr: 2
field_type: varchar
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options: null
mandatory_flag: true
- id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
/leadLabels:
get:
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
tags:
- LeadLabels
summary: Get all lead labels
description: Returns details of all lead labels. This endpoint does not support pagination and all labels are always returned.
x-token-cost: 10
operationId: getLeadLabels
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: GetLeadLabelsResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
title: LeadLabel
type: object
properties:
id:
type: string
format: uuid
description: The unique ID of the lead label
name:
type: string
description: The name of the lead label
color:
type: string
enum:
- blue
- brown
- dark-gray
- gray
- green
- orange
- pink
- purple
- red
- yellow
description: The color of the label. Only a subset of colors can be used.
add_time:
type: string
description: 'The date and time of when the lead label was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead label was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
example:
success: true
data:
- id: f08b42a0-4e75-11ea-9643-03698ef1cfd6
name: Hot
color: red
add_time: '2020-02-13T15:31:44.000Z'
update_time: '2020-02-13T15:31:44.000Z'
- id: f08b42a1-4e75-11ea-9643-03698ef1cfd6
name: Cold
color: blue
add_time: '2020-02-13T15:31:44.000Z'
update_time: '2020-02-13T15:31:44.000Z'
- id: f08b69b0-4e75-11ea-9643-03698ef1cfd6
name: Warm
color: yellow
add_time: '2020-02-13T15:31:44.000Z'
update_time: '2020-02-13T15:31:44.000Z'
post:
security:
- api_key: []
- oauth2:
- 'leads:full'
tags:
- LeadLabels
summary: Add a lead label
description: Creates a lead label.
x-token-cost: 10
operationId: addLeadLabel
requestBody:
content:
application/json:
schema:
title: addLeadLabelRequest
type: object
required:
- name
- color
properties:
name:
type: string
description: The name of the lead label
color:
type: string
enum:
- blue
- brown
- dark-gray
- gray
- green
- orange
- pink
- purple
- red
- yellow
description: The color of the label. Only a subset of colors can be used.
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: UpsertLeadLabelResponse
type: object
properties:
success:
type: boolean
data:
title: LeadLabel
type: object
properties:
id:
type: string
format: uuid
description: The unique ID of the lead label
name:
type: string
description: The name of the lead label
color:
type: string
enum:
- blue
- brown
- dark-gray
- gray
- green
- orange
- pink
- purple
- red
- yellow
description: The color of the label. Only a subset of colors can be used.
add_time:
type: string
description: 'The date and time of when the lead label was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead label was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
example:
success: true
data:
id: f08b42a0-4e75-11ea-9643-03698ef1cfd6
name: Hot
color: red
add_time: '2020-02-13T15:31:44.000Z'
update_time: '2020-10-14T13:11:36.000Z'
'/leadLabels/{id}':
patch:
security:
- api_key: []
- oauth2:
- 'leads:full'
tags:
- LeadLabels
summary: Update a lead label
description: |
Updates one or more properties of a lead label. Only properties included in the request will be updated.
x-token-cost: 10
operationId: updateLeadLabel
parameters:
- in: path
name: id
description: The ID of the lead label
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
title: updateLeadLabelRequest
type: object
properties:
name:
type: string
description: The name of the lead label
color:
type: string
enum:
- blue
- brown
- dark-gray
- gray
- green
- orange
- pink
- purple
- red
- yellow
description: The color of the label. Only a subset of colors can be used.
responses:
'200':
description: Successful response containing payload in the `data` field
content:
application/json:
schema:
title: UpsertLeadLabelResponse
type: object
properties:
success:
type: boolean
data:
title: LeadLabel
type: object
properties:
id:
type: string
format: uuid
description: The unique ID of the lead label
name:
type: string
description: The name of the lead label
color:
type: string
enum:
- blue
- brown
- dark-gray
- gray
- green
- orange
- pink
- purple
- red
- yellow
description: The color of the label. Only a subset of colors can be used.
add_time:
type: string
description: 'The date and time of when the lead label was created. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
update_time:
type: string
description: 'The date and time of when the lead label was last updated. In ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.'
format: date-time
example:
success: true
data:
id: f08b42a0-4e75-11ea-9643-03698ef1cfd6
name: Hot
color: red
add_time: '2020-02-13T15:31:44.000Z'
update_time: '2020-10-14T13:11:36.000Z'
'404':
description: A resource describing an error
content:
application/json:
schema:
title: LeadNotFoundResponse
type: object
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
delete:
security:
- api_key: []
- oauth2:
- 'leads:full'
tags:
- LeadLabels
summary: Delete a lead label
description: Deletes a specific lead label.
x-token-cost: 6
operationId: deleteLeadLabel
parameters:
- in: path
name: id
description: The ID of the lead label
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Successful response with id value only. Used in DELETE calls.
content:
application/json:
schema:
title: DeleteLeadIdResponse
type: object
properties:
success:
type: boolean
data:
type: object
properties:
id:
type: string
format: uuid
example:
success: true
data:
id: adf21080-0e10-11eb-879b-05d71fb426ec
'404':
description: A resource describing an error
content:
application/json:
schema:
title: LeadNotFoundResponse
type: object
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
/leadSources:
get:
security:
- api_key: []
- oauth2:
- 'leads:read'
- 'leads:full'
tags:
- LeadSources
summary: Get all lead sources
description: |
Returns all lead sources. Please note that the list of lead sources is fixed, it cannot be modified. All leads created through the Pipedrive API will have a lead source `API` assigned.
x-token-cost: 2
operationId: getLeadSources
responses:
'200':
description: The successful response containing payload in the `data` field.
content:
application/json:
schema:
title: GetLeadsSourceResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
title: LeadSource
properties:
name:
type: string
description: The unique name of a lead source
example:
success: true
data:
- name: Manually created
- name: Deal
- name: Web forms
- name: Prospector
- name: Leadbooster
- name: Live chat
- name: Import
- name: Website visitors
- name: Workflow automation
- name: API
/legacyTeams:
get:
summary: Get all teams
description: Returns data about teams within the company.
x-token-cost: 20
operationId: getTeams
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: query
name: order_by
schema:
type: string
enum:
- id
- name
- manager_id
- active_flag
default: id
description: The field name to sort returned teams by
- in: query
name: skip_users
schema:
title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: 'When enabled, the teams will not include IDs of member users'
responses:
'200':
description: The list of team objects
content:
application/json:
schema:
title: GetTeamsResponse
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
title: baseTeam
allOf:
- title: teamId
type: object
properties:
id:
type: integer
description: The team ID
- type: object
title: updateTeamWithAdditionalProperties
allOf:
- title: updateTeamRequest
allOf:
- title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
- type: object
properties:
active_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is active
deleted_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is deleted
- type: object
title: baseTeamAdditionalProperties
properties:
add_time:
type: string
description: 'The team creation time. Format: YYYY-MM-DD HH:MM:SS'
created_by_user_id:
type: integer
description: The ID of the user who created the team
example:
success: true
data:
- id: 1
name: Closers
description: Berlin office Sales Team
manager_id: 4
users:
- 2
- 3
- 4
- 5
active_flag: 1
deleted_flag: 0
add_time: '2019-10-07 09:06:09'
created_by_user_id: 2
- id: 2
name: Coffee
description: London office Sales Team
manager_id: 7
users:
- 5
- 8
active_flag: 0
deleted_flag: 0
add_time: '2018-04-11 12:54:43'
created_by_user_id: 7
post:
summary: Add a new team
description: Adds a new team to the company and returns the created object.
x-token-cost: 10
operationId: addTeam
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- admin
requestBody:
content:
application/json:
schema:
title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
required:
- name
- manager_id
responses:
'200':
description: The team data
content:
application/json:
schema:
title: GetTeamResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: baseTeam
allOf:
- title: teamId
type: object
properties:
id:
type: integer
description: The team ID
- type: object
title: updateTeamWithAdditionalProperties
allOf:
- title: updateTeamRequest
allOf:
- title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
- type: object
properties:
active_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is active
deleted_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is deleted
- type: object
title: baseTeamAdditionalProperties
properties:
add_time:
type: string
description: 'The team creation time. Format: YYYY-MM-DD HH:MM:SS'
created_by_user_id:
type: integer
description: The ID of the user who created the team
example:
success: true
data:
id: 1
name: Closers
description: Berlin office Sales Team
manager_id: 4
users:
- 2
- 3
- 5
active_flag: 1
deleted_flag: 0
add_time: '2019-10-07 09:06:09'
created_by_user_id: 2
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
'/legacyTeams/{id}':
get:
summary: Get a single team
description: Returns data about a specific team.
x-token-cost: 2
operationId: getTeam
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the team
required: true
schema:
type: integer
- in: query
name: skip_users
schema:
title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: 'When enabled, the teams will not include IDs of member users'
responses:
'200':
description: The team data
content:
application/json:
schema:
title: GetTeamResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: baseTeam
allOf:
- title: teamId
type: object
properties:
id:
type: integer
description: The team ID
- type: object
title: updateTeamWithAdditionalProperties
allOf:
- title: updateTeamRequest
allOf:
- title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
- type: object
properties:
active_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is active
deleted_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is deleted
- type: object
title: baseTeamAdditionalProperties
properties:
add_time:
type: string
description: 'The team creation time. Format: YYYY-MM-DD HH:MM:SS'
created_by_user_id:
type: integer
description: The ID of the user who created the team
example:
success: true
data:
id: 1
name: Closers
description: Berlin office Sales Team
manager_id: 4
users:
- 2
- 3
- 5
active_flag: 1
deleted_flag: 0
add_time: '2019-10-07 09:06:09'
created_by_user_id: 2
'404':
description: Team with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: Team 1 does not exist
put:
summary: Update a team
description: Updates an existing team and returns the updated object.
x-token-cost: 10
operationId: updateTeam
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the team
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateTeamRequest
allOf:
- title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
- type: object
properties:
active_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is active
deleted_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is deleted
responses:
'200':
description: The team data
content:
application/json:
schema:
title: GetTeamResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: baseTeam
allOf:
- title: teamId
type: object
properties:
id:
type: integer
description: The team ID
- type: object
title: updateTeamWithAdditionalProperties
allOf:
- title: updateTeamRequest
allOf:
- title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
- type: object
properties:
active_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is active
deleted_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is deleted
- type: object
title: baseTeamAdditionalProperties
properties:
add_time:
type: string
description: 'The team creation time. Format: YYYY-MM-DD HH:MM:SS'
created_by_user_id:
type: integer
description: The ID of the user who created the team
example:
success: true
data:
id: 1
name: Closers
description: Berlin office Sales Team
manager_id: 4
users:
- 2
- 3
- 5
active_flag: 1
deleted_flag: 0
add_time: '2019-10-07 09:06:09'
created_by_user_id: 2
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
'404':
description: Team with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: Team 1 does not exist
'/legacyTeams/{id}/users':
get:
summary: Get all users in a team
description: Returns a list of all user IDs within a team.
x-token-cost: 20
operationId: getTeamUsers
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the team
required: true
schema:
type: integer
responses:
'200':
description: A list of user IDs within a team
content:
application/json:
schema:
title: userIds
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: integer
description: The list of user IDs
example:
success: true
data:
- 2
- 3
- 4
- 5
'404':
description: Team with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: Team 1 does not exist
post:
summary: Add users to a team
description: Adds users to an existing team.
x-token-cost: 10
operationId: addTeamUser
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the team
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addTeamUserRequest
type: object
required:
- users
properties:
users:
type: array
items:
type: integer
description: The list of user IDs
responses:
'200':
description: A list of user IDs within a team
content:
application/json:
schema:
title: userIds
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: integer
description: The list of user IDs
example:
success: true
data:
- 2
- 3
- 4
- 5
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
'404':
description: Team with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: Team 1 does not exist
delete:
summary: Delete users from a team
description: Deletes users from an existing team.
x-token-cost: 10
operationId: deleteTeamUser
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the team
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: deleteTeamUserRequest
type: object
required:
- users
properties:
users:
type: array
items:
type: integer
description: The list of user IDs
responses:
'200':
description: A list of user IDs within a team
content:
application/json:
schema:
title: userIds
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: integer
description: The list of user IDs
example:
success: true
data:
- 2
- 3
- 4
- 5
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
'404':
description: Team with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: Team 1 does not exist
'/legacyTeams/user/{id}':
get:
summary: Get all teams of a user
description: Returns data about all teams which have the specified user as a member.
x-token-cost: 20
operationId: getUserTeams
deprecated: true
tags:
- LegacyTeams
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the user
required: true
schema:
type: integer
- in: query
name: order_by
schema:
type: string
enum:
- id
- name
- manager_id
- active_flag
default: id
description: The field name to sort returned teams by
- in: query
name: skip_users
schema:
title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: 'When enabled, the teams will not include IDs of member users'
responses:
'200':
description: The list of team objects
content:
application/json:
schema:
title: GetTeamsResponse
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
title: baseTeam
allOf:
- title: teamId
type: object
properties:
id:
type: integer
description: The team ID
- type: object
title: updateTeamWithAdditionalProperties
allOf:
- title: updateTeamRequest
allOf:
- title: addTeamRequest
type: object
properties:
name:
type: string
description: The team name
description:
type: string
description: The team description
manager_id:
type: integer
description: The team manager ID
users:
type: array
items:
type: integer
description: The list of user IDs
- type: object
properties:
active_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is active
deleted_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Flag that indicates whether the team is deleted
- type: object
title: baseTeamAdditionalProperties
properties:
add_time:
type: string
description: 'The team creation time. Format: YYYY-MM-DD HH:MM:SS'
created_by_user_id:
type: integer
description: The ID of the user who created the team
example:
success: true
data:
- id: 1
name: Closers
description: Berlin office Sales Team
manager_id: 4
users:
- 2
- 3
- 4
- 5
active_flag: 1
deleted_flag: 0
add_time: '2019-10-07 09:06:09'
created_by_user_id: 2
- id: 2
name: Coffee
description: London office Sales Team
manager_id: 7
users:
- 5
- 8
active_flag: 0
deleted_flag: 0
add_time: '2018-04-11 12:54:43'
created_by_user_id: 7
'/mailbox/mailMessages/{id}':
get:
summary: Get one mail message
description: Returns data about a specific mail message.
x-token-cost: 2
operationId: getMailMessage
tags:
- Mailbox
security:
- api_key: []
- oauth2:
- 'mail:read'
- 'mail:full'
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: The ID of the mail message to fetch
- in: query
name: include_body
schema:
title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: 'Whether to include the full message body or not. `0` = Don''t include, `1` = Include.'
responses:
'200':
description: The mail messages that are being synced with Pipedrive
content:
application/json:
schema:
title: GetMailMessageResponse
allOf:
- type: object
title: MailServiceBaseResponse
properties:
success:
type: boolean
description: If the response is successful or not
statusCode:
description: The email service specific status code and it is returned through the response body.
type: integer
statusText:
description: The status text of the response.
type: string
service:
description: The service name of the response.
type: string
- type: object
properties:
data:
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
example:
success: true
statusCode: 2000
statusText: Success
service: email-api
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'
account_id: test
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: ''
draft_flag: 0
synced_flag: 1
deleted_flag: 0
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
/mailbox/mailThreads:
get:
summary: Get mail threads
description: Returns mail threads in a specified folder ordered by the most recent message within.
x-token-cost: 20
operationId: getMailThreads
tags:
- Mailbox
security:
- api_key: []
- oauth2:
- 'mail:read'
- 'mail:full'
parameters:
- in: query
name: folder
required: true
schema:
type: string
enum:
- inbox
- drafts
- sent
- archive
default: inbox
description: The type of folder to fetch
- 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 mail threads
content:
application/json:
schema:
title: GetMailThreadResponse
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 threads
items:
title: MailThread
allOf:
- type: object
properties:
id:
type: integer
description: ID of the mail thread
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
subject:
type: string
description: The subject
snippet:
type: string
description: A snippet
read_flag:
description: Whether the mail thread is read
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_tracking_status:
type: string
nullable: true
description: Mail tracking status
has_attachments_flag:
description: Whether the mail thread has an attachment
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_inline_attachments_flag:
description: Whether the mail thread has inline attachments
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_real_attachments_flag:
description: Whether the mail thread has real attachments (which are not inline)
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 thread is deleted
synced_flag:
description: Whether the mail thread is synced
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
smart_bcc_flag:
description: Whether one of the parties of the mail thread is Bcc
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_link_tracking_enabled_flag:
description: Whether the link tracking of the mail thread is enabled
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
- type: object
properties:
parties:
type: object
description: Parties of the mail thread
properties:
to:
type: array
description: Recipients of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
from:
type: array
description: Senders of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
drafts_parties:
type: array
description: Parties of the drafted mail thread
items:
type: object
folders:
type: array
description: Folders in which messages from thread are being stored
items:
type: string
version:
type: number
description: Version
snippet_draft:
type: string
nullable: true
description: A snippet from a draft
snippet_sent:
type: string
description: A snippet from a message sent
message_count:
type: integer
description: An amount of messages
has_draft_flag:
type: number
description: Whether the mail thread has any drafts
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_sent_flag:
type: number
description: Whether the mail thread has messages sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
archived_flag:
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: Whether the mail thread is archived
shared_flag:
description: Whether the mail thread is shared
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
external_deleted_flag:
description: Whether the mail thread has been deleted externally
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
first_message_to_me_flag:
description: Whether the mail thread was initialized by others
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
last_message_timestamp:
type: string
format: date-time
description: Last message timestamp
first_message_timestamp:
type: string
format: date-time
description: The time when the mail thread has had the first message received or created
last_message_sent_timestamp:
type: string
format: date-time
nullable: true
description: The last time when the mail thread has had a message sent
last_message_received_timestamp:
type: string
format: date-time
description: The last time when the mail thread has had a message received
add_time:
type: string
format: date-time
description: The time when the mail thread was inserted to database
update_time:
type: string
format: date-time
description: The time when the mail thread was updated in database received
deal_id:
type: integer
nullable: true
description: The ID of the deal
deal_status:
type: string
nullable: true
description: Status of the deal
lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead
all_messages_sent_flag:
type: number
description: Whether all the mail thread messages have been sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
example:
success: true
data:
- id: 1
parties:
to:
- id: 2
name: ''
latest_sent: false
email_address: example@test.com
message_time: 1574677850000
linked_person_id: 3
linked_person_name: Tester
linked_organization_id: null
mail_message_party_id: 5318
from:
- id: 3
name: ''
latest_sent: false
email_address: example@test.com
message_time: 1574677850000
linked_person_id: 2
linked_person_name: Tester
linked_organization_id: null
mail_message_party_id: 5318
drafts_parties: []
folders:
- inbox
account_id: 123412jhfsaa221
user_id: 232
version: 9
subject: Example
snippet: Example Snippet
snippet_draft: null
snippet_sent: ''
has_attachments_flag: 1
has_inline_attachments_flag: 1
has_real_attachments_flag: 0
has_draft_flag: 0
has_sent_flag: 0
archived_flag: 0
deleted_flag: 0
shared_flag: 1
synced_flag: 1
external_deleted_flag: 0
smart_bcc_flag: 0
first_message_to_me_flag: 1
mail_link_tracking_enabled_flag: 0
last_message_timestamp: '2019-11-20T20:20:46.000Z'
first_message_timestamp: '2019-11-20T17:40:46.000Z'
last_message_sent_timestamp: null
last_message_received_timestamp: '2019-11-20T20:20:46.000Z'
add_time: '2019-11-20T17:40:59.000Z'
update_time: '2019-11-20T20:21:22.000Z'
deal_id: null
deal_status: null
all_messages_sent_flag: 0
'/mailbox/mailThreads/{id}':
delete:
summary: Delete mail thread
description: Marks a mail thread as deleted.
x-token-cost: 6
operationId: deleteMailThread
tags:
- Mailbox
security:
- api_key: []
- oauth2:
- 'mail:full'
parameters:
- in: path
name: id
description: The ID of the mail thread
required: true
schema:
type: integer
responses:
'200':
description: Marks mail thread as deleted
content:
application/json:
schema:
title: DeleteMailThreadResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deleted mail thread
example:
success: true
statusCode: 2000
statusText: Success
service: email-api
data:
id: 1
get:
summary: Get one mail thread
description: Returns a specific mail thread.
x-token-cost: 20
operationId: getMailThread
tags:
- Mailbox
security:
- api_key: []
- oauth2:
- 'mail:read'
- 'mail:full'
parameters:
- in: path
name: id
description: The ID of the mail thread
required: true
schema:
type: integer
responses:
'200':
description: Get mail threads
content:
application/json:
schema:
title: GetMailThreadResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
description: The mail thread object
allOf:
- title: MailThread
allOf:
- type: object
properties:
id:
type: integer
description: ID of the mail thread
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
subject:
type: string
description: The subject
snippet:
type: string
description: A snippet
read_flag:
description: Whether the mail thread is read
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_tracking_status:
type: string
nullable: true
description: Mail tracking status
has_attachments_flag:
description: Whether the mail thread has an attachment
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_inline_attachments_flag:
description: Whether the mail thread has inline attachments
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_real_attachments_flag:
description: Whether the mail thread has real attachments (which are not inline)
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 thread is deleted
synced_flag:
description: Whether the mail thread is synced
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
smart_bcc_flag:
description: Whether one of the parties of the mail thread is Bcc
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_link_tracking_enabled_flag:
description: Whether the link tracking of the mail thread is enabled
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
- type: object
properties:
parties:
type: object
description: Parties of the mail thread
properties:
to:
type: array
description: Recipients of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
from:
type: array
description: Senders of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
drafts_parties:
type: array
description: Parties of the drafted mail thread
items:
type: object
folders:
type: array
description: Folders in which messages from thread are being stored
items:
type: string
version:
type: number
description: Version
snippet_draft:
type: string
nullable: true
description: A snippet from a draft
snippet_sent:
type: string
description: A snippet from a message sent
message_count:
type: integer
description: An amount of messages
has_draft_flag:
type: number
description: Whether the mail thread has any drafts
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_sent_flag:
type: number
description: Whether the mail thread has messages sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
archived_flag:
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: Whether the mail thread is archived
shared_flag:
description: Whether the mail thread is shared
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
external_deleted_flag:
description: Whether the mail thread has been deleted externally
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
first_message_to_me_flag:
description: Whether the mail thread was initialized by others
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
last_message_timestamp:
type: string
format: date-time
description: Last message timestamp
first_message_timestamp:
type: string
format: date-time
description: The time when the mail thread has had the first message received or created
last_message_sent_timestamp:
type: string
format: date-time
nullable: true
description: The last time when the mail thread has had a message sent
last_message_received_timestamp:
type: string
format: date-time
description: The last time when the mail thread has had a message received
add_time:
type: string
format: date-time
description: The time when the mail thread was inserted to database
update_time:
type: string
format: date-time
description: The time when the mail thread was updated in database received
deal_id:
type: integer
nullable: true
description: The ID of the deal
deal_status:
type: string
nullable: true
description: Status of the deal
lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead
all_messages_sent_flag:
type: number
description: Whether all the mail thread messages have been sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
example:
success: true
data:
id: 1
parties:
to:
- id: 2
name: ''
latest_sent: false
email_address: example@test.com
message_time: 1574677850000
linked_person_id: 3
linked_person_name: Tester
linked_organization_id: null
mail_message_party_id: 5318
from:
- id: 3
name: ''
latest_sent: false
email_address: example@test.com
message_time: 1574677850000
linked_person_id: 2
linked_person_name: Tester
linked_organization_id: null
mail_message_party_id: 5318
drafts_parties: []
folders:
- inbox
account_id: 123412jhfsaa221
user_id: 232
version: 9
subject: Example
snippet: Example Snippet
snippet_draft: null
snippet_sent: ''
has_attachments_flag: 1
has_inline_attachments_flag: 1
has_real_attachments_flag: 0
has_draft_flag: 0
has_sent_flag: 0
archived_flag: 0
deleted_flag: 0
shared_flag: 1
synced_flag: 1
external_deleted_flag: 0
smart_bcc_flag: 0
first_message_to_me_flag: 1
mail_link_tracking_enabled_flag: 0
last_message_timestamp: '2019-11-20T20:20:46.000Z'
first_message_timestamp: '2019-11-20T17:40:46.000Z'
last_message_sent_timestamp: null
last_message_received_timestamp: '2019-11-20T20:20:46.000Z'
add_time: '2019-11-20T17:40:59.000Z'
update_time: '2019-11-20T20:21:22.000Z'
deal_id: null
deal_status: null
all_messages_sent_flag: 0
put:
summary: Update mail thread details
description: Updates the properties of a mail thread.
x-token-cost: 10
operationId: updateMailThreadDetails
tags:
- Mailbox
security:
- api_key: []
- oauth2:
- 'mail:full'
parameters:
- in: path
name: id
description: The ID of the mail thread
required: true
schema:
type: integer
requestBody:
content:
application/x-www-form-urlencoded:
schema:
title: updateMailThreadDetailsRequest
type: object
properties:
deal_id:
type: integer
description: The ID of the deal this thread is associated with
lead_id:
type: string
format: uuid
description: The ID of the lead this thread is associated with
shared_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Whether this thread is shared with other users in your company
read_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Whether this thread is read or unread
archived_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: Whether this thread is archived or not. You can only archive threads that belong to Inbox folder. Archived threads will disappear from Inbox.
responses:
'200':
description: Updates the properties of a mail thread
content:
application/json:
schema:
title: UpdateMailThreadResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
title: MailThread
allOf:
- type: object
properties:
id:
type: integer
description: ID of the mail thread
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
subject:
type: string
description: The subject
snippet:
type: string
description: A snippet
read_flag:
description: Whether the mail thread is read
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_tracking_status:
type: string
nullable: true
description: Mail tracking status
has_attachments_flag:
description: Whether the mail thread has an attachment
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_inline_attachments_flag:
description: Whether the mail thread has inline attachments
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_real_attachments_flag:
description: Whether the mail thread has real attachments (which are not inline)
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 thread is deleted
synced_flag:
description: Whether the mail thread is synced
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
smart_bcc_flag:
description: Whether one of the parties of the mail thread is Bcc
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_link_tracking_enabled_flag:
description: Whether the link tracking of the mail thread is enabled
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
- type: object
properties:
parties:
type: object
description: Parties of the mail thread
properties:
to:
type: array
description: Recipients of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
from:
type: array
description: Senders of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
drafts_parties:
type: array
description: Parties of the drafted mail thread
items:
type: object
folders:
type: array
description: Folders in which messages from thread are being stored
items:
type: string
version:
type: number
description: Version
snippet_draft:
type: string
nullable: true
description: A snippet from a draft
snippet_sent:
type: string
description: A snippet from a message sent
message_count:
type: integer
description: An amount of messages
has_draft_flag:
type: number
description: Whether the mail thread has any drafts
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_sent_flag:
type: number
description: Whether the mail thread has messages sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
archived_flag:
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: Whether the mail thread is archived
shared_flag:
description: Whether the mail thread is shared
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
external_deleted_flag:
description: Whether the mail thread has been deleted externally
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
first_message_to_me_flag:
description: Whether the mail thread was initialized by others
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
last_message_timestamp:
type: string
format: date-time
description: Last message timestamp
first_message_timestamp:
type: string
format: date-time
description: The time when the mail thread has had the first message received or created
last_message_sent_timestamp:
type: string
format: date-time
nullable: true
description: The last time when the mail thread has had a message sent
last_message_received_timestamp:
type: string
format: date-time
description: The last time when the mail thread has had a message received
add_time:
type: string
format: date-time
description: The time when the mail thread was inserted to database
update_time:
type: string
format: date-time
description: The time when the mail thread was updated in database received
deal_id:
type: integer
nullable: true
description: The ID of the deal
deal_status:
type: string
nullable: true
description: Status of the deal
lead_id:
type: string
format: uuid
nullable: true
description: The ID of the lead
all_messages_sent_flag:
type: number
description: Whether all the mail thread messages have been sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: The mail thread object
example:
success: true
data:
id: 1
folders:
- inbox
account_id: 12123qwaesda1
user_id: 9
version: 13
subject: '[EXAMPLE] Subject'
snippet: '[EXAMPLE] Snippet'
snippet_draft: null
snippet_sent: ''
message_count: 7
read_flag: 0
mail_tracking_status: null
has_attachments_flag: 1
has_inline_attachments_flag: 1
has_real_attachments_flag: 0
has_draft_flag: 0
has_sent_flag: 0
archived_flag: 0
deleted_flag: 0
shared_flag: 1
synced_flag: 1
external_deleted_flag: 0
smart_bcc_flag: 0
first_message_to_me_flag: 1
mail_link_tracking_enabled_flag: 0
last_message_timestamp: '2019-11-25T10:30:50.000Z'
first_message_timestamp: '2019-11-25T08:40:50.000Z'
last_message_sent_timestamp: null
last_message_received_timestamp: '2019-11-25T10:30:50.000Z'
add_time: '2019-11-25T08:41:10.000Z'
update_time: '2019-11-25T10:31:34.000Z'
deal_id: null
deal_status: null
all_messages_sent_flag: 0
'/mailbox/mailThreads/{id}/mailMessages':
get:
summary: Get all mail messages of mail thread
description: Returns all the mail messages inside a specified mail thread.
x-token-cost: 20
operationId: getMailThreadMessages
tags:
- Mailbox
security:
- api_key: []
- oauth2:
- 'mail:read'
- 'mail:full'
parameters:
- in: path
name: id
description: The ID of the mail thread
required: true
schema:
type: integer
responses:
'200':
description: Get mail messages from thread
content:
application/json:
schema:
title: GetMailThreadMessagesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
items:
allOf:
- type: object
properties:
id:
type: integer
description: ID of the mail thread
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
subject:
type: string
description: The subject
snippet:
type: string
description: A snippet
read_flag:
description: Whether the mail thread is read
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_tracking_status:
type: string
nullable: true
description: Mail tracking status
has_attachments_flag:
description: Whether the mail thread has an attachment
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_inline_attachments_flag:
description: Whether the mail thread has inline attachments
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
has_real_attachments_flag:
description: Whether the mail thread has real attachments (which are not inline)
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 thread is deleted
synced_flag:
description: Whether the mail thread is synced
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
smart_bcc_flag:
description: Whether one of the parties of the mail thread is Bcc
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
mail_link_tracking_enabled_flag:
description: Whether the link tracking of the mail thread is enabled
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
- type: object
properties:
from:
type: array
description: Senders of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
to:
type: array
description: Recipients of the mail thread
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
cc:
type: array
description: Participants of the Cc
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
bcc:
type: array
description: Participants of the Bcc
items:
type: object
description: Member of a thread
properties:
id:
type: integer
description: ID of the mail thread participant
name:
type: string
description: Name of the mail thread participant
latest_sent:
type: boolean
description: Whether the mail thread participant was last to send an email
email_address:
type: string
description: Email address of the mail thread participant
message_time:
type: number
description: Message time
linked_person_id:
type: integer
description: ID of the linked person
linked_person_name:
type: string
description: Email of the linked person
mail_message_party_id:
type: integer
description: ID of the mail message party
linked_organization_id:
type: integer
nullable: true
description: Linked Organization ID
body_url:
type: string
description: A link to the mail thread message
mail_thread_id:
type: integer
description: ID of the mail thread
draft:
type: string
nullable: true
description: 'If the mail message has a draft status then the value is the mail message object as JSON formatted string, otherwise `null`.'
has_body_flag:
type: number
description: Whether the mail thread message has a body
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
sent_flag:
type: number
description: Whether the mail thread message is sent
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
sent_from_pipedrive_flag:
type: number
description: Whether the mail thread message is sent from Pipedrive
allOf:
- title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
message_time:
type: string
format: date-time
description: The time when the mail message was received or created
add_time:
type: string
format: date-time
description: The time when the mail message was inserted to database
update_time:
type: string
format: date-time
description: The time when the mail message was updated in database received
description: The array of the mail messages of the mail thread
example:
success: true
data:
- id: 1
from:
- id: 1
email_address: example@email.com
name: Example Message
linked_person_id: 4
linked_person_name: ''
mail_message_party_id: 3
to:
- id: 4
email_address: example@email.com
name: Example Message
linked_person_id: 1
linked_person_name: ''
mail_message_party_id: 3
cc: []
bcc: []
body_url: 'http://this_would_be_the_link.cloudfront.net/'
account_id: iuaousdp77asdadah
user_id: 777
mail_thread_id: 2
subject: The Subject
snippet: Snippet from the email
mail_tracking_status: null
mail_link_tracking_enabled_flag: 0
read_flag: 1
draft: null
draft_flag: 0
synced_flag: 1
deleted_flag: 0
has_body_flag: 1
sent_flag: 0
sent_from_pipedrive_flag: 0
smart_bcc_flag: 0
message_time: '2019-08-07T21:15:08.000Z'
add_time: '2019-08-07T21:34:35.000Z'
update_time: '2019-08-07T21:34:35.000Z'
has_attachments_flag: 0
has_inline_attachments_flag: 0
has_real_attachments_flag: 0
/meetings/userProviderLinks:
post:
summary: Link a user with the installed video call integration
description: A video calling provider must call this endpoint after a user has installed the video calling app so that the new user's information is sent.
x-token-cost: 10
operationId: saveUserProviderLink
tags:
- Meetings
security:
- api_key: []
- oauth2:
- video-calls
requestBody:
content:
application/json:
schema:
title: addUserProviderLinkRequest
type: object
required:
- user_provider_id
- user_id
- company_id
- marketplace_client_id
properties:
user_provider_id:
type: string
format: uuid
example: 1e3943c9-6395-462b-b432-1f252c017f3d
description: Unique identifier linking a user to the installed integration. Generated by the integration.
user_id:
type: integer
example: 123
description: Pipedrive user ID
company_id:
type: integer
example: 456
description: Pipedrive company ID
marketplace_client_id:
type: string
example: 57da5c3c55a82bb4
description: Pipedrive Marketplace client ID of the installed integration
responses:
'200':
description: User provider link was successfully created
content:
application/json:
schema:
title: GetUserProviderLinkSuccessResponse
type: object
properties:
success:
type: boolean
description: Boolean that indicates whether the request was successful or not
data:
type: object
properties:
message:
type: string
description: The success message of the request
example: The user was added successfully
example:
success: true
data:
message: The user was added successfully
'401':
description: No permission to create user provider link
content:
application/json:
schema:
title: userProviderLinkErrorResponse
type: object
properties:
success:
type: boolean
description: Boolean that indicates whether the request was successful or not
message:
type: string
description: The error message of the request
example: Missing user id or company id
'/meetings/userProviderLinks/{id}':
delete:
summary: Delete the link between a user and the installed video call integration
description: A video calling provider must call this endpoint to remove the link between a user and the installed video calling app.
x-token-cost: 6
operationId: deleteUserProviderLink
tags:
- Meetings
security:
- api_key: []
- oauth2:
- video-calls
parameters:
- in: path
name: id
description: Unique identifier linking a user to the installed integration
required: true
schema:
type: string
format: uuid
responses:
'200':
description: User provider link successfully removed
content:
application/json:
schema:
title: GetUserProviderLinkSuccessResponse
type: object
properties:
success:
type: boolean
description: Boolean that indicates whether the request was successful or not
data:
type: object
properties:
message:
type: string
description: The success message of the request
example: The user was added successfully
example:
success: true
data:
message: The user data was successfully removed
'401':
description: No permission to remove user provider link
content:
application/json:
schema:
title: userProviderLinkErrorResponse
type: object
properties:
success:
type: boolean
description: Boolean that indicates whether the request was successful or not
message:
type: string
description: The error message of the request
example: Missing user id or company id
'403':
description: Incorrect parameter provided
content:
application/json:
schema:
title: userProviderLinkErrorResponse
type: object
properties:
success:
type: boolean
description: Boolean that indicates whether the request was successful or not
message:
type: string
description: The error message of the request
example: Missing user id or company id
/notes:
get:
summary: Get all notes
description: Returns all notes.
x-token-cost: 20
operationId: getNotes
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: query
name: user_id
schema:
type: integer
description: 'The ID of the user whose notes to fetch. If omitted, notes by all users will be returned.'
- in: query
name: lead_id
schema:
type: string
format: uuid
description: 'The ID of the lead which notes to fetch. If omitted, notes about all leads will be returned.'
- in: query
name: deal_id
schema:
type: integer
description: 'The ID of the deal which notes to fetch. If omitted, notes about all deals will be returned.'
- in: query
name: person_id
schema:
type: integer
description: 'The ID of the person whose notes to fetch. If omitted, notes about all persons will be returned.'
- in: query
name: org_id
schema:
type: integer
description: 'The ID of the organization which notes to fetch. If omitted, notes about all organizations will be returned.'
- in: query
name: project_id
schema:
type: integer
description: 'The ID of the project which notes to fetch. If omitted, notes about all projects will be returned.'
- in: query
name: task_id
schema:
type: integer
description: 'The ID of the task which notes to fetch. If omitted, notes about all tasks will be returned.'
- 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). Supported fields: `id`, `user_id`, `deal_id`, `person_id`, `org_id`, `content`, `add_time`, `update_time`.'
- in: query
name: start_date
schema:
type: string
format: date
description: The date in format of YYYY-MM-DD from which notes to fetch
- in: query
name: end_date
schema:
type: string
format: date
description: The date in format of YYYY-MM-DD until which notes to fetch to
- in: query
name: updated_since
description: 'If set, only notes with an `update_time` later than or equal to this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z.'
schema:
type: string
format: date-time
example: '2025-01-01T10:20:00Z'
- in: query
name: pinned_to_lead_flag
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to lead pinning state'
- in: query
name: pinned_to_deal_flag
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to deal pinning state'
- in: query
name: pinned_to_organization_flag
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to organization pinning state'
- in: query
name: pinned_to_person_flag
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to person pinning state'
- in: query
name: pinned_to_project_flag
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to project pinning state'
- in: query
name: pinned_to_task_flag
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to task pinning state'
responses:
'200':
description: Get all notes
content:
application/json:
schema:
title: GetNotesResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: array
description: The array of notes
items:
type: object
title: Note
properties:
id:
type: integer
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
deal:
type: object
description: The deal this note is attached to
properties:
title:
type: string
description: The title of the deal this note is attached to
lead_id:
type: string
format: uuid
description: The ID of the lead the note is attached to
deal_id:
type: integer
description: The ID of the deal the note is attached to
last_update_user_id:
type: integer
description: The ID of the user who last updated the note
org_id:
type: integer
description: The ID of the organization the note is attached to
organization:
type: object
description: The organization the note is attached to
properties:
name:
type: string
description: The name of the organization the note is attached to
person:
type: object
description: The person the note is attached to
properties:
name:
type: string
description: The name of the person the note is attached to
person_id:
type: integer
description: The ID of the person the note is attached to
project_id:
type: integer
description: The ID of the project the note is attached to
project:
type: object
description: The project the note is attached to
properties:
title:
type: string
description: The title of the project the note is attached to
task_id:
type: integer
description: The ID of the task the note is attached to
task:
type: object
description: The task the note is attached to
properties:
title:
type: string
description: The title of the task the note is attached to
pinned_to_deal_flag:
type: boolean
description: 'If true, the results are filtered by note to deal pinning state'
pinned_to_organization_flag:
type: boolean
description: 'If true, the results are filtered by note to organization pinning state'
pinned_to_person_flag:
type: boolean
description: 'If true, the results are filtered by note to person pinning state'
pinned_to_project_flag:
type: boolean
description: 'If true, the results are filtered by note to project pinning state'
pinned_to_task_flag:
type: boolean
description: 'If true, the results are filtered by note to task pinning state'
update_time:
type: string
description: The last updated date and time of the note
user:
type: object
description: The user who created the note
properties:
email:
type: string
description: The email of the note creator
icon_url:
type: string
description: The URL of the note creator avatar picture
is_you:
type: boolean
description: Whether the note is created by you or not
name:
type: string
description: The name of the note creator
user_id:
type: integer
description: The ID of the note creator
additional_data:
type: object
properties:
pagination:
title: AdditionalData
type: object
description: The pagination details of the list
properties:
next_start:
type: integer
description: Next pagination start
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
active_flag: true
add_time: '2019-12-09 13:59:21'
content: abc
deal:
title: Deal title
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
deal_id: 1
last_update_user_id: 1
org_id: 1
organization:
name: Organization name
person:
name: Person name
person_id: 1
project_id: 1
project:
title: Project name
pinned_to_lead_flag: false
pinned_to_deal_flag: true
pinned_to_organization_flag: false
pinned_to_person_flag: false
pinned_to_project_flag: false
update_time: '2019-12-09 14:26:11'
user:
email: user@email.com
icon_url: 'https://iconurl.net/profile_120x120_123.jpg'
is_you: true
name: User Name
user_id: 1
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
next_start: 100
post:
summary: Add a note
description: Adds a new note.
x-token-cost: 10
operationId: addNote
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'contacts:full'
requestBody:
content:
application/json:
schema:
allOf:
- type: object
additionalProperties: true
required:
- content
properties:
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
lead_id:
type: string
format: uuid
description: The ID of the lead the note will be attached to. This property is required unless one of (`deal_id/person_id/org_id/project_id/task_id`) is specified.
deal_id:
type: integer
description: The ID of the deal the note will be attached to. This property is required unless one of (`lead_id/person_id/org_id/project_id/task_id`) is specified.
person_id:
type: integer
description: The ID of the person this note will be attached to. This property is required unless one of (`deal_id/lead_id/org_id/project_id/task_id`) is specified.
org_id:
type: integer
description: The ID of the organization this note will be attached to. This property is required unless one of (`deal_id/lead_id/person_id/project_id/task_id`) is specified.
project_id:
type: integer
description: The ID of the project the note will be attached to. This property is required unless one of (`deal_id/lead_id/person_id/org_id/task_id`) is specified.
task_id:
type: integer
description: The ID of the task the note will be attached to. This property is required unless one of (`deal_id/lead_id/person_id/org_id/project_id`) is specified.
- type: object
properties:
user_id:
type: integer
description: The ID of the user who will be marked as the author of the note. Only an admin can change the author.
add_time:
type: string
description: 'The optional creation date & time of the note in UTC. Can be set in the past or in the future. Format: YYYY-MM-DD HH:MM:SS'
pinned_to_lead_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to lead pinning state (`lead_id` is also required)'
pinned_to_deal_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to deal pinning state (`deal_id` is also required)'
pinned_to_organization_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to organization pinning state (`org_id` is also required)'
pinned_to_person_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to person pinning state (`person_id` is also required)'
pinned_to_project_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to project pinning state (`project_id` is also required)'
pinned_to_task_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to task pinning state (`task_id` is also required)'
responses:
'200':
description: 'Add, update or get a note'
content:
application/json:
schema:
title: UpsertNoteResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: Note
properties:
id:
type: integer
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
deal:
type: object
description: The deal this note is attached to
properties:
title:
type: string
description: The title of the deal this note is attached to
lead_id:
type: string
format: uuid
description: The ID of the lead the note is attached to
deal_id:
type: integer
description: The ID of the deal the note is attached to
last_update_user_id:
type: integer
description: The ID of the user who last updated the note
org_id:
type: integer
description: The ID of the organization the note is attached to
organization:
type: object
description: The organization the note is attached to
properties:
name:
type: string
description: The name of the organization the note is attached to
person:
type: object
description: The person the note is attached to
properties:
name:
type: string
description: The name of the person the note is attached to
person_id:
type: integer
description: The ID of the person the note is attached to
project_id:
type: integer
description: The ID of the project the note is attached to
project:
type: object
description: The project the note is attached to
properties:
title:
type: string
description: The title of the project the note is attached to
task_id:
type: integer
description: The ID of the task the note is attached to
task:
type: object
description: The task the note is attached to
properties:
title:
type: string
description: The title of the task the note is attached to
pinned_to_deal_flag:
type: boolean
description: 'If true, the results are filtered by note to deal pinning state'
pinned_to_organization_flag:
type: boolean
description: 'If true, the results are filtered by note to organization pinning state'
pinned_to_person_flag:
type: boolean
description: 'If true, the results are filtered by note to person pinning state'
pinned_to_project_flag:
type: boolean
description: 'If true, the results are filtered by note to project pinning state'
pinned_to_task_flag:
type: boolean
description: 'If true, the results are filtered by note to task pinning state'
update_time:
type: string
description: The last updated date and time of the note
user:
type: object
description: The user who created the note
properties:
email:
type: string
description: The email of the note creator
icon_url:
type: string
description: The URL of the note creator avatar picture
is_you:
type: boolean
description: Whether the note is created by you or not
name:
type: string
description: The name of the note creator
user_id:
type: integer
description: The ID of the note creator
example:
success: true
data:
id: 1
active_flag: true
add_time: '2019-12-09 13:59:21'
content: abc
deal:
title: Deal title
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
deal_id: 1
last_update_user_id: 1
org_id: 1
organization:
name: Organization name
person:
name: Person name
person_id: 1
project_id: 1
project:
title: Project name
pinned_to_lead_flag: false
pinned_to_deal_flag: true
pinned_to_organization_flag: false
pinned_to_person_flag: false
pinned_to_project_flag: false
update_time: '2019-12-09 14:26:11'
user:
email: user@email.com
icon_url: 'https://iconurl.net/profile_120x120_123.jpg'
is_you: true
name: User Name
user_id: 1
'/notes/{id}':
delete:
summary: Delete a note
description: Deletes a specific note.
x-token-cost: 6
operationId: deleteNote
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
responses:
'200':
description: Delete a note
content:
application/json:
schema:
title: DeleteNoteResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: boolean
description: If the response is successful or not
example:
success: true
data: true
get:
summary: Get one note
description: Returns details about a specific note.
x-token-cost: 2
operationId: getNote
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
responses:
'200':
description: 'Add, update or get a note'
content:
application/json:
schema:
title: UpsertNoteResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: Note
properties:
id:
type: integer
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
deal:
type: object
description: The deal this note is attached to
properties:
title:
type: string
description: The title of the deal this note is attached to
lead_id:
type: string
format: uuid
description: The ID of the lead the note is attached to
deal_id:
type: integer
description: The ID of the deal the note is attached to
last_update_user_id:
type: integer
description: The ID of the user who last updated the note
org_id:
type: integer
description: The ID of the organization the note is attached to
organization:
type: object
description: The organization the note is attached to
properties:
name:
type: string
description: The name of the organization the note is attached to
person:
type: object
description: The person the note is attached to
properties:
name:
type: string
description: The name of the person the note is attached to
person_id:
type: integer
description: The ID of the person the note is attached to
project_id:
type: integer
description: The ID of the project the note is attached to
project:
type: object
description: The project the note is attached to
properties:
title:
type: string
description: The title of the project the note is attached to
task_id:
type: integer
description: The ID of the task the note is attached to
task:
type: object
description: The task the note is attached to
properties:
title:
type: string
description: The title of the task the note is attached to
pinned_to_deal_flag:
type: boolean
description: 'If true, the results are filtered by note to deal pinning state'
pinned_to_organization_flag:
type: boolean
description: 'If true, the results are filtered by note to organization pinning state'
pinned_to_person_flag:
type: boolean
description: 'If true, the results are filtered by note to person pinning state'
pinned_to_project_flag:
type: boolean
description: 'If true, the results are filtered by note to project pinning state'
pinned_to_task_flag:
type: boolean
description: 'If true, the results are filtered by note to task pinning state'
update_time:
type: string
description: The last updated date and time of the note
user:
type: object
description: The user who created the note
properties:
email:
type: string
description: The email of the note creator
icon_url:
type: string
description: The URL of the note creator avatar picture
is_you:
type: boolean
description: Whether the note is created by you or not
name:
type: string
description: The name of the note creator
user_id:
type: integer
description: The ID of the note creator
example:
success: true
data:
id: 1
active_flag: true
add_time: '2019-12-09 13:59:21'
content: abc
deal:
title: Deal title
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
deal_id: 1
last_update_user_id: 1
org_id: 1
organization:
name: Organization name
person:
name: Person name
person_id: 1
project_id: 1
project:
title: Project name
pinned_to_lead_flag: false
pinned_to_deal_flag: true
pinned_to_organization_flag: false
pinned_to_person_flag: false
pinned_to_project_flag: false
update_time: '2019-12-09 14:26:11'
user:
email: user@email.com
icon_url: 'https://iconurl.net/profile_120x120_123.jpg'
is_you: true
name: User Name
user_id: 1
put:
summary: Update a note
description: Updates a note.
x-token-cost: 10
operationId: updateNote
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: noteRequest
type: object
allOf:
- type: object
properties:
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
- type: object
properties:
lead_id:
type: string
format: uuid
description: The ID of the lead the note will be attached to
deal_id:
type: integer
description: The ID of the deal the note will be attached to
person_id:
type: integer
description: The ID of the person the note will be attached to
org_id:
type: integer
description: The ID of the organization the note will be attached to
project_id:
type: integer
description: The ID of the project the note will be attached to
task_id:
type: integer
description: The ID of the task the note will be attached to
- type: object
properties:
user_id:
type: integer
description: The ID of the user who will be marked as the author of the note. Only an admin can change the author.
add_time:
type: string
description: 'The optional creation date & time of the note in UTC. Can be set in the past or in the future. Format: YYYY-MM-DD HH:MM:SS'
pinned_to_lead_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to lead pinning state (`lead_id` is also required)'
pinned_to_deal_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to deal pinning state (`deal_id` is also required)'
pinned_to_organization_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to organization pinning state (`org_id` is also required)'
pinned_to_person_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to person pinning state (`person_id` is also required)'
pinned_to_project_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to project pinning state (`project_id` is also required)'
pinned_to_task_flag:
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If set, the results are filtered by note to task pinning state (`task_id` is also required)'
responses:
'200':
description: 'Add, update or get a note'
content:
application/json:
schema:
title: UpsertNoteResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: Note
properties:
id:
type: integer
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
deal:
type: object
description: The deal this note is attached to
properties:
title:
type: string
description: The title of the deal this note is attached to
lead_id:
type: string
format: uuid
description: The ID of the lead the note is attached to
deal_id:
type: integer
description: The ID of the deal the note is attached to
last_update_user_id:
type: integer
description: The ID of the user who last updated the note
org_id:
type: integer
description: The ID of the organization the note is attached to
organization:
type: object
description: The organization the note is attached to
properties:
name:
type: string
description: The name of the organization the note is attached to
person:
type: object
description: The person the note is attached to
properties:
name:
type: string
description: The name of the person the note is attached to
person_id:
type: integer
description: The ID of the person the note is attached to
project_id:
type: integer
description: The ID of the project the note is attached to
project:
type: object
description: The project the note is attached to
properties:
title:
type: string
description: The title of the project the note is attached to
task_id:
type: integer
description: The ID of the task the note is attached to
task:
type: object
description: The task the note is attached to
properties:
title:
type: string
description: The title of the task the note is attached to
pinned_to_deal_flag:
type: boolean
description: 'If true, the results are filtered by note to deal pinning state'
pinned_to_organization_flag:
type: boolean
description: 'If true, the results are filtered by note to organization pinning state'
pinned_to_person_flag:
type: boolean
description: 'If true, the results are filtered by note to person pinning state'
pinned_to_project_flag:
type: boolean
description: 'If true, the results are filtered by note to project pinning state'
pinned_to_task_flag:
type: boolean
description: 'If true, the results are filtered by note to task pinning state'
update_time:
type: string
description: The last updated date and time of the note
user:
type: object
description: The user who created the note
properties:
email:
type: string
description: The email of the note creator
icon_url:
type: string
description: The URL of the note creator avatar picture
is_you:
type: boolean
description: Whether the note is created by you or not
name:
type: string
description: The name of the note creator
user_id:
type: integer
description: The ID of the note creator
example:
success: true
data:
id: 1
active_flag: true
add_time: '2019-12-09 13:59:21'
content: abc
deal:
title: Deal title
lead_id: adf21080-0e10-11eb-879b-05d71fb426ec
deal_id: 1
last_update_user_id: 1
org_id: 1
organization:
name: Organization name
person:
name: Person name
person_id: 1
project_id: 1
project:
title: Project name
pinned_to_lead_flag: false
pinned_to_deal_flag: true
pinned_to_organization_flag: false
pinned_to_person_flag: false
pinned_to_project_flag: false
update_time: '2019-12-09 14:26:11'
user:
email: user@email.com
icon_url: 'https://iconurl.net/profile_120x120_123.jpg'
is_you: true
name: User Name
user_id: 1
'/notes/{id}/comments':
get:
summary: Get all comments for a note
description: Returns all comments associated with a note.
x-token-cost: 20
operationId: getNoteComments
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
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 comments
content:
application/json:
schema:
title: GetCommentsResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: array
description: The array of comments
items:
type: object
title: Comment
properties:
uuid:
type: string
format: uuid
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
update_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
object_id:
type: string
description: 'The ID of the object that the comment is attached to, will be the id of the note'
object_type:
type: string
description: 'The type of object that the comment is attached to, will be "note"'
user_id:
type: integer
description: The ID of the user who created the comment
updater_id:
type: integer
description: The ID of the user who last updated the comment
company_id:
type: integer
description: The ID of the company
additional_data:
type: object
properties:
pagination:
title: AdditionalData
type: object
description: The pagination details of the list
properties:
next_start:
type: integer
description: Next pagination start
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:
- uuid: 46c3b0e1-db35-59ca-1828-4817378dff71
active_flag: true
add_time: '2021-06-22T07:18:16.750Z'
company_id: 77
content: This is a comment
object_id: '725'
object_type: note
update_time: '2021-06-22T07:18:25.648Z'
updater_id: 8877
user_id: 8877
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
next_start: 100
post:
summary: Add a comment to a note
description: Adds a new comment to a note.
x-token-cost: 10
operationId: addNoteComment
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: CommentPostPutObject
type: object
required:
- content
properties:
content:
type: string
description: The content of the comment in HTML format. Subject to sanitization on the back-end.
responses:
'200':
description: 'Add, update or get a comment'
content:
application/json:
schema:
title: UpsertCommentResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: Comment
properties:
uuid:
type: string
format: uuid
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
update_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
object_id:
type: string
description: 'The ID of the object that the comment is attached to, will be the id of the note'
object_type:
type: string
description: 'The type of object that the comment is attached to, will be "note"'
user_id:
type: integer
description: The ID of the user who created the comment
updater_id:
type: integer
description: The ID of the user who last updated the comment
company_id:
type: integer
description: The ID of the company
example:
success: true
data:
uuid: 46c3b0e1-db35-59ca-1828-4817378dff71
active_flag: true
add_time: '2021-06-22T07:18:16.750Z'
company_id: 77
content: This is a comment
object_id: '725'
object_type: note
update_time: '2021-06-22T07:18:25.648Z'
updater_id: 8877
user_id: 8877
'/notes/{id}/comments/{commentId}':
get:
summary: Get one comment
description: Returns the details of a comment.
x-token-cost: 2
operationId: getComment
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
- in: path
name: commentId
description: The ID of the comment
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 'Add, update or get a comment'
content:
application/json:
schema:
title: UpsertCommentResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: Comment
properties:
uuid:
type: string
format: uuid
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
update_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
object_id:
type: string
description: 'The ID of the object that the comment is attached to, will be the id of the note'
object_type:
type: string
description: 'The type of object that the comment is attached to, will be "note"'
user_id:
type: integer
description: The ID of the user who created the comment
updater_id:
type: integer
description: The ID of the user who last updated the comment
company_id:
type: integer
description: The ID of the company
example:
success: true
data:
uuid: 46c3b0e1-db35-59ca-1828-4817378dff71
active_flag: true
add_time: '2021-06-22T07:18:16.750Z'
company_id: 77
content: This is a comment
object_id: '725'
object_type: note
update_time: '2021-06-22T07:18:25.648Z'
updater_id: 8877
user_id: 8877
put:
summary: Update a comment related to a note
description: Updates a comment related to a note.
x-token-cost: 10
operationId: updateCommentForNote
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
- in: path
name: commentId
description: The ID of the comment
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
title: CommentPostPutObject
type: object
required:
- content
properties:
content:
type: string
description: The content of the comment in HTML format. Subject to sanitization on the back-end.
responses:
'200':
description: 'Add, update or get a comment'
content:
application/json:
schema:
title: UpsertCommentResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: object
title: Comment
properties:
uuid:
type: string
format: uuid
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
update_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
object_id:
type: string
description: 'The ID of the object that the comment is attached to, will be the id of the note'
object_type:
type: string
description: 'The type of object that the comment is attached to, will be "note"'
user_id:
type: integer
description: The ID of the user who created the comment
updater_id:
type: integer
description: The ID of the user who last updated the comment
company_id:
type: integer
description: The ID of the company
example:
success: true
data:
uuid: 46c3b0e1-db35-59ca-1828-4817378dff71
active_flag: true
add_time: '2021-06-22T07:18:16.750Z'
company_id: 77
content: This is a comment
object_id: '725'
object_type: note
update_time: '2021-06-22T07:18:25.648Z'
updater_id: 8877
user_id: 8877
delete:
summary: Delete a comment related to a note
description: Deletes a comment.
x-token-cost: 6
operationId: deleteComment
tags:
- Notes
security:
- api_key: []
- oauth2:
- 'deals:full'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the note
required: true
schema:
type: integer
- in: path
name: commentId
description: The ID of the comment
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Delete a comment
content:
application/json:
schema:
title: DeleteCommentResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: boolean
description: If the response is successful or not
example:
success: true
data: true
/noteFields:
get:
summary: Get all note fields
description: Returns data about all note fields.
x-token-cost: 20
operationId: getNoteFields
tags:
- NoteFields
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
- 'contacts:read'
- 'contacts:full'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetNoteFieldsResponse
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
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the field
key:
type: string
description: The key of the field
name:
type: string
description: The name of the field
field_type:
type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
bulk_edit_allowed:
type: boolean
description: Not used
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
items:
type: object
properties:
id:
type: integer
label:
type: string
description: 'The options of the field. When there are no options, `null` is returned.'
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
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
key: content
name: Content
field_type: text
active_flag: true
edit_flag: false
bulk_edit_allowed: true
mandatory_flag: true
- id: 2
key: pinned_to_deal_flag
name: Note is pinned to deal
field_type: enum
active_flag: true
edit_flag: true
bulk_edit_allowed: true
options:
- id: 1
label: 'Yes'
- id: 0
label: 'No'
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
/oauth/authorize:
get:
summary: Requesting authorization
description: Authorize a user by redirecting them to the Pipedrive OAuth authorization page and request their permissions to act on their behalf. This step is necessary to implement only when you allow app installation outside of the Marketplace.
operationId: authorize
x-token-cost: 0
servers:
- url: 'https://oauth.pipedrive.com'
tags:
- Oauth
parameters:
- in: query
name: client_id
required: true
schema:
type: string
description: The client ID provided to you by the Pipedrive Marketplace when you register your app
- in: query
name: redirect_uri
required: true
schema:
type: string
description: 'The callback URL you provided when you registered your app. Authorization code will be sent to that URL (if it matches with the value you entered in the registration form) if a user approves the app install. Or, if a customer declines, the corresponding error will also be sent to this URL.'
- in: query
name: state
schema:
type: string
description: |
You may pass any random string as the state parameter and the same string will be returned to your app after a user authorizes access. It may be used to store the user's session ID from your app or distinguish different responses. Using state may increase security; see RFC-6749.
responses:
'200':
description: Authorize user in the app.
content:
text/html:
example: |
As a result of the request, the customer will see a page with the confirmation dialog, which will present the details of your app (title, company name, icon) and explain the permission scopes that you have set for the app. Customers should confirm their wish to install the app by clicking "Allow and install" or deny authorization by clicking "Cancel".
/oauth/token:
post:
summary: Getting the tokens
description: 'After the customer has confirmed the app installation, you will need to exchange the `authorization_code` to a pair of access and refresh tokens. Using an access token, you can access the user''s data through the API.'
operationId: get-tokens
x-token-cost: 0
servers:
- url: 'https://oauth.pipedrive.com'
tags:
- Oauth
security:
- basic_authentication: []
parameters:
- in: header
name: Authorization
required: true
schema:
type: string
description: 'Base 64 encoded string containing the `client_id` and `client_secret` values. The header value should be `Basic `.'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
title: getTokensRequest
type: object
properties:
grant_type:
type: string
enum:
- authorization_code
- refresh_token
default: authorization_code
description: 'Since you are trying to exchange an authorization code for a pair of tokens, you must use the value "authorization_code"'
code:
type: string
description: The authorization code that you received after the user confirmed app installation
redirect_uri:
type: string
description: The callback URL you provided when you registered your app
responses:
'200':
description: Returns user Oauth2 tokens.
content:
application/json:
schema:
title: GetTokensResponse
type: object
properties:
access_token:
type: string
description: 'You need to use an `access_token` for accessing the user''s data via API. You will need to [refresh the access token](https://pipedrive.readme.io/docs/marketplace-oauth-authorization#step-7-refreshing-the-tokens) if the `access_token` becomes invalid.'
token_type:
type: string
description: The format of the token. Always "Bearer".
refresh_token:
type: string
description: 'A refresh token is needed when you refresh the access token. refresh_token will expire if it isn''t used in 60 days. Each time refresh_token is used, its expiry date is reset back to 60 days.'
scope:
type: string
description: List of scopes to which users have agreed to grant access within this `access_token`
expires_in:
type: integer
description: The maximum time in seconds until the `access_token` expires
api_domain:
type: string
description: 'The base URL path, including the company_domain, where the requests can be sent to'
example:
access_token: 'v1u:AQIBAHj+LzTNK1yuuuaLqifzhWb9crUNKTpk4FlQ9rjnXqp/6AErhI98syaV25RmpLJLIgOkAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMbGNxa4UccVoXAmLNAgEQgDsiQ7cNdoRBJeFr1i3KW84RYyM1Qtwq1oSBJOl/NFQdVjDI2iQH0LBhS28DbL2KDvoVIihea9Ryt/9rIQ==:RIDnTOIXo8QirT3DMYw0Y0s8xBbxz59f5IMq7T7WhSz313e2MXRHB6g+8OTNCSqVO7QsUhluoAmOfBP1FNkPycy9txn7t2Uoz9y/JDVf4Givv4MMiK/Xq3I7hO4N6FeD+2GqDJDBn24OW6b0SRIr4FEROhGo3BpcPRGehv46NLn1n5LrqXrQwO9qrGD4gIZe40oO2IQgGL9QAPDfqvZ+JhUtcpAipRLp7cCDRfYU8+sdOFJ+hLffqC8isFcV6iPsNrmj'
token_type: Bearer
expires_in: 3599
refresh_token: '1:1:2a5496a8bdd0f829dcb09dc8ba82b188f0ea4481'
scope: base
api_domain: 'https://user-company.pipedrive.com'
/oauth/token/:
post:
summary: Refreshing the tokens
description: 'The `access_token` has a lifetime. After a period of time, which was returned to you in `expires_in` JSON property, the `access_token` will be invalid, and you can no longer use it to get data from our API. To refresh the `access_token`, you must use the `refresh_token`.'
operationId: refresh-tokens
x-token-cost: 0
servers:
- url: 'https://oauth.pipedrive.com'
tags:
- Oauth
security:
- basic_authentication: []
parameters:
- in: header
name: Authorization
required: true
schema:
type: string
description: 'Base 64 encoded string containing the `client_id` and `client_secret` values. The header value should be `Basic `.'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
title: getTokensRequest
type: object
properties:
grant_type:
type: string
enum:
- authorization_code
- refresh_token
default: refresh_token
description: 'Since you are to refresh your access_token, you must use the value "refresh_token"'
refresh_token:
type: string
description: The refresh token that you received after you exchanged the authorization code
responses:
'200':
description: Returns user Oauth2 tokens.
content:
application/json:
schema:
title: GetTokensResponse
type: object
properties:
access_token:
type: string
description: 'You need to use an `access_token` for accessing the user''s data via API. You will need to [refresh the access token](https://pipedrive.readme.io/docs/marketplace-oauth-authorization#step-7-refreshing-the-tokens) if the `access_token` becomes invalid.'
token_type:
type: string
description: The format of the token. Always "Bearer".
refresh_token:
type: string
description: 'A refresh token is needed when you refresh the access token. refresh_token will expire if it isn''t used in 60 days. Each time refresh_token is used, its expiry date is reset back to 60 days.'
scope:
type: string
description: List of scopes to which users have agreed to grant access within this `access_token`
expires_in:
type: integer
description: The maximum time in seconds until the `access_token` expires
api_domain:
type: string
description: 'The base URL path, including the company_domain, where the requests can be sent to'
example:
access_token: 'v1u:AQIBAHj+LzTNK1yuuuaLqifzhWb9crUNKTpk4FlQ9rjnXqp/6AErhI98syaV25RmpLJLIgOkAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMbGNxa4UccVoXAmLNAgEQgDsiQ7cNdoRBJeFr1i3KW84RYyM1Qtwq1oSBJOl/NFQdVjDI2iQH0LBhS28DbL2KDvoVIihea9Ryt/9rIQ==:RIDnTOIXo8QirT3DMYw0Y0s8xBbxz59f5IMq7T7WhSz313e2MXRHB6g+8OTNCSqVO7QsUhluoAmOfBP1FNkPycy9txn7t2Uoz9y/JDVf4Givv4MMiK/Xq3I7hO4N6FeD+2GqDJDBn24OW6b0SRIr4FEROhGo3BpcPRGehv46NLn1n5LrqXrQwO9qrGD4gIZe40oO2IQgGL9QAPDfqvZ+JhUtcpAipRLp7cCDRfYU8+sdOFJ+hLffqC8isFcV6iPsNrmj'
token_type: Bearer
expires_in: 3599
refresh_token: '1:1:2a5496a8bdd0f829dcb09dc8ba82b188f0ea4481'
scope: base
api_domain: 'https://user-company.pipedrive.com'
'/organizations/{id}/changelog':
get:
summary: List updates about organization field values
description: Lists updates about field values of an organization.
x-token-cost: 20
operationId: getOrganizationChangelog
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'recents:read'
parameters:
- in: path
name: id
description: The ID of the organization
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 an organization
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: name
old_value: Org 10
new_value: Org 11
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: 51c27e4a19c3bedd91162a9d446707c1f95174ea
old_value: '0'
new_value: '20'
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
'/organizations/{id}/files':
get:
summary: List files attached to an organization
description: Lists files associated with an organization.
x-token-cost: 20
operationId: getOrganizationFiles
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization
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
'/organizations/{id}/flow':
get:
summary: List updates about an organization
description: Lists updates about an organization.
x-token-cost: 40
operationId: getOrganizationUpdates
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'recents:read'
parameters:
- in: path
name: id
description: The ID of the organization
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 - activity, plannedActivity, note, file, change, deal, follower, participant, mailMessage, mailMessageWithAttachment, invoice, activityFile, document).'
schema:
type: string
responses:
'200':
description: Get the organization updates
content:
application/json:
schema:
title: GetAssociatedOrganizationUpdatesResponse
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 person update. (Possible object types - organizationChange, dealChange, file, activity)'
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:
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
example:
success: true
data:
- object: organizationChange
timestamp: '2020-09-15 11:55:14'
data:
id: 3694
item_id: 1480
user_id: 9271535
field_key: owner_id
old_value: 9271535
new_value: 8877
is_bulk_update_flag: null
log_time: '2020-09-15 11:55:14'
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:
new_value_formatted: Will Smith
old_value_formatted: Robert Smith
- 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: file
timestamp: '2020-08-10 11:52:26'
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
related_objects:
allOf:
- user:
'123':
id: 123
name: Jane Doe
email: jane@pipedrive.com
has_pic: 1
pic_hash: 2611ace8ac6a3afe2f69ed56f9e08c6b
active_flag: true
- 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
'/organizations/{id}/followers':
get:
summary: List followers of an organization
description: Lists the followers of an organization.
x-token-cost: 20
operationId: getOrganizationFollowers
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetAssociatedFollowersResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
type: array
description: The array of followers
items:
allOf:
- type: object
properties:
org_id:
type: integer
description: The ID of the organization
- type: object
properties:
user_id:
type: integer
description: The user ID of the follower related to the item
id:
type: integer
description: The ID of the follower
add_time:
type: string
format: date-time
description: The date and time of adding the follower to the item
additional_data:
type: object
properties:
pagination:
description: Pagination details 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: Whether there are more list items in the collection than displayed
next_start:
type: integer
description: Next pagination start
example:
success: true
data:
- user_id: 100
id: 123
org_id: 77
add_time: '2020-09-08 08:17:52'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
next_start: 100
post:
summary: Add a follower to an organization
description: Adds a follower to an organization.
x-token-cost: 10
operationId: addOrganizationFollower
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addOrganizationFollowerRequest
type: object
required:
- user_id
properties:
user_id:
type: integer
description: The ID of the user
responses:
'200':
description: Success
content:
application/json:
schema:
title: AddOrganizationFollowerResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
allOf:
- type: object
properties:
org_id:
type: integer
description: The ID of the organization
- type: object
properties:
user_id:
type: integer
description: The user ID of the follower related to the item
id:
type: integer
description: The ID of the follower
add_time:
type: string
format: date-time
description: The date and time of adding the follower to the item
example:
success: true
data:
user_id: 100
id: 123
org_id: 77
add_time: '2020-09-08 08:17:52'
'/organizations/{id}/followers/{follower_id}':
delete:
summary: Delete a follower from an organization
description: 'Deletes a follower from an organization. You can retrieve the `follower_id` from the List followers of an organization endpoint.'
x-token-cost: 6
operationId: deleteOrganizationFollower
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization
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 organization
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteOrganizationFollowerResponse
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 follower that was deleted from the organization
example:
success: true
data:
id: 123
'/organizations/{id}/mailMessages':
get:
summary: List mail messages associated with an organization
description: Lists mail messages associated with an organization.
x-token-cost: 20
operationId: getOrganizationMailMessages
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'mail:read'
- 'mail:full'
parameters:
- in: path
name: id
description: The ID of the organization
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
'/organizations/{id}/merge':
put:
summary: Merge two organizations
description: 'Merges an organization with another organization. For more information, see the tutorial for merging two organizations.'
x-token-cost: 40
operationId: mergeOrganizations
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: mergeOrganizationsRequest
type: object
required:
- merge_with_id
properties:
merge_with_id:
type: integer
description: The ID of the organization that the organization will be merged with
responses:
'200':
description: Success
content:
application/json:
schema:
title: MergeOrganizationsResponse
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 merged organization
example:
success: true
data:
id: 123
'/organizations/{id}/permittedUsers':
get:
summary: List permitted users
description: List users permitted to access an organization.
x-token-cost: 10
operationId: getOrganizationUsers
tags:
- Organizations
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization
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
- type: object
properties:
data:
type: array
description: The list of permitted user IDs
items:
type: number
example:
success: true
data:
- 123
- 777
/organizationFields:
get:
summary: Get all organization fields
description: Returns data about all organization fields.
x-token-cost: 20
operationId: getOrganizationFields
parameters:
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
tags:
- OrganizationFields
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
- 'contact-fields:full'
- admin
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- title: FieldsResponse
- type: object
properties:
data:
type: array
items:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
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
key: title
name: Title
order_nr: 2
field_type: varchar
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options: null
mandatory_flag: true
- id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add a new organization field
description: 'Adds a new organization field. For more information, see the tutorial for adding a new custom field.'
x-token-cost: 10
operationId: addOrganizationField
tags:
- OrganizationFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
requestBody:
content:
application/json:
schema:
title: createFieldRequest
allOf:
- type: object
required:
- name
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options must be supplied as a JSON-encoded sequential array of objects. Example: `[{"label":"New Item"}]`'
add_visible_flag:
type: boolean
default: true
description: Whether the field is available in the 'add new' modal or not (both in the web and mobile app)
- type: object
required:
- field_type
properties:
field_type:
type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
delete:
summary: Delete multiple organization fields in bulk
description: Marks multiple fields as deleted.
x-token-cost: 10
operationId: deleteOrganizationFields
tags:
- OrganizationFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
parameters:
- in: query
name: ids
schema:
type: string
required: true
description: The comma-separated field IDs to delete
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: array
items:
type: integer
description: The list of deleted field IDs
example:
success: true
data:
id:
- 123
- 456
'/organizationFields/{id}':
get:
summary: Get one organization field
description: Returns data about a specific organization field.
x-token-cost: 2
operationId: getOrganizationField
tags:
- OrganizationFields
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
- 'contact-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
delete:
summary: Delete an organization field
description: 'Marks a field as deleted. For more information, see the tutorial for deleting a custom field.'
x-token-cost: 6
operationId: deleteOrganizationField
tags:
- OrganizationFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the field that was deleted
example:
success: true
data:
id: 123
put:
summary: Update an organization field
description: 'Updates an organization field. For more information, see the tutorial for updating custom fields'' values.'
x-token-cost: 10
operationId: updateOrganizationField
tags:
- OrganizationFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateFieldRequest
type: object
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options must be supplied as a JSON-encoded sequential array of objects. All active items must be supplied and already existing items must have their ID supplied. New items only require a label. Example: `[{"id":123,"label":"Existing Item"},{"label":"New Item"}]`'
add_visible_flag:
type: boolean
default: true
description: Whether the field is available in 'add new' modal or not (both in web and mobile app)
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
/organizationRelationships:
get:
summary: Get all relationships for organization
description: Gets all of the relationships for a supplied organization ID.
x-token-cost: 20
operationId: getOrganizationRelationships
tags:
- OrganizationRelationships
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: query
name: org_id
required: true
schema:
type: integer
description: The ID of the organization to get relationships for
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetOrganizationRelationshipsResponse
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 organization relationships
items:
title: organizationRelationshipDetails
allOf:
- title: organizationRelationshipWithCalculatedFields
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the organization relationship
type:
type: string
description: The type of the relationship
rel_owner_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
rel_linked_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
add_time:
type: string
description: The creation date and time of the relationship
update_time:
type: string
description: The last updated date and time of the relationship
active_flag:
type: string
description: Whether the relationship is active or not
- type: object
properties:
calculated_type:
type: string
description: The calculated type of the relationship with the linked organization
calculated_related_org_id:
type: integer
description: The ID of the linked organization
- type: object
properties:
related_organization_name:
type: string
description: The name of the linked organization
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:
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
example:
success: true
data:
- related_organization_name: Telia
calculated_type: daughter
calculated_related_org_id: 1480
id: 1
type: parent
rel_owner_org_id:
name: Pipedrive Inc.
people_count: 1
owner_id: 925000
address: 'Mustamäe tee 3a, 10615 Tallinn'
active_flag: true
cc_email: company@pipedrivemail.com
value: 1481
rel_linked_org_id:
name: Telia
people_count: 2
owner_id: 925000
address: USA
active_flag: true
cc_email: company@pipedrivemail.com
value: 1480
add_time: '2020-09-22 08:58:28'
update_time: '2020-09-22 08:58:28'
active_flag: 'true'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
related_objects:
organization:
'1482':
id: 457
name: Yandex
people_count: 2
owner_id: 9271535
address: 'Mustamäe tee 4b, 10615 Tallinn'
active_flag: true
cc_email: org@pipedrivemail.com
post:
summary: Create an organization relationship
description: Creates and returns an organization relationship.
x-token-cost: 10
operationId: addOrganizationRelationship
tags:
- OrganizationRelationships
security:
- api_key: []
- oauth2:
- 'contacts:full'
requestBody:
content:
application/json:
schema:
title: addOrganizationRelationshipRequest
type: object
required:
- type
- rel_owner_org_id
- rel_linked_org_id
properties:
org_id:
type: integer
description: The ID of the base organization for the returned calculated values
type:
type: string
enum:
- parent
- related
description: The type of organization relationship
rel_owner_org_id:
type: integer
description: 'The owner of the relationship. If type is `parent`, then the owner is the parent and the linked organization is the daughter.'
rel_linked_org_id:
type: integer
description: 'The linked organization in the relationship. If type is `parent`, then the linked organization is the daughter.'
responses:
'200':
description: Success
content:
application/json:
schema:
title: AddOrganizationRelationshipResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the organization relationship
type:
type: string
description: The type of the relationship
rel_owner_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
rel_linked_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
add_time:
type: string
description: The creation date and time of the relationship
update_time:
type: string
description: The last updated date and time of the relationship
active_flag:
type: string
description: Whether the relationship is active or not
related_objects:
type: object
properties:
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
example:
success: true
data:
id: 1
type: parent
rel_owner_org_id:
name: Pipedrive Inc.
people_count: 1
owner_id: 925000
address: 'Mustamäe tee 3a, 10615 Tallinn'
active_flag: true
cc_email: company@pipedrivemail.com
value: 1481
rel_linked_org_id:
name: Telia
people_count: 2
owner_id: 925000
address: USA
active_flag: true
cc_email: company@pipedrivemail.com
value: 1480
add_time: '2020-09-22 08:58:28'
update_time: '2020-09-22 08:58:28'
active_flag: 'true'
related_objects:
organization:
'1482':
id: 457
name: Yandex
people_count: 2
owner_id: 9271535
address: 'Mustamäe tee 4b, 10615 Tallinn'
active_flag: true
cc_email: org@pipedrivemail.com
'/organizationRelationships/{id}':
delete:
summary: Delete an organization relationship
description: Deletes an organization relationship and returns the deleted ID.
x-token-cost: 6
operationId: deleteOrganizationRelationship
tags:
- OrganizationRelationships
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization relationship
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteOrganizationRelationshipResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deleted organization relationship
example:
success: true
data:
id: 10
get:
summary: Get one organization relationship
description: Finds and returns an organization relationship from its ID.
x-token-cost: 2
operationId: getOrganizationRelationship
tags:
- OrganizationRelationships
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization relationship
required: true
schema:
type: integer
- in: query
name: org_id
required: false
schema:
type: integer
description: The ID of the base organization for the returned calculated values
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetOrganizationRelationshipResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
title: organizationRelationshipWithCalculatedFields
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the organization relationship
type:
type: string
description: The type of the relationship
rel_owner_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
rel_linked_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
add_time:
type: string
description: The creation date and time of the relationship
update_time:
type: string
description: The last updated date and time of the relationship
active_flag:
type: string
description: Whether the relationship is active or not
- type: object
properties:
calculated_type:
type: string
description: The calculated type of the relationship with the linked organization
calculated_related_org_id:
type: integer
description: The ID of the linked organization
related_objects:
type: object
properties:
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
example:
success: true
data:
id: 1
type: parent
rel_owner_org_id:
name: Pipedrive Inc.
people_count: 1
owner_id: 925000
address: 'Mustamäe tee 3a, 10615 Tallinn'
active_flag: true
cc_email: company@pipedrivemail.com
value: 1481
rel_linked_org_id:
name: Telia
people_count: 2
owner_id: 925000
address: USA
active_flag: true
cc_email: company@pipedrivemail.com
value: 1480
add_time: '2020-09-22 08:58:28'
update_time: '2020-09-22 08:58:28'
active_flag: 'true'
calculated_type: daughter
calculated_related_org_id: 1480
related_objects:
organization:
'1482':
id: 457
name: Yandex
people_count: 2
owner_id: 9271535
address: 'Mustamäe tee 4b, 10615 Tallinn'
active_flag: true
cc_email: org@pipedrivemail.com
put:
summary: Update an organization relationship
description: Updates and returns an organization relationship.
x-token-cost: 10
operationId: updateOrganizationRelationship
tags:
- OrganizationRelationships
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the organization relationship
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: organizationRelationship
type: object
properties:
org_id:
type: integer
description: The ID of the base organization for the returned calculated values
type:
type: string
enum:
- parent
- related
description: The type of organization relationship
rel_owner_org_id:
type: integer
description: 'The owner of this relationship. If type is `parent`, then the owner is the parent and the linked organization is the daughter.'
rel_linked_org_id:
type: integer
description: 'The linked organization in this relationship. If type is `parent`, then the linked organization is the daughter.'
responses:
'200':
description: Success
content:
application/json:
schema:
title: UpdateOrganizationRelationshipResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the organization relationship
type:
type: string
description: The type of the relationship
rel_owner_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
rel_linked_org_id:
title: relationshipOrganizationInfoItem
allOf:
- 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
- type: object
properties:
value:
type: integer
description: The ID of the organization
add_time:
type: string
description: The creation date and time of the relationship
update_time:
type: string
description: The last updated date and time of the relationship
active_flag:
type: string
description: Whether the relationship is active or not
related_objects:
type: object
properties:
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
example:
success: true
data:
id: 1
type: parent
rel_owner_org_id:
name: Pipedrive Inc.
people_count: 1
owner_id: 925000
address: 'Mustamäe tee 3a, 10615 Tallinn'
active_flag: true
cc_email: company@pipedrivemail.com
value: 1481
rel_linked_org_id:
name: Telia
people_count: 2
owner_id: 925000
address: USA
active_flag: true
cc_email: company@pipedrivemail.com
value: 1480
add_time: '2020-09-22 08:58:28'
update_time: '2020-09-22 08:58:28'
active_flag: 'true'
related_objects:
organization:
'1482':
id: 457
name: Yandex
people_count: 2
owner_id: 9271535
address: 'Mustamäe tee 4b, 10615 Tallinn'
active_flag: true
cc_email: org@pipedrivemail.com
/permissionSets:
get:
summary: Get all permission sets
description: Returns data about all permission sets.
x-token-cost: 20
operationId: getPermissionSets
tags:
- PermissionSets
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: query
name: app
description: The app to filter the permission sets by
schema:
type: string
enum:
- sales
- projects
- campaigns
- global
- account_settings
responses:
'200':
description: Get all permissions
content:
application/json:
schema:
title: GetPermissionSetsResponse
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
title: PermissionSet
properties:
id:
type: string
description: The ID of user permission set
name:
type: string
description: The name of the permission set
description:
type: string
description: The description of the permission set
app:
type: string
description: The app that permission set belongs to
enum:
- sales
- projects
- campaigns
- global
- account_settings
type:
type: string
description: The type of permission set
enum:
- admin
- manager
- regular
- custom
assignment_count:
type: integer
description: The number of users assigned to this permission set
description: The array of permission set
example:
success: true
data:
- id: 62cc4d7f-4038-4352-abf3-a8c1c822b631
name: Deals admin
description: 'See and edit all sales data (deals, leads), manage company-level sales setup (such as lost reasons and pipelines)'
app: sales
type: admin
assignment_count: 1
- id: f07d229d-088a-4144-a40f-1fe64295d180
name: Deals regular user
description: 'Access to sales data (deals, leads) and available actions may be limited depending on the custom permission setup. This set is the default for new users.'
app: sales
type: regular
assignment_count: 3
- id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
name: Global admin
description: 'See and edit all cross-product data (such as contacts, activities, reports) and access related features'
app: global
type: admin
assignment_count: 1
- id: ec8a42e5-1842-490d-9113-b3a3b4b1c0a9
name: Global regular user
description: 'Access to cross-product data (such as contacts, activities, reports) and available actions may be limited depending on the custom permission setup. This set is the default for new users.'
app: global
type: regular
assignment_count: 2
- id: 982c5ce5-b8ba-4b47-b102-9da024f4b990
name: Account settings
description: 'Access company account level features and setup (billing, security center, company settings, user management)'
app: account_settings
type: admin
assignment_count: 1
'/permissionSets/{id}':
get:
summary: Get one permission set
description: Returns data about a specific permission set.
x-token-cost: 2
operationId: getPermissionSet
tags:
- PermissionSets
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the permission set
required: true
schema:
type: string
responses:
'200':
description: The permission set of a specific user ID
content:
application/json:
schema:
title: GetPermissionSetResponse
allOf:
- type: object
title: PermissionSet
properties:
id:
type: string
description: The ID of user permission set
name:
type: string
description: The name of the permission set
description:
type: string
description: The description of the permission set
app:
type: string
description: The app that permission set belongs to
enum:
- sales
- projects
- campaigns
- global
- account_settings
type:
type: string
description: The type of permission set
enum:
- admin
- manager
- regular
- custom
assignment_count:
type: integer
description: The number of users assigned to this permission set
- type: object
properties:
contents:
type: array
description: A permission assigned to this permission set
items:
type: string
example:
success: true
data:
- id: f07d229d-088a-4144-a40f-1fe64295d180
name: Deals regular user
description: 'Access to sales data (deals, leads) and available actions may be limited depending on the custom permission setup. This set is the default for new users.'
app: sales
assignment_count: 3
contents:
- can_add_products
- can_bulk_edit_items
- can_change_visibility_of_items
- can_delete_activities
- can_edit_products
- can_edit_shared_filters
- can_export_data_from_lists
- can_see_deals_list_summary
- can_see_other_users
- can_share_filters
- can_use_api
- can_use_email_tracking
'404':
description: 'If the user ID has no assignments, then it will return NotFound'
content:
application/json:
schema:
title: NotFoundResponse
'/permissionSets/{id}/assignments':
get:
summary: List permission set assignments
description: Returns the list of assignments for a permission set.
x-token-cost: 20
operationId: getPermissionSetAssignments
tags:
- PermissionSets
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the permission set
required: true
schema:
type: string
- 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: The assignments of a specific user ID
content:
application/json:
schema:
title: GetUserAssignmentsToPermissionSetResponse
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:
user_id:
type: integer
description: The ID of the user in the permission set
permission_set_id:
type: string
description: The ID of the permission set
name:
type: string
description: The name of the permission set
description: An array of the assignments of the user
example:
success: true
data:
- user_id: 10
permission_set_id: f07d229d-088a-4144-a40f-1fe64295d180
name: Deals regular user
'404':
description: 'If the user ID has no assignments, then it will return NotFound'
content:
application/json:
schema:
title: NotFoundResponse
'/persons/{id}/changelog':
get:
summary: List updates about person field values
description: Lists updates about field values of a person.
x-token-cost: 20
operationId: getPersonChangelog
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'recents:read'
parameters:
- in: path
name: id
description: The ID of the person
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 person
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: 51c27e4a19c3bedd91162a9d446707c1f95174ea
old_value: null
new_value: '200'
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: email
old_value: john.doe@pipedrive.com
new_value: jane.doe@pipedrive.com
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
'/persons/{id}/files':
get:
summary: List files attached to a person
description: Lists files associated with a person.
x-token-cost: 20
operationId: getPersonFiles
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
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
'/persons/{id}/flow':
get:
summary: List updates about a person
description: 'Lists updates about a person.
If a company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint''s response will also include updates for the `marketing_status` field.'
x-token-cost: 40
operationId: getPersonUpdates
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'recents:read'
parameters:
- in: path
name: id
description: The ID of the person
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 person updates
content:
application/json:
schema:
title: GetAssociatedPersonUpdatesResponse
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 person update. (Possible object types - personChange, note, activity, 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: personChange
timestamp: '2020-08-03 11:25:21'
data:
id: 11158
item_id: 3512
user_id: 8877
field_key: org_id
old_value: null
new_value: 1482
is_bulk_update_flag: null
log_time: '2020-08-03 11:25:21'
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.89 Safari/537.36
additional_data:
new_value_formatted: Umbrella Corp.
- 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'
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
'/persons/{id}/followers':
get:
summary: List followers of a person
description: Lists the followers of a person.
x-token-cost: 20
operationId: getPersonFollowers
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
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 person
description: Adds a follower to a person.
x-token-cost: 10
operationId: addPersonFollower
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addPersonFollowerRequest
type: object
required:
- user_id
properties:
user_id:
type: integer
description: The ID of the user
responses:
'200':
description: Success
content:
application/json:
schema:
title: AddPersonFollowerResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
user_id:
type: integer
description: The ID of the user who was added as a follower to a person
id:
type: integer
description: The ID of the follower
person_id:
type: integer
description: The ID of the person to whom the follower was added
add_time:
type: string
description: 'The date and time when the follower was added to a person. Format: YYYY-MM-DD HH:MM:SS'
example:
success: true
data:
user_id: 1
id: 2
person_id: 3
add_time: '2020-04-03 11:44:31'
'/persons/{id}/followers/{follower_id}':
delete:
summary: Delete a follower from a person
description: Deletes a follower from a person.
x-token-cost: 6
operationId: deletePersonFollower
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
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 person
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeletePersonResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deleted person
example:
success: true
data:
id: 12
'/persons/{id}/mailMessages':
get:
summary: List mail messages associated with a person
description: Lists mail messages associated with a person.
x-token-cost: 20
operationId: getPersonMailMessages
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'mail:read'
- 'mail:full'
parameters:
- in: path
name: id
description: The ID of the person
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
'/persons/{id}/merge':
put:
summary: Merge two persons
description: 'Merges a person with another person. For more information, see the tutorial for merging two persons.'
x-token-cost: 40
operationId: mergePersons
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: mergePersonsRequest
type: object
required:
- merge_with_id
properties:
merge_with_id:
type: integer
description: The ID of the person that will not be overwritten. This person’s data will be prioritized in case of conflict with the other person.
responses:
'200':
description: Success
content:
application/json:
schema:
title: MergePersonsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: mergePersonItem
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: additionalMergePersonInfo
allOf:
- type: object
title: personNameCountAndEmailInfoWithIds
allOf:
- type: object
properties:
owner_id:
type: integer
description: The ID of the owner related to the person
org_id:
type: integer
description: The ID of the organization related to the person
merge_what_id:
type: integer
description: The ID of the person with what the main person was merged
- type: object
title: personNameCountAndEmailInfo
allOf:
- 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: 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: mergePersonDealRelatedInfo
allOf:
- 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
- type: object
properties:
participant_open_deals_count:
type: integer
description: The count of open participant deals related with the item
participant_closed_deals_count:
type: integer
description: The count of closed participant deals related with the item
example:
success: true
data:
id: 1
company_id: 12
owner_id: 123
org_id: 123
name: Will Smith
first_name: Will
last_name: Smith
open_deals_count: 2
related_open_deals_count: 2
closed_deals_count: 3
related_closed_deals_count: 3
participant_open_deals_count: 1
participant_closed_deals_count: 1
email_messages_count: 1
activities_count: 1
done_activities_count: 1
undone_activities_count: 2
files_count: 2
notes_count: 2
followers_count: 3
won_deals_count: 3
related_won_deals_count: 3
lost_deals_count: 1
related_lost_deals_count: 1
active_flag: true
phone:
- value: '12345'
primary: true
label: work
email:
- value: some@email.com
primary: true
label: work
first_char: w
update_time: '2020-05-08 05:30:20'
add_time: '2017-10-18 13:23:07'
visible_to: '3'
picture_id:
item_type: person
item_id: 25
active_flag: true
add_time: '2020-09-08 08:17:52'
update_time: '0000-00-00 00:00:00'
added_by_user_id: 967055
pictures:
'128': 'https://pipedrive-profile-pics.s3.example.com/f8893852574273f2747bf6ef09d11cfb4ac8f269_128.jpg'
'512': 'https://pipedrive-profile-pics.s3.example.com/f8893852574273f2747bf6ef09d11cfb4ac8f269_512.jpg'
value: 4
next_activity_date: '2019-11-29'
next_activity_time: '11:30:00'
next_activity_id: 128
last_activity_id: 34
last_activity_date: '2019-11-28'
last_incoming_mail_time: '2019-05-29 18:21:42'
last_outgoing_mail_time: '2019-05-30 03:45:35'
label: 1
label_ids:
- 1
- 2
- 3
org_name: Organization name
owner_name: Jane Doe
cc_email: org@pipedrivemail.com
merge_what_id: 456
'/persons/{id}/permittedUsers':
get:
summary: List permitted users
description: List users permitted to access a person.
x-token-cost: 10
operationId: getPersonUsers
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
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
- type: object
properties:
data:
type: array
description: The list of permitted user IDs
items:
type: number
example:
success: true
data:
- 123
- 777
'/persons/{id}/picture':
delete:
summary: Delete person picture
description: Deletes a person’s picture.
x-token-cost: 6
operationId: deletePersonPicture
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeletePersonResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the deleted person
example:
success: true
data:
id: 12
post:
summary: Add person picture
description: 'Adds a picture to a person. If a picture is already set, the old picture will be replaced. Added image (or the cropping parameters supplied with the request) should have an equal width and height and should be at least 128 pixels. GIF, JPG and PNG are accepted. All added images will be resized to 128 and 512 pixel wide squares.'
x-token-cost: 10
operationId: addPersonPicture
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
required: true
schema:
type: integer
requestBody:
content:
multipart/form-data:
schema:
title: addPersonPictureRequest
type: object
required:
- file
properties:
file:
type: string
format: binary
description: One image supplied in the multipart/form-data encoding
crop_x:
type: integer
description: X coordinate to where start cropping form (in pixels)
crop_y:
type: integer
description: Y coordinate to where start cropping form (in pixels)
crop_width:
type: integer
description: The width of the cropping area (in pixels)
crop_height:
type: integer
description: The height of the cropping area (in pixels)
responses:
'200':
description: Success
content:
application/json:
schema:
title: AddPersonPictureResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: RelatedPictureData
description: The picture that is associated with the item
properties:
PICTURE_ID:
type: object
description: The ID of the picture
allOf:
- allOf:
- type: object
title: PictureDataWithID
properties:
id:
type: integer
description: The ID of the picture associated with the item
- type: object
title: PictureData
properties:
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
example:
success: true
data:
id: 1
item_type: person
item_id: 25
active_flag: true
add_time: '2020-09-08 08:17:52'
update_time: '0000-00-00 00:00:00'
added_by_user_id: 967055
pictures:
'128': 'https://pipedrive-profile-pics.s3.example.com/f8893852574273f2747bf6ef09d11cfb4ac8f269_128.jpg'
'512': 'https://pipedrive-profile-pics.s3.example.com/f8893852574273f2747bf6ef09d11cfb4ac8f269_512.jpg'
'/persons/{id}/products':
get:
summary: List products associated with a person
description: Lists products associated with a person.
x-token-cost: 20
operationId: getPersonProducts
tags:
- Persons
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
parameters:
- in: path
name: id
description: The ID of the person
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: GetPersonProductsResponse
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 deal products
items:
type: object
properties:
DEAL_ID:
type: object
properties:
deal:
type: object
properties:
id:
type: integer
description: The ID of the deal
company_id:
type: integer
description: The ID of the company
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
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
first_add_time:
type: string
description: The first 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
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
product:
type: object
properties:
id:
type: integer
description: The ID of the product
company_id:
type: integer
description: The ID of the company
name:
type: string
description: The name of the product
code:
type: string
description: The product code
description:
type: string
description: The description of the product
unit:
type: string
description: The unit in which this product is sold
tax:
type: number
description: The tax percentage
default: 0
category:
type: string
description: The category of the product
active_flag:
type: boolean
description: Whether this product will be made active or not
default: true
selectable:
type: boolean
description: Whether this product can be selected in deals or not
default: true
first_char:
type: string
description: The first letter of the product name
visible_to:
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: 'The visibility of the product. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.| Value | Description |
|---|
| `1` | Owner & followers (private) |
| `3` | Entire company (shared) |
'
owner_id:
type: integer
description: 'The ID of the user who will be marked as the owner of this product. When omitted, the authorized user ID will be used'
files_count:
type: integer
description: The count of files
add_time:
type: string
description: The date and time when the product was added to the deal
update_time:
type: string
description: The date and time when the product was updated to the deal
deal_id:
type: integer
description: The ID of the deal
additional_data:
type: object
properties:
pagination:
description: Pagination details 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: Whether there are more list items in the collection than displayed
next_start:
type: integer
description: Next pagination start
example:
success: true
data:
- '123':
deal:
id: 123
company_id: 1938610
creator_user_id: 599218
user_id: 599218
person_id: 25
org_id: 1
stage_id: 2
title: tervist
value: 3342.79
currency: EUR
add_time: '2017-10-18 13:23:07'
first_add_time: '2017-10-18 13:23:07'
update_time: '2020-09-18 12:12:54'
stage_change_time: '2020-05-07 11:44:00'
active: true
deleted: false
status: open
probability: null
next_activity_date: '2020-01-17'
next_activity_time: null
next_activity_id: 7
last_activity_id: null
last_activity_date: null
lost_reason: null
visible_to: '3'
close_time: null
pipeline_id: 1
won_time: null
first_won_time: null
lost_time: null
products_count: 6
files_count: 1
notes_count: 0
email_messages_count: 0
activities_count: 1
done_activities_count: 0
undone_activities_count: 1
participants_count: 2
expected_close_date: null
last_incoming_mail_time: '2020-09-18 12:12:54'
last_outgoing_mail_time: '2020-09-18 12:12:54'
label: null
product:
id: 4
company_id: 1938610
name: '1234'
code: '444'
description: '123'
unit: ''
tax: 0
category: '40'
active_flag: true
selectable: true
first_char: '1'
visible_to: '3'
owner_id: 967055
files_count: null
add_time: '2020-01-28 11:54:41'
update_time: '2020-09-18 11:54:36'
deal_id: 5
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
/personFields:
get:
summary: Get all person fields
description: 'Returns data about all person fields.
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: 20
operationId: getPersonFields
parameters:
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
tags:
- PersonFields
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
- 'contact-fields:full'
- admin
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- title: FieldsResponse
- type: object
properties:
data:
type: array
items:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
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
key: title
name: Title
order_nr: 2
field_type: varchar
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options: null
mandatory_flag: true
- id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add a new person field
description: 'Adds a new person field. For more information, see the tutorial for adding a new custom field.'
x-token-cost: 10
operationId: addPersonField
tags:
- PersonFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
requestBody:
content:
application/json:
schema:
title: createFieldRequest
allOf:
- type: object
required:
- name
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options must be supplied as a JSON-encoded sequential array of objects. Example: `[{"label":"New Item"}]`'
add_visible_flag:
type: boolean
default: true
description: Whether the field is available in the 'add new' modal or not (both in the web and mobile app)
- type: object
required:
- field_type
properties:
field_type:
type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
delete:
summary: Delete multiple person fields in bulk
description: Marks multiple fields as deleted.
x-token-cost: 10
operationId: deletePersonFields
tags:
- PersonFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
parameters:
- in: query
name: ids
schema:
type: string
required: true
description: The comma-separated field IDs to delete
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteFieldsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: array
items:
type: integer
description: The list of deleted field IDs
example:
success: true
data:
id:
- 123
- 456
'/personFields/{id}':
get:
summary: Get one person field
description: Returns data about a specific person field.
x-token-cost: 2
operationId: getPersonField
tags:
- PersonFields
security:
- api_key: []
- oauth2:
- 'contacts:read'
- 'contacts:full'
- 'contact-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
delete:
summary: Delete a person field
description: 'Marks a field as deleted. For more information, see the tutorial for deleting a custom field.'
x-token-cost: 6
operationId: deletePersonField
tags:
- PersonFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
title: DeleteResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the field that was deleted
example:
success: true
data:
id: 123
put:
summary: Update a person field
description: 'Updates a person field. For more information, see the tutorial for updating custom fields'' values.'
x-token-cost: 10
operationId: updatePersonField
tags:
- PersonFields
security:
- api_key: []
- oauth2:
- 'contact-fields:full'
- admin
parameters:
- in: path
name: id
description: The ID of the field
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateFieldRequest
type: object
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options must be supplied as a JSON-encoded sequential array of objects. All active items must be supplied and already existing items must have their ID supplied. New items only require a label. Example: `[{"id":123,"label":"Existing Item"},{"label":"New Item"}]`'
add_visible_flag:
type: boolean
default: true
description: Whether the field is available in 'add new' modal or not (both in web and mobile app)
responses:
'200':
description: Success
content:
application/json:
schema:
title: GetFieldResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetField
allOf:
- title: Field
type: object
properties:
id:
type: integer
nullable: true
description: The ID of the field. Value is `null` in case of subfields.
key:
type: string
description: The key of the field. For custom fields this is generated upon creation.
name:
type: string
description: The name of the field
order_nr:
type: integer
description: The order number of the field
field_type:
allOf:
- type: string
enum:
- address
- date
- daterange
- double
- enum
- monetary
- org
- people
- phone
- set
- text
- time
- timerange
- user
- varchar
- varchar_auto
- visible_to
description: 'The type of the field| Value | Description |
|---|
| `address` | Address field |
| `date` | Date (format YYYY-MM-DD) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `double` | Numeric value |
| `enum` | Options field with a single possible chosen option |
|
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a person ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `set` | Options field with a possibility of having multiple chosen options |
| `text` | Long text (up to 65k characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `visible_to` | System field that keeps item''s visibility setting |
'
add_time:
type: string
format: date-time
description: The creation time of the field
update_time:
type: string
format: date-time
nullable: true
description: The update time of the field
last_updated_by_user_id:
type: integer
nullable: true
description: 'The ID of the user who created or most recently updated the field, only applicable for custom fields'
created_by_user_id:
type: integer
nullable: true
description: The ID of the user who created the field
active_flag:
type: boolean
description: The active flag of the field
edit_flag:
type: boolean
description: The edit flag of the field
index_visible_flag:
type: boolean
description: Not used
details_visible_flag:
type: boolean
description: Not used
add_visible_flag:
type: boolean
description: Not used
important_flag:
type: boolean
description: Not used
bulk_edit_allowed:
type: boolean
description: Whether or not the field of an item can be edited in bulk
searchable_flag:
type: boolean
description: Whether or not items can be searched by this field
filtering_allowed:
type: boolean
description: Whether or not items can be filtered by this field
sortable_flag:
type: boolean
description: Whether or not items can be sorted by this field
mandatory_flag:
type: boolean
description: Whether or not the field is mandatory
options:
type: array
nullable: true
items:
type: object
description: 'The options of the field. When there are no options, `null` is returned.'
options_deleted:
type: array
items:
type: object
description: The deleted options of the field. Only present when there is at least 1 deleted option.
is_subfield:
type: boolean
description: Whether or not the field is a subfield of another field. Only present if field is subfield.
subfields:
type: array
items:
type: object
description: The subfields of the field. Only present when the field has subfields.
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
example:
success: true
data:
id: 2
key: 9dc80c50d78a15643bfc4ca79d76156a73a1ca0e
name: Customer Type
order_nr: 1
field_type: enum
add_time: '2019-02-04 13:58:03'
update_time: '2019-02-04 13:58:03'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 190
label: Private person
- id: 191
label: Company
- id: 192
label: Government
mandatory_flag: true
'/pipelines/{id}/conversion_statistics':
get:
summary: Get deals conversion rates in pipeline
description: Returns all stage-to-stage conversion and pipeline-to-close rates for the given time period.
x-token-cost: 40
operationId: getPipelineConversionStatistics
tags:
- Pipelines
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
parameters:
- in: path
name: id
description: The ID of the pipeline
required: true
schema:
type: integer
- in: query
name: start_date
required: true
schema:
type: string
format: date
description: The start of the period. Date in format of YYYY-MM-DD.
- in: query
name: end_date
required: true
schema:
type: string
format: date
description: The end of the period. Date in format of YYYY-MM-DD.
- in: query
name: user_id
schema:
type: integer
description: 'The ID of the user who''s pipeline metrics statistics to fetch. If omitted, the authorized user will be used.'
responses:
'200':
description: Get pipeline deals conversion rates
content:
application/json:
schema:
type: object
title: GetPipelineDealsConversionRatesInResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
description: The pipeline object
properties:
stage_conversions:
type: array
description: The stage conversions
items:
type: object
properties:
from_stage_id:
type: integer
description: The stage ID from where conversion starts
to_stage_id:
type: integer
description: The stage ID to where conversion ends
conversion_rate:
type: integer
description: The conversion rate
won_conversion:
type: integer
description: The won conversion
lost_conversion:
type: integer
description: The lost conversion
example:
success: true
data:
stage_conversions:
- from_stage_id: 1
to_stage_id: 2
conversion_rate: 0
won_conversion: 0
lost_conversion: 0
'/pipelines/{id}/deals':
get:
summary: Get deals in a pipeline
description: 'Lists deals in a specific pipeline across all its stages. If no parameters are provided open deals owned by the authorized user will be returned.
This endpoint has been deprecated. Please use GET /api/v2/deals?pipeline_id={id} instead.'
x-token-cost: 20
operationId: getPipelineDeals
deprecated: true
tags:
- Pipelines
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
parameters:
- in: path
name: id
description: The ID of the pipeline
required: true
schema:
type: integer
- in: query
name: filter_id
schema:
type: integer
description: 'If supplied, only deals matching the given filter will be returned'
- in: query
name: user_id
schema:
type: integer
description: 'If supplied, `filter_id` will not be considered and only deals owned by the given user will be returned. If omitted, deals owned by the authorized user will be returned.'
- in: query
name: everyone
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If supplied, `filter_id` and `user_id` will not be considered – instead, deals owned by everyone will be returned'
- in: query
name: stage_id
schema:
type: integer
description: 'If supplied, only deals within the given stage will be returned'
- 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: get_summary
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: Whether to include a summary of the pipeline in the `additional_data` or not
- in: query
name: totals_convert_currency
schema:
type: string
description: 'The 3-letter currency code of any of the supported currencies. When supplied, `per_stages_converted` is returned inside `deals_summary` inside `additional_data` which contains the currency-converted total amounts in the given currency per each stage. You may also set this parameter to `default_currency` in which case users default currency is used. Only works when `get_summary` parameter flag is enabled.'
responses:
'200':
description: Get deals in a stage
content:
application/json:
schema:
title: GetStageDealsResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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
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
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: '2019-11-27 11:40:36'
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
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
'/pipelines/{id}/movement_statistics':
get:
summary: Get deals movements in pipeline
description: Returns statistics for deals movements for the given time period.
x-token-cost: 40
operationId: getPipelineMovementStatistics
tags:
- Pipelines
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
parameters:
- in: path
name: id
description: The ID of the pipeline
required: true
schema:
type: integer
- in: query
name: start_date
required: true
schema:
type: string
format: date
description: The start of the period. Date in format of YYYY-MM-DD.
- in: query
name: end_date
required: true
schema:
type: string
format: date
description: The end of the period. Date in format of YYYY-MM-DD.
- in: query
name: user_id
schema:
type: integer
description: 'The ID of the user who''s pipeline statistics to fetch. If omitted, the authorized user will be used.'
responses:
'200':
description: Get pipeline deals conversion rates
content:
application/json:
schema:
type: object
title: GetPipelineDealsMovementsStatisticsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
description: The pipeline object
properties:
movements_between_stages:
type: object
description: Movements between stages
properties:
count:
type: integer
description: The count of the deals that have been moved between stages
new_deals:
type: object
description: Deals summary
properties:
count:
type: integer
description: The count of the deals
deals_ids:
type: array
description: The IDs of the deals that have been moved
items:
type: integer
values:
type: object
description: The values of the deals
properties:
CURRENCY_ID:
type: integer
description: The value of the deals
formatted_values:
type: object
description: The formatted values of the deals
properties:
CURRENCY_ID:
type: string
description: The formatted values of the deals
deals_left_open:
type: object
description: Deals summary
properties:
count:
type: integer
description: The count of the deals
deals_ids:
type: array
description: The IDs of the deals that have been moved
items:
type: integer
values:
type: object
description: The values of the deals
properties:
CURRENCY_ID:
type: integer
description: The value of the deals
formatted_values:
type: object
description: The formatted values of the deals
properties:
CURRENCY_ID:
type: string
description: The formatted values of the deals
won_deals:
type: object
description: Deals summary
properties:
count:
type: integer
description: The count of the deals
deals_ids:
type: array
description: The IDs of the deals that have been moved
items:
type: integer
values:
type: object
description: The values of the deals
properties:
CURRENCY_ID:
type: integer
description: The value of the deals
formatted_values:
type: object
description: The formatted values of the deals
properties:
CURRENCY_ID:
type: string
description: The formatted values of the deals
lost_deals:
type: object
description: Deals summary
properties:
count:
type: integer
description: The count of the deals
deals_ids:
type: array
description: The IDs of the deals that have been moved
items:
type: integer
values:
type: object
description: The values of the deals
properties:
CURRENCY_ID:
type: integer
description: The value of the deals
formatted_values:
type: object
description: The formatted values of the deals
properties:
CURRENCY_ID:
type: string
description: The formatted values of the deals
average_age_in_days:
type: object
description: The moved deals average age in days
properties:
across_all_stages:
type: integer
description: The moved deals average age across all stages
by_stages:
type: array
description: The moved deals average age by stages
items:
type: object
description: The moved deals average age by the stage
properties:
stage_id:
type: integer
description: The stage ID
value:
type: integer
description: The average deals age in specific stage
example:
success: true
data:
movements_between_stages:
count: 1
new_deals:
count: 1
deals_ids:
- 1
- 2
values:
USD: 10
formatted_values:
USD: US$10
deals_left_open:
count: 1
deals_ids:
- 1
- 2
values:
USD: 10
formatted_values:
USD: US$10
won_deals:
count: 1
deals_ids:
- 1
- 2
values:
USD: 10
formatted_values:
USD: US$10
lost_deals:
count: 1
deals_ids:
- 1
- 2
values:
USD: 10
formatted_values:
USD: US$10
average_age_in_days:
across_all_stages: 2
by_stages:
- stage_id: 10
value: 15
'/products/{id}/deals':
get:
summary: Get deals where a product is attached to
description: Returns data about deals that have a product attached to it.
x-token-cost: 20
operationId: getProductDeals
tags:
- Products
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
parameters:
- in: path
name: id
description: The ID of the product
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: 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.'
responses:
'200':
description: The data of deals that have a product attached
content:
application/json:
schema:
title: GetAssociatedDealsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
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:
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
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
stage:
type: object
title: BaseStage
properties:
id:
type: integer
description: The ID of the stage
order_nr:
type: integer
description: Defines the order of the stage
name:
type: string
description: The name of the stage
active_flag:
type: boolean
description: Whether the stage is active or deleted
deal_probability:
type: integer
description: The success probability percentage of the deal. Used/shown when the deal weighted values are used.
pipeline_id:
type: integer
description: The ID of the pipeline to add the stage to
rotten_flag:
type: boolean
description: Whether deals in this stage can become rotten
rotten_days:
type: integer
description: The number of days the deals not updated in this stage would become rotten. Applies only if the `rotten_flag` is set.
add_time:
type: string
description: 'The stage creation time. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The stage update time. Format: YYYY-MM-DD HH:MM:SS.'
pipeline:
type: object
title: BasePipeline
properties:
id:
type: integer
description: The ID of the pipeline
name:
type: string
description: The name of the pipeline
url_title:
type: string
description: The pipeline title displayed in the URL
order_nr:
type: integer
description: Defines the order of pipelines. First order (`order_nr=0`) is the default pipeline.
active:
type: boolean
description: Whether this pipeline will be made inactive (hidden) or active
deal_probability:
type: boolean
description: Whether deal probability is disabled or enabled for this pipeline
add_time:
type: string
description: 'The pipeline creation time. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The pipeline update time. Format: YYYY-MM-DD HH:MM:SS.'
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: 5000
currency: EUR
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
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: 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
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
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'
'/products/{id}/files':
get:
summary: List files attached to a product
description: Lists files associated with a product.
x-token-cost: 20
operationId: getProductFiles
tags:
- Products
security:
- api_key: []
- oauth2:
- 'products:read'
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product
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: GetAssociatedProductFilesResponse
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
product_id:
type: integer
description: The ID of the product associated with the file
add_time:
type: string
description: 'The UTC date time when the file was uploaded. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The UTC date time when the file was last updated. 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 in bytes
active_flag:
type: boolean
description: Whether the user is active or not.
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
s3_bucket:
type: string
description: The location of the cloud storage
product_name:
type: string
description: The name of the product associated with the file
url:
type: string
description: The URL to download the 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
product_id: 1
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
s3_bucket: files
product_name: contract.pdf
url: 'https://app.pipedrive.com/api/v1/files/304/download'
name: 95781006_794143070992462_4330873630616453120_n.jpg
description: contract for client
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: true
'/products/{id}/followers':
get:
summary: List followers of a product
description: Lists the followers of a product.
x-token-cost: 20
operationId: getProductFollowers
tags:
- Products
security:
- api_key: []
- oauth2:
- 'products:read'
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product
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: Lists the followers of a product
content:
application/json:
schema:
title: GetProductFollowersResponse
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
product_id:
type: integer
description: The ID of the product
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
product_id: 789
add_time: '2021-08-03 12:07:05'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add a follower to a product
description: Adds a follower to a product.
x-token-cost: 10
operationId: addProductFollower
tags:
- Products
security:
- api_key: []
- oauth2:
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addProductFollowerRequest
type: object
required:
- user_id
properties:
user_id:
type: integer
description: The ID of the user
responses:
'201':
description: Adds a follower to a product
content:
application/json:
schema:
title: AddNewFollowerResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
user_id:
type: integer
description: The ID of the user that was added as follower
id:
type: integer
description: The ID of the follower
product_id:
type: integer
description: The ID of the product
add_time:
type: string
description: 'The follower creation time. Format: YYYY-MM-DD HH:MM:SS'
example:
success: true
data:
user_id: 10100010
id: 1
product_id: 2
add_time: '2019-12-24 12:02:04'
'/products/{id}/followers/{follower_id}':
delete:
summary: Delete a follower from a product
description: Deletes a follower from a product.
x-token-cost: 6
operationId: deleteProductFollower
tags:
- Products
security:
- api_key: []
- oauth2:
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product
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 product
responses:
'200':
description: Deletes a follower from a product
content:
application/json:
schema:
title: DeleteProductFollowerResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
allOf:
- type: integer
description: The ID of the removed follower
example:
success: true
data:
id: 1
'/products/{id}/permittedUsers':
get:
summary: List permitted users
description: Lists users permitted to access a product.
x-token-cost: 10
operationId: getProductUsers
tags:
- Products
security:
- api_key: []
- oauth2:
- 'products:read'
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product
required: true
schema:
type: integer
responses:
'200':
description: Lists users permitted to access a product
content:
application/json:
schema:
title: userIds
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: integer
description: The list of user IDs
example:
success: true
data:
- 10100010
- 22302444
- 33511023
/productFields:
delete:
summary: Delete multiple product fields in bulk
description: Marks multiple fields as deleted.
x-token-cost: 10
operationId: deleteProductFields
tags:
- ProductFields
security:
- api_key: []
- oauth2:
- 'product-fields:full'
- 'products:full'
parameters:
- in: query
name: ids
required: true
schema:
type: string
description: The comma-separated field IDs to delete
responses:
'200':
description: Mark multiple product fields as deleted
content:
application/json:
schema:
title: DeleteProductFieldsResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
type: array
description: Array of all the IDs of the deleted product fields
items:
type: integer
example:
success: true
data:
id:
- 32
- 35
get:
summary: Get all product fields
description: Returns data about all product fields.
x-token-cost: 20
operationId: getProductFields
parameters:
- in: query
name: start
description: Pagination start
schema:
type: integer
default: 0
- in: query
name: limit
description: Items shown per page
schema:
type: integer
tags:
- ProductFields
security:
- api_key: []
- oauth2:
- 'products:read'
- 'product-fields:full'
- 'products:full'
responses:
'200':
description: Get data about all product fields
content:
application/json:
schema:
title: GetProductFieldsResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: array
description: Array containing data for all product fields
items:
type: object
allOf:
- title: ProductField
allOf:
- type: object
required:
- name
- field_type
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either `set` or `enum`, possible options must be supplied as a JSON-encoded sequential array, for example:`[{"label":"red"}, {"label":"blue"}, {"label":"lilac"}]`'
field_type:
type: string
enum:
- varchar
- varchar_auto
- text
- double
- monetary
- date
- set
- enum
- user
- org
- people
- phone
- time
- timerange
- daterange
- address
description: 'The type of the field| Value | Description |
|---|
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `text` | Long text (up to 65k characters) |
| `double` | Numeric value |
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `date` | Date (format YYYY-MM-DD) |
| `set` | Options field with a possibility of having multiple chosen options |
| `enum` | Options field with a single possible chosen option |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a product ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `address` | Address field |
'
- type: object
properties:
id:
type: integer
description: The ID of the product field
key:
type: string
description: The key of the product field
order_nr:
type: integer
description: The position (index) of the product field in the detail view
add_time:
type: string
description: 'The product field creation time. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The product field last update time. Format: YYYY-MM-DD HH:MM:SS'
last_updated_by_user_id:
type: integer
description: The ID of the last user to update the product field
created_by_user_id:
type: integer
description: The ID of the user who created the product field
active_flag:
type: boolean
description: Whether or not the product field is currently active
edit_flag:
type: boolean
description: Whether or not the product field name and metadata is editable
add_visible_flag:
type: boolean
description: Whether or not the product field is visible in the Add Product Modal
important_flag:
type: boolean
description: Whether or not the product field is marked as important
bulk_edit_allowed:
type: boolean
description: Whether or not the product field data can be edited
searchable_flag:
type: boolean
description: Whether or not the product field is searchable
filtering_allowed:
type: boolean
description: Whether or not the product field value can be used when filtering searches
sortable_flag:
type: boolean
description: Whether or not the product field is sortable
mandatory_flag:
type: boolean
description: Whether or not the product field is mandatory when creating products
- type: object
properties:
field_type:
type: string
enum:
- boolean
- double
- int
- json
- date
- daterange
- time
- timerange
- text
- varchar
- varchar_auto
- varchar_options
- address
- enum
- monetary
- phone
- set
- activity
- deal
- lead
- org
- people
- pipeline
- product
- project
- stage
- user
- billing_frequency
- picture
- price_list
- projects_board
- projects_phase
- status
- visible_to
description: List of all possible field types
additional_data:
type: object
description: 'Additional data for the product field, such as pagination'
example:
success: true
data:
- id: 20
key: name
name: Name
order_nr: 1
picklist_data: null
field_type: varchar
add_time: '2019-11-25 13:34:03'
update_time: '2019-11-25 13:34:02'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: false
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
mandatory_flag: true
- id: 24
key: visible_to
name: Visible to
order_nr: 5
field_type: double
add_time: '2019-11-25 13:34:03'
update_time: '2019-11-25 13:34:02'
last_updated_by_user_id: 1
created_by_user_id: 1
active_flag: true
edit_flag: false
index_visible_flag: true
details_visible_flag: true
add_visible_flag: false
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 1
label: Owner & followers
- id: 3
label: Entire company
mandatory_flag: true
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add a new product field
description: 'Adds a new product field. For more information, see the tutorial for adding a new custom field.'
x-token-cost: 10
operationId: addProductField
tags:
- ProductFields
security:
- api_key: []
- oauth2:
- 'product-fields:full'
- 'products:full'
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- field_type
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either `set` or `enum`, possible options must be supplied as a JSON-encoded sequential array, for example:`[{"label":"red"}, {"label":"blue"}, {"label":"lilac"}]`'
field_type:
type: string
enum:
- varchar
- varchar_auto
- text
- double
- monetary
- date
- set
- enum
- user
- org
- people
- phone
- time
- timerange
- daterange
- address
description: 'The type of the field| Value | Description |
|---|
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `text` | Long text (up to 65k characters) |
| `double` | Numeric value |
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `date` | Date (format YYYY-MM-DD) |
| `set` | Options field with a possibility of having multiple chosen options |
| `enum` | Options field with a single possible chosen option |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a product ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `address` | Address field |
'
responses:
'201':
description: Get the data for a single product field
content:
application/json:
schema:
title: GetProductFieldResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
allOf:
- title: ProductField
allOf:
- type: object
required:
- name
- field_type
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either `set` or `enum`, possible options must be supplied as a JSON-encoded sequential array, for example:`[{"label":"red"}, {"label":"blue"}, {"label":"lilac"}]`'
field_type:
type: string
enum:
- varchar
- varchar_auto
- text
- double
- monetary
- date
- set
- enum
- user
- org
- people
- phone
- time
- timerange
- daterange
- address
description: 'The type of the field| Value | Description |
|---|
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `text` | Long text (up to 65k characters) |
| `double` | Numeric value |
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `date` | Date (format YYYY-MM-DD) |
| `set` | Options field with a possibility of having multiple chosen options |
| `enum` | Options field with a single possible chosen option |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a product ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `address` | Address field |
'
- type: object
properties:
id:
type: integer
description: The ID of the product field
key:
type: string
description: The key of the product field
order_nr:
type: integer
description: The position (index) of the product field in the detail view
add_time:
type: string
description: 'The product field creation time. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The product field last update time. Format: YYYY-MM-DD HH:MM:SS'
last_updated_by_user_id:
type: integer
description: The ID of the last user to update the product field
created_by_user_id:
type: integer
description: The ID of the user who created the product field
active_flag:
type: boolean
description: Whether or not the product field is currently active
edit_flag:
type: boolean
description: Whether or not the product field name and metadata is editable
add_visible_flag:
type: boolean
description: Whether or not the product field is visible in the Add Product Modal
important_flag:
type: boolean
description: Whether or not the product field is marked as important
bulk_edit_allowed:
type: boolean
description: Whether or not the product field data can be edited
searchable_flag:
type: boolean
description: Whether or not the product field is searchable
filtering_allowed:
type: boolean
description: Whether or not the product field value can be used when filtering searches
sortable_flag:
type: boolean
description: Whether or not the product field is sortable
mandatory_flag:
type: boolean
description: Whether or not the product field is mandatory when creating products
description: All data for the product field
example:
success: true
data:
id: 32
key: 397b0f545d134b479a5485041b33b0f0f3da2333
name: Color
order_nr: 13
field_type: enum
add_time: '2019-12-20 11:01:24'
update_time: '2019-12-20 11:01:24'
last_updated_by_user_id: 10999910
created_by_user_id: 10999910
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 9
label: red
- id: 10
label: blue
- id: 11
label: lilac
mandatory_flag: false
'/productFields/{id}':
delete:
summary: Delete a product field
description: 'Marks a product field as deleted. For more information, see the tutorial for deleting a custom field.'
x-token-cost: 6
operationId: deleteProductField
tags:
- ProductFields
security:
- api_key: []
- oauth2:
- 'product-fields:full'
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product field
required: true
schema:
type: integer
responses:
'200':
description: Delete a product field
content:
application/json:
schema:
title: DeleteProductFieldResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: object
properties:
id:
allOf:
- type: integer
description: The ID of the deleted product field
example:
success: true
data:
id: 32
'410':
description: The product field with the specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: The field is not found
get:
summary: Get one product field
description: Returns data about a specific product field.
x-token-cost: 2
operationId: getProductField
tags:
- ProductFields
security:
- api_key: []
- oauth2:
- 'products:read'
- 'product-fields:full'
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product field
required: true
schema:
type: integer
responses:
'200':
description: Get the data for a single product field
content:
application/json:
schema:
title: GetProductFieldResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
allOf:
- title: ProductField
allOf:
- type: object
required:
- name
- field_type
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either `set` or `enum`, possible options must be supplied as a JSON-encoded sequential array, for example:`[{"label":"red"}, {"label":"blue"}, {"label":"lilac"}]`'
field_type:
type: string
enum:
- varchar
- varchar_auto
- text
- double
- monetary
- date
- set
- enum
- user
- org
- people
- phone
- time
- timerange
- daterange
- address
description: 'The type of the field| Value | Description |
|---|
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `text` | Long text (up to 65k characters) |
| `double` | Numeric value |
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `date` | Date (format YYYY-MM-DD) |
| `set` | Options field with a possibility of having multiple chosen options |
| `enum` | Options field with a single possible chosen option |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a product ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `address` | Address field |
'
- type: object
properties:
id:
type: integer
description: The ID of the product field
key:
type: string
description: The key of the product field
order_nr:
type: integer
description: The position (index) of the product field in the detail view
add_time:
type: string
description: 'The product field creation time. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The product field last update time. Format: YYYY-MM-DD HH:MM:SS'
last_updated_by_user_id:
type: integer
description: The ID of the last user to update the product field
created_by_user_id:
type: integer
description: The ID of the user who created the product field
active_flag:
type: boolean
description: Whether or not the product field is currently active
edit_flag:
type: boolean
description: Whether or not the product field name and metadata is editable
add_visible_flag:
type: boolean
description: Whether or not the product field is visible in the Add Product Modal
important_flag:
type: boolean
description: Whether or not the product field is marked as important
bulk_edit_allowed:
type: boolean
description: Whether or not the product field data can be edited
searchable_flag:
type: boolean
description: Whether or not the product field is searchable
filtering_allowed:
type: boolean
description: Whether or not the product field value can be used when filtering searches
sortable_flag:
type: boolean
description: Whether or not the product field is sortable
mandatory_flag:
type: boolean
description: Whether or not the product field is mandatory when creating products
description: All data for the product field
example:
success: true
data:
id: 32
key: 397b0f545d134b479a5485041b33b0f0f3da2333
name: Color
order_nr: 13
field_type: enum
add_time: '2019-12-20 11:01:24'
update_time: '2019-12-20 11:01:24'
last_updated_by_user_id: 10999910
created_by_user_id: 10999910
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 9
label: red
- id: 10
label: blue
- id: 11
label: lilac
mandatory_flag: false
'410':
description: The product field with the specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: The field is not found
put:
summary: Update a product field
description: 'Updates a product field. For more information, see the tutorial for updating custom fields'' values.'
x-token-cost: 10
operationId: updateProductField
tags:
- ProductFields
security:
- api_key: []
- oauth2:
- 'product-fields:full'
- 'products:full'
parameters:
- in: path
name: id
description: The ID of the product field
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: UpdateProductFieldResponse
type: object
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either set or enum, possible options on update must be supplied as an array of objects each containing id and label, for example: [{"id":1, "label":"red"},{"id":2, "label":"blue"},{"id":3, "label":"lilac"}]'
responses:
'200':
description: Get the data for a single product field
content:
application/json:
schema:
title: GetProductFieldResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
allOf:
- title: ProductField
allOf:
- type: object
required:
- name
- field_type
properties:
name:
type: string
description: The name of the field
options:
type: array
items:
type: object
description: 'When `field_type` is either `set` or `enum`, possible options must be supplied as a JSON-encoded sequential array, for example:`[{"label":"red"}, {"label":"blue"}, {"label":"lilac"}]`'
field_type:
type: string
enum:
- varchar
- varchar_auto
- text
- double
- monetary
- date
- set
- enum
- user
- org
- people
- phone
- time
- timerange
- daterange
- address
description: 'The type of the field| Value | Description |
|---|
| `varchar` | Text (up to 255 characters) |
| `varchar_auto` | Autocomplete text (up to 255 characters) |
| `text` | Long text (up to 65k characters) |
| `double` | Numeric value |
| `monetary` | Monetary field (has a numeric value and a currency value) |
| `date` | Date (format YYYY-MM-DD) |
| `set` | Options field with a possibility of having multiple chosen options |
| `enum` | Options field with a single possible chosen option |
| `user` | User field (contains a user ID of another Pipedrive user) |
| `org` | Organization field (contains an organization ID which is stored on the same account) |
| `people` | Person field (contains a product ID which is stored on the same account) |
| `phone` | Phone field (up to 255 numbers and/or characters) |
| `time` | Time field (format HH:MM:SS) |
| `timerange` | Time-range field (has a start time and end time value, both HH:MM:SS) |
| `daterange` | Date-range field (has a start date and end date value, both YYYY-MM-DD) |
| `address` | Address field |
'
- type: object
properties:
id:
type: integer
description: The ID of the product field
key:
type: string
description: The key of the product field
order_nr:
type: integer
description: The position (index) of the product field in the detail view
add_time:
type: string
description: 'The product field creation time. Format: YYYY-MM-DD HH:MM:SS'
update_time:
type: string
description: 'The product field last update time. Format: YYYY-MM-DD HH:MM:SS'
last_updated_by_user_id:
type: integer
description: The ID of the last user to update the product field
created_by_user_id:
type: integer
description: The ID of the user who created the product field
active_flag:
type: boolean
description: Whether or not the product field is currently active
edit_flag:
type: boolean
description: Whether or not the product field name and metadata is editable
add_visible_flag:
type: boolean
description: Whether or not the product field is visible in the Add Product Modal
important_flag:
type: boolean
description: Whether or not the product field is marked as important
bulk_edit_allowed:
type: boolean
description: Whether or not the product field data can be edited
searchable_flag:
type: boolean
description: Whether or not the product field is searchable
filtering_allowed:
type: boolean
description: Whether or not the product field value can be used when filtering searches
sortable_flag:
type: boolean
description: Whether or not the product field is sortable
mandatory_flag:
type: boolean
description: Whether or not the product field is mandatory when creating products
description: All data for the product field
example:
success: true
data:
id: 32
key: 397b0f545d134b479a5485041b33b0f0f3da2333
name: Color
order_nr: 13
field_type: enum
add_time: '2019-12-20 11:01:24'
update_time: '2019-12-20 11:01:24'
last_updated_by_user_id: 10999910
created_by_user_id: 10999910
active_flag: true
edit_flag: true
index_visible_flag: true
details_visible_flag: true
add_visible_flag: true
important_flag: false
bulk_edit_allowed: true
searchable_flag: false
filtering_allowed: true
sortable_flag: true
options:
- id: 9
label: red
- id: 10
label: blue
- id: 11
label: lilac
mandatory_flag: false
/projects:
get:
summary: Get all projects
description: 'Returns all projects. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.'
x-token-cost: 20
operationId: getProjects
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: query
name: cursor
required: false
description: 'For pagination, the marker (an opaque string value) representing the first item on the next page'
schema:
type: string
- in: query
name: limit
required: false
description: 'For pagination, the limit of entries to be returned. If not provided, 100 items will be returned.'
schema:
type: integer
example: 100
- in: query
name: filter_id
required: false
schema:
type: integer
description: The ID of the filter to use
- in: query
name: status
required: false
description: 'If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned.'
schema:
type: string
example: 'open,completed'
- in: query
name: phase_id
required: false
schema:
type: integer
description: 'If supplied, only projects in specified phase are returned'
- in: query
name: include_archived
required: false
schema:
type: boolean
description: If supplied with `true` then archived projects are also included in the response. By default only not archived projects are returned.
responses:
'200':
description: A list of projects.
content:
application/json:
schema:
title: GetProjectsResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
title: projectResponseObject
allOf:
- type: object
title: ProjectId
properties:
id:
type: integer
description: 'The ID of the project, generated when the task was created'
- title: Project
type: object
allOf:
- type: object
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
- type: object
properties:
add_time:
type: string
description: 'The creation date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
status_change_time:
type: string
description: 'The status changed date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
archive_time:
type: string
description: 'The archived date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS. If not archived then ''null''.'
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:
- id: 8
title: Project
description: Project Description
status: open
status_change_time: '2023-09-12 11:12:18.110'
start_date: '2023-09-18'
end_date: '2024-03-04'
owner_id: 19
add_time: '2023-09-12 11:12:18.110'
update_time: '2023-09-14 05:45:40.084'
labels:
- 13
- 14
archive_time: '2023-09-15 11:12:18.110'
deal_ids:
- 1
- 2
person_id: 2
org_id: 3
board_id: 1
phase_id: 1
additional_data:
next_cursor: eyJhY3Rpdml0aWVzIjoyN30
post:
summary: Add a project
description: Adds a new project. Note that you can supply additional custom fields along with the request that are not described here. These custom fields are different for each Pipedrive account and can be recognized by long hashes as keys.
x-token-cost: 10
operationId: addProject
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:full'
requestBody:
content:
application/json:
schema:
title: addProjectRequest
allOf:
- title: requiredPostProjectParameters
type: object
required:
- title
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
- type: object
properties:
template_id:
description: The ID of the template the project will be based on
type: number
responses:
'201':
description: Created project.
content:
application/json:
schema:
title: AddProjectResponse
type: object
properties:
success:
type: boolean
data:
title: projectResponseObject
allOf:
- type: object
title: ProjectId
properties:
id:
type: integer
description: 'The ID of the project, generated when the task was created'
- title: Project
type: object
allOf:
- type: object
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
- type: object
properties:
add_time:
type: string
description: 'The creation date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
status_change_time:
type: string
description: 'The status changed date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
archive_time:
type: string
description: 'The archived date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS. If not archived then ''null''.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 8
title: Project
description: Project Description
status: open
status_change_time: '2023-09-12 11:12:18.110'
start_date: '2023-09-18'
end_date: '2024-03-04'
owner_id: 19
add_time: '2023-09-12 11:12:18.110'
update_time: '2023-09-14 05:45:40.084'
labels:
- 13
- 14
archive_time: '2023-09-15 11:12:18.110'
deal_ids:
- 1
- 2
person_id: 2
org_id: 3
board_id: 1
phase_id: 1
additional_data: null
'/projects/{id}':
get:
summary: Get details of a project
description: Returns the details of a specific project. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the `key` value of project fields.
x-token-cost: 2
operationId: getProject
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: Get a project.
content:
application/json:
schema:
title: GetProjectResponse
type: object
properties:
success:
type: boolean
data:
title: projectResponseObject
allOf:
- type: object
title: ProjectId
properties:
id:
type: integer
description: 'The ID of the project, generated when the task was created'
- title: Project
type: object
allOf:
- type: object
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
- type: object
properties:
add_time:
type: string
description: 'The creation date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
status_change_time:
type: string
description: 'The status changed date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
archive_time:
type: string
description: 'The archived date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS. If not archived then ''null''.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 8
title: Project
description: Project Description
status: open
status_change_time: '2023-09-12 11:12:18.110'
start_date: '2023-09-18'
end_date: '2024-03-04'
owner_id: 19
add_time: '2023-09-12 11:12:18.110'
update_time: '2023-09-14 05:45:40.084'
labels:
- 13
- 14
archive_time: '2023-09-15 11:12:18.110'
deal_ids:
- 1
- 2
person_id: 2
org_id: 3
board_id: 1
phase_id: 1
additional_data: null
put:
summary: Update a project
description: Updates a project.
x-token-cost: 10
operationId: updateProject
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateProjectRequest
allOf:
- type: object
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
responses:
'200':
description: Updated project.
content:
application/json:
schema:
title: UpdateProjectResponse
type: object
properties:
success:
type: boolean
data:
title: projectResponseObject
allOf:
- type: object
title: ProjectId
properties:
id:
type: integer
description: 'The ID of the project, generated when the task was created'
- title: Project
type: object
allOf:
- type: object
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
- type: object
properties:
add_time:
type: string
description: 'The creation date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
status_change_time:
type: string
description: 'The status changed date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
archive_time:
type: string
description: 'The archived date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS. If not archived then ''null''.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 8
title: Project
description: Project Description
status: open
status_change_time: '2023-09-12 11:12:18.110'
start_date: '2023-09-18'
end_date: '2024-03-04'
owner_id: 19
add_time: '2023-09-12 11:12:18.110'
update_time: '2023-09-14 05:45:40.084'
labels:
- 13
- 14
archive_time: '2023-09-15 11:12:18.110'
deal_ids:
- 1
- 2
person_id: 2
org_id: 3
board_id: 1
phase_id: 1
additional_data: null
delete:
summary: Delete a project
description: Marks a project as deleted.
x-token-cost: 6
operationId: deleteProject
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: Delete a project.
content:
application/json:
schema:
title: DeleteProjectResponse
type: object
properties:
success:
type: boolean
data:
title: deleteProject
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 project that was deleted
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 8
additional_data: null
'/projects/{id}/archive':
post:
summary: Archive a project
description: Archives a project.
x-token-cost: 10
operationId: archiveProject
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: Updated project.
content:
application/json:
schema:
title: UpdateProjectResponse
type: object
properties:
success:
type: boolean
data:
title: projectResponseObject
allOf:
- type: object
title: ProjectId
properties:
id:
type: integer
description: 'The ID of the project, generated when the task was created'
- title: Project
type: object
allOf:
- type: object
properties:
title:
description: The title of the project
type: string
- type: object
properties:
board_id:
description: The ID of the board this project is associated with
type: number
phase_id:
description: The ID of the phase this project is associated with
type: number
description:
description: The description of the project
type: string
status:
description: The status of the project
type: string
owner_id:
description: The ID of a project owner
type: number
start_date:
description: 'The start date of the project. Format: YYYY-MM-DD.'
type: string
format: date
end_date:
description: 'The end date of the project. Format: YYYY-MM-DD.'
type: string
format: date
deal_ids:
description: An array of IDs of the deals this project is associated with
type: array
items:
type: integer
org_id:
description: The ID of the organization this project is associated with
type: number
person_id:
description: The ID of the person this project is associated with
type: number
labels:
description: An array of IDs of the labels this project has
type: array
items:
type: integer
- type: object
properties:
add_time:
type: string
description: 'The creation date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
status_change_time:
type: string
description: 'The status changed date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS.'
archive_time:
type: string
description: 'The archived date and time of the project in UTC. Format: YYYY-MM-DD HH:MM:SS. If not archived then ''null''.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 8
title: Project
description: Project Description
status: open
status_change_time: '2023-09-12 11:12:18.110'
start_date: '2023-09-18'
end_date: '2024-03-04'
owner_id: 19
add_time: '2023-09-12 11:12:18.110'
update_time: '2023-09-14 05:45:40.084'
labels:
- 13
- 14
archive_time: '2023-09-15 11:12:18.110'
deal_ids:
- 1
- 2
person_id: 2
org_id: 3
board_id: 1
phase_id: 1
additional_data: null
'/projects/{id}/plan':
get:
summary: Returns project plan
description: Returns information about items in a project plan. Items consists of tasks and activities and are linked to specific project phase and group.
x-token-cost: 20
operationId: getProjectPlan
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: Get a project plan.
content:
application/json:
schema:
title: GetProjectPlanResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
properties:
item_id:
description: ID of plan item (either activity or task ID)
type: number
item_type:
description: Type of a plan item (task / activity)
type: string
phase_id:
description: The ID of the board this project is associated with. If null then plan item is not in any phase.
type: number
group_id:
description: The ID of the board this project is associated with. If null then plan item is not in any group.
type: number
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
- item_id: 1
item_type: task
phase_id: 2
group_id: 3
- item_id: 1
item_type: activity
phase_id: 2
group_id: 3
additional_data: null
'/projects/{id}/plan/activities/{activityId}':
put:
summary: Update activity in project plan
description: Updates an activity phase or group in a project.
x-token-cost: 10
operationId: putProjectPlanActivity
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
- in: path
name: activityId
description: The ID of the activity
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: projectPutPlanItemBodyObject
type: object
properties:
phase_id:
description: The ID of a phase on a project board
type: number
group_id:
description: The ID of a group on a project board
type: number
responses:
'200':
description: Updated activity in plan.
content:
application/json:
schema:
title: UpdateActivityPlanItemResponse
type: object
properties:
success:
type: boolean
data:
type: object
properties:
item_id:
description: ID of plan item (either activity or task ID)
type: number
item_type:
description: Type of a plan item (task / activity)
type: string
phase_id:
description: The ID of the board this project is associated with. If null then plan item is not in any phase.
type: number
group_id:
description: The ID of the board this project is associated with. If null then plan item is not in any group.
type: number
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
item_id: 1
item_type: activity
phase_id: 2
group_id: 3
additional_data: null
'/projects/{id}/plan/tasks/{taskId}':
put:
summary: Update task in project plan
description: Updates a task phase or group in a project.
x-token-cost: 10
operationId: putProjectPlanTask
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
- in: path
name: taskId
description: The ID of the task
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: projectPutPlanItemBodyObject
type: object
properties:
phase_id:
description: The ID of a phase on a project board
type: number
group_id:
description: The ID of a group on a project board
type: number
responses:
'200':
description: Updated task in plan.
content:
application/json:
schema:
title: UpdateTaskPlanItemResponse
type: object
properties:
success:
type: boolean
data:
type: object
properties:
item_id:
description: ID of plan item (either activity or task ID)
type: number
item_type:
description: Type of a plan item (task / activity)
type: string
phase_id:
description: The ID of the board this project is associated with. If null then plan item is not in any phase.
type: number
group_id:
description: The ID of the board this project is associated with. If null then plan item is not in any group.
type: number
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
item_id: 1
item_type: task
phase_id: 2
group_id: 3
additional_data: null
'/projects/{id}/groups':
get:
summary: Returns project groups
description: Returns all active groups under a specific project.
x-token-cost: 20
operationId: getProjectGroups
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: Get a project groups.
content:
application/json:
schema:
title: GetProjectGroupsResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
properties:
id:
description: ID of the group
type: number
name:
description: Name of the group
type: string
order_nr:
description: Order number of the group
type: number
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
- id: 1
name: Group one
order_nr: 1
additional_data: null
'/projects/{id}/tasks':
get:
summary: Returns project tasks
description: Returns tasks linked to a specific project.
x-token-cost: 20
operationId: getProjectTasks
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: A list of tasks.
content:
application/json:
schema:
title: GetTasksResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
title: TaskResponseObject
type: object
allOf:
- type: object
properties:
id:
type: integer
description: 'The ID of the task, generated when the task was created'
- title: updateProjectRequest
type: object
allOf:
- type: object
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of the project this task is associated with
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
- type: object
properties:
creator_id:
type: number
description: The creator of a task
add_time:
type: string
description: 'The creation date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The marked as done date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
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:
- id: 1
title: Task 1
creator_id: 2
description: Task description
done: 0
due_date: '2023-10-11'
parent_task_id: 2
assignee_id: 2
assignee_ids:
- 2
- 3
- 4
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
marked_as_done_time: '2023-09-22 08:14:40.288'
project_id: 1
additional_data:
next_cursor: eyJhY3Rpdml0aWVzIjoyN30
'/projects/{id}/activities':
get:
summary: Returns project activities
description: Returns activities linked to a specific project.
x-token-cost: 20
operationId: getProjectActivities
tags:
- Projects
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project
required: true
schema:
type: integer
responses:
'200':
description: A collection of activities
content:
application/json:
schema:
title: GetActivitiesCollectionResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
title: ActivityCollectionResponseObject
allOf:
- type: object
properties:
due_date:
description: 'The due date of the activity. Format: YYYY-MM-DD'
type: string
format: date
due_time:
description: 'The due time of the activity in UTC. Format: HH:MM'
type: string
duration:
description: 'The duration of the activity. Format: HH:MM'
type: string
deal_id:
description: The ID of the deal this activity is associated with
type: integer
lead_id:
description: The ID of the lead in the UUID format this activity is associated with
type: string
format: uuid
nullable: true
person_id:
description: The ID of the person this activity is associated with
type: integer
project_id:
description: The ID of the project this activity is associated with
type: integer
nullable: true
org_id:
description: The ID of the organization this activity is associated with
type: integer
location:
description: The address of the activity.
type: string
public_description:
description: 'Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity.'
type: string
- type: object
properties:
id:
type: integer
description: 'The ID of the activity, generated when the activity was created'
done:
type: boolean
description: Whether the activity is done or not
subject:
description: The subject of the activity
type: string
type:
description: The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes.
type: string
user_id:
description: The ID of the user whom the activity is assigned to
type: integer
busy_flag:
description: 'Marks if the activity is set as ''Busy'' or ''Free''. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to ''Busy'' if it has a time set, and ''Free'' if it is an all-day event without specified time.'
type: boolean
company_id:
type: integer
description: The user's company ID
conference_meeting_client:
type: string
description: 'The ID of the Marketplace app, which is connected to this activity'
conference_meeting_url:
type: string
description: The link to join the meeting which is associated with this activity
conference_meeting_id:
type: string
description: 'The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity'
add_time:
type: string
description: 'The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS.'
active_flag:
type: boolean
description: Whether the activity is active or not
update_time:
type: string
description: 'The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS.'
update_user_id:
description: The ID of the user who was the last to update this activity
type: integer
source_timezone:
type: string
description: The timezone the activity was created in an external calendar
location_subpremise:
type: string
description: A subfield of the location field. Indicates apartment/suite number.
location_street_number:
type: string
description: A subfield of the location field. Indicates house number.
location_route:
type: string
description: A subfield of the location field. Indicates street name.
location_sublocality:
type: string
description: A subfield of the location field. Indicates district/sublocality.
location_locality:
type: string
description: A subfield of the location field. Indicates city/town/village/locality.
location_admin_area_level_1:
type: string
description: A subfield of the location field. Indicates state/county.
location_admin_area_level_2:
type: string
description: A subfield of the location field. Indicates region.
location_country:
type: string
description: A subfield of the location field. Indicates country.
location_postal_code:
type: string
description: A subfield of the location field. Indicates ZIP/postal code.
location_formatted_address:
type: string
description: A subfield of the location field. Indicates full/combined address.
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:
- id: 8
company_id: 22122
user_id: 1234
done: false
type: deadline
conference_meeting_client: 871b8bc88d3a1202
conference_meeting_url: 'https://pipedrive.zoom.us/link'
conference_meeting_id: '17058746701'
due_date: '2022-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'
subject: Deadline
public_description: This is a description
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
source_timezone: ''
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'
additional_data:
next_cursor: eyJhY3Rpdml0aWVzIjoyN30
/projects/boards:
get:
summary: Get all project boards
description: Returns all projects boards that are not deleted.
x-token-cost: 20
operationId: getProjectsBoards
tags:
- ProjectBoards
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
responses:
'200':
description: A list of project board.
content:
application/json:
schema:
title: GetProjectBoardsResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
properties:
id:
type: integer
description: The ID of the project board
name:
description: Name of a project board
type: string
order_nr:
description: The order of a board
type: number
add_time:
type: string
description: 'The creation date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
- id: 1
name: Project Board
order_nr: 1
add_time: '2023-09-12 11:12:18'
update_time: '2023-09-14 05:45:40'
additional_data: null
'/projects/boards/{id}':
get:
summary: Get details of a board
description: Returns the details of a specific project board.
x-token-cost: 2
operationId: getProjectsBoard
tags:
- ProjectBoards
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project board
required: true
schema:
type: integer
responses:
'200':
description: Get a project board.
content:
application/json:
schema:
title: GetProjectBoardResponse
type: object
properties:
success:
type: boolean
data:
type: object
properties:
id:
type: integer
description: The ID of the project board
name:
description: Name of a project board
type: string
order_nr:
description: The order of a board
type: number
add_time:
type: string
description: 'The creation date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 1
name: Project Board
order_nr: 1
add_time: '2023-09-12 11:12:18'
update_time: '2023-09-14 05:45:40'
additional_data: null
/projects/phases:
get:
summary: Get project phases
description: Returns all active project phases under a specific board.
x-token-cost: 20
operationId: getProjectsPhases
tags:
- ProjectPhases
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: query
name: board_id
required: true
description: ID of the board for which phases are requested
schema:
type: integer
example: 1
responses:
'200':
description: A list of project phases.
content:
application/json:
schema:
title: GetProjectPhasesResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
type: object
properties:
id:
type: integer
description: The ID of the project phase
name:
description: Name of a project phase
type: string
board_id:
description: The ID of the project board this phase is linked to
type: number
order_nr:
description: The order of a phase
type: number
add_time:
type: string
description: 'The creation date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
- id: 2
name: Project Phase
board_id: 1
order_nr: 2
add_time: '2023-09-12 11:12:18'
update_time: '2023-09-14 05:45:40'
additional_data: null
'/projects/phases/{id}':
get:
summary: Get details of a phase
description: Returns the details of a specific project phase.
x-token-cost: 2
operationId: getProjectsPhase
tags:
- ProjectPhases
security:
- api_key: []
- oauth2:
- 'projects:read'
parameters:
- in: path
name: id
description: The ID of the project phase
required: true
schema:
type: integer
responses:
'200':
description: Get a project phase.
content:
application/json:
schema:
title: GetProjectPhaseResponse
type: object
properties:
success:
type: boolean
data:
type: object
properties:
id:
type: integer
description: The ID of the project phase
name:
description: Name of a project phase
type: string
board_id:
description: The ID of the project board this phase is linked to
type: number
order_nr:
description: The order of a phase
type: number
add_time:
type: string
description: 'The creation date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the board in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 2
name: Project Phase
board_id: 1
order_nr: 2
add_time: '2023-09-12 11:12:18'
update_time: '2023-09-14 05:45:40'
additional_data: null
/projectTemplates:
get:
summary: Get all project templates
description: 'Returns all not deleted project templates. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.'
x-token-cost: 20
operationId: getProjectTemplates
tags:
- ProjectTemplates
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: query
name: cursor
required: false
description: 'For pagination, the marker (an opaque string value) representing the first item on the next page'
schema:
type: string
- in: query
name: limit
required: false
description: 'For pagination, the limit of entries to be returned. If not provided, up to 500 items will be returned.'
schema:
type: integer
example: 500
responses:
'200':
description: A list of project template.
content:
application/json:
schema:
title: GetProjectTemplatesResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
title: TemplateResponseObject
allOf:
- title: ProjectTemplate
type: object
properties:
id:
description: The ID of a template
type: number
title:
description: The title of a template
type: string
description:
description: The description of a template
type: string
projects_board_id:
description: The ID of the project board this template is associated with
type: number
owner_id:
description: The ID of a template owner
type: number
add_time:
type: string
description: 'The creation date and time of the template in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the template in UTC. Format: YYYY-MM-DD HH:MM:SS.'
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:
- id: 1
title: Template Title
description: Template Description
projects_board_id: 2
owner_id: 3
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
additional_data:
next_cursor: eyJhY3Rpdml0aWVzIjoyN30
'/projectTemplates/{id}':
get:
summary: Get details of a template
description: Returns the details of a specific project template.
x-token-cost: 2
operationId: getProjectTemplate
tags:
- ProjectTemplates
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the project template
required: true
schema:
type: integer
responses:
'200':
description: Get a project template.
content:
application/json:
schema:
title: GetProjectTemplateResponse
type: object
properties:
success:
type: boolean
data:
title: TemplateResponseObject
allOf:
- title: ProjectTemplate
type: object
properties:
id:
description: The ID of a template
type: number
title:
description: The title of a template
type: string
description:
description: The description of a template
type: string
projects_board_id:
description: The ID of the project board this template is associated with
type: number
owner_id:
description: The ID of a template owner
type: number
add_time:
type: string
description: 'The creation date and time of the template in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the template in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 1
title: Template Title
description: Template Description
projects_board_id: 2
owner_id: 3
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
additional_data: null
/recents:
get:
summary: Get recents
description: Returns data about all recent changes occurred after the given timestamp.
x-token-cost: 20
operationId: getRecents
tags:
- Recents
security:
- api_key: []
- oauth2:
- 'recents:read'
- 'search:read'
parameters:
- in: query
name: since_timestamp
required: true
schema:
type: string
description: 'The timestamp in UTC. Format: YYYY-MM-DD HH:MM:SS.'
- in: query
name: items
schema:
type: string
enum:
- activity
- activityType
- deal
- file
- filter
- note
- person
- organization
- pipeline
- product
- stage
- user
description: Multiple selection of item types to include in the query (optional)
- 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: List of items changed since "since_timestamp"
content:
application/json:
schema:
title: GetRecentsResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
data:
type: array
title: RecentsData
items:
anyOf:
- type: object
properties:
item:
type: string
enum:
- activity
id:
type: integer
data:
title: Activity
allOf:
- type: object
properties:
due_date:
description: 'The due date of the activity. Format: YYYY-MM-DD'
type: string
format: date
due_time:
description: 'The due time of the activity in UTC. Format: HH:MM'
type: string
duration:
description: 'The duration of the activity. Format: HH:MM'
type: string
deal_id:
description: The ID of the deal this activity is associated with
type: integer
lead_id:
description: The ID of the lead in the UUID format this activity is associated with
type: string
format: uuid
nullable: true
person_id:
description: The ID of the person this activity is associated with
type: integer
project_id:
description: The ID of the project this activity is associated with
type: integer
nullable: true
org_id:
description: The ID of the organization this activity is associated with
type: integer
location:
description: The address of the activity.
type: string
public_description:
description: 'Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity.'
type: string
- type: object
properties:
id:
type: integer
description: 'The ID of the activity, generated when the activity was created'
note:
type: string
description: The note of the activity (HTML format)
done:
type: boolean
description: Whether the activity is done or not
subject:
description: The subject of the activity
type: string
type:
description: The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes.
type: string
user_id:
description: The ID of the user whom the activity is assigned to
type: integer
participants:
description: List of multiple persons (participants) this activity is associated with
type: array
nullable: true
items:
type: object
busy_flag:
description: 'Marks if the activity is set as ''Busy'' or ''Free''. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to ''Busy'' if it has a time set, and ''Free'' if it is an all-day event without specified time.'
type: boolean
attendees:
description: The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address.
type: array
nullable: true
items:
type: object
company_id:
type: integer
description: The user's company ID
reference_type:
type: string
description: 'If the activity references some other object, it is indicated here. For example, value `Salesphone` refers to activities created with Caller.'
reference_id:
type: integer
description: 'Together with the `reference_type`, gives the ID of the other object'
conference_meeting_client:
type: string
description: 'The ID of the Marketplace app, which is connected to this activity'
conference_meeting_url:
type: string
description: The link to join the meeting which is associated with this activity
conference_meeting_id:
type: string
description: 'The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity'
add_time:
type: string
description: 'The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS.'
last_notification_time:
type: string
description: The date and time of latest notifications sent about this activity to the participants or the attendees of this activity
last_notification_user_id:
type: integer
description: The ID of the user who triggered the sending of the latest notifications about this activity to the participants or the attendees of this activity
notification_language_id:
type: integer
description: The ID of the language the notifications are sent in
active_flag:
type: boolean
description: Whether the activity is active or not
update_time:
type: string
description: 'The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS.'
update_user_id:
description: The ID of the user who was the last to update this activity
type: integer
gcal_event_id:
type: string
description: 'For the activity which syncs to Google calendar, this is the Google event ID. NB! This field is related to old Google calendar sync and will be deprecated soon.'
google_calendar_id:
type: string
description: The Google calendar ID that this activity syncs to. NB! This field is related to old Google calendar sync and will be deprecated soon.
google_calendar_etag:
type: string
description: The Google calendar API etag (version) that is used for syncing this activity. NB! This field is related to old Google calendar sync and will be deprecated soon.
calendar_sync_include_context:
type: string
description: 'For activities that sync to an external calendar, this setting indicates if the activity syncs with context (what are the deals, persons, organizations this activity is related to)'
source_timezone:
type: string
description: The timezone the activity was created in an external calendar
rec_rule:
type: string
description: 'The rule for the recurrence of the activity. Is important for activities synced into Pipedrive from an external calendar. Example: "RRULE:FREQ=WEEKLY;BYDAY=WE"'
rec_rule_extension:
type: string
description: 'Additional rules for the recurrence of the activity, extend the `rec_rule`. Is important for activities synced into Pipedrive from an external calendar.'
rec_master_activity_id:
type: integer
description: The ID of parent activity for a recurrent activity if the current activity is an exception to recurrence rules
series:
description: 'The list of recurring activity instances. It is in a structure as follows: `[{due_date: "2020-06-24", due_time: "10:00:00"}]`'
type: array
items:
type: object
created_by_user_id:
description: The ID of the user who created the activity
type: integer
location_subpremise:
type: string
description: A subfield of the location field. Indicates apartment/suite number.
location_street_number:
type: string
description: A subfield of the location field. Indicates house number.
location_route:
type: string
description: A subfield of the location field. Indicates street name.
location_sublocality:
type: string
description: A subfield of the location field. Indicates district/sublocality.
location_locality:
type: string
description: A subfield of the location field. Indicates city/town/village/locality.
location_admin_area_level_1:
type: string
description: A subfield of the location field. Indicates state/county.
location_admin_area_level_2:
type: string
description: A subfield of the location field. Indicates region.
location_country:
type: string
description: A subfield of the location field. Indicates country.
location_postal_code:
type: string
description: A subfield of the location field. Indicates ZIP/postal code.
location_formatted_address:
type: string
description: A subfield of the location field. Indicates full/combined address.
org_name:
description: The name of the organization this activity is associated with
type: string
person_name:
description: The name of the person this activity is associated with
type: string
deal_title:
description: The name of the deal this activity is associated with
type: string
owner_name:
description: The name of the user this activity is owned by
type: string
person_dropbox_bcc:
type: string
description: The BCC email address of the person
deal_dropbox_bcc:
type: string
description: The BCC email address of the deal
assigned_to_user_id:
description: The ID of the user to whom the activity is assigned to. Equal to `user_id`.
type: integer
file:
type: object
description: 'The file that is attached to this activity. For example, this can be a reference to an audio note file generated with Pipedrive mobile app.'
- type: object
properties:
item:
type: string
enum:
- activityType
id:
type: integer
data:
type: object
title: ActivityType
properties:
id:
type: integer
description: The ID of the activity type
name:
type: string
description: The name of the activity type
icon_key:
type: string
description: Icon graphic to use for representing this activity type
enum:
- task
- email
- meeting
- deadline
- call
- lunch
- calendar
- downarrow
- document
- smartphone
- camera
- scissors
- cogs
- bubble
- uparrow
- checkbox
- signpost
- shuffle
- addressbook
- linegraph
- picture
- car
- world
- search
- clip
- sound
- brush
- key
- padlock
- pricetag
- suitcase
- finish
- plane
- loop
- wifi
- truck
- cart
- bulb
- bell
- presentation
color:
type: string
description: 'A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)'
order_nr:
type: integer
description: An order number for the activity type. Order numbers should be used to order the types in the activity type selections.
key_string:
type: string
description: A string that is generated by the API based on the given name of the activity type upon creation
active_flag:
type: boolean
description: The active flag of the activity type
is_custom_flag:
type: boolean
description: Whether the activity type is a custom one or not
add_time:
type: string
format: date-time
description: The creation time of the activity type
update_time:
type: string
format: date-time
description: The update time of the activity type
- type: object
properties:
item:
type: string
enum:
- deal
id:
type: integer
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
- type: object
properties:
item:
type: string
enum:
- file
id:
type: integer
data:
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
- type: object
properties:
item:
type: string
enum:
- filter
id:
type: integer
data:
description: The filter object
type: object
properties:
id:
type: integer
description: The ID of the filter
name:
type: string
description: The name of the filter
filter_code:
type: string
nullable: true
description: The system code of the filter
is_editable:
type: boolean
description: Whether the filter can be edited by the requesting user
active_flag:
type: boolean
description: The active flag of the filter
type:
type: string
enum:
- deals
- leads
- org
- people
- products
- activity
- projects
temporary_flag:
type: boolean
nullable: true
description: Whether the filter is temporary
user_id:
type: integer
description: The owner of the filter
add_time:
type: string
description: The date and time when the filter was added
update_time:
type: string
nullable: true
description: The date and time when the filter was updated
visible_to:
allOf:
- type: string
enum:
- '1'
- '3'
- '5'
- '7'
description: The visibility group ID of who can see the filter
last_used_time:
type: string
nullable: true
description: The date and time when the filter was last used
custom_view_id:
type: integer
nullable: true
description: The custom view ID linked to the filter
- type: object
properties:
item:
type: string
enum:
- note
id:
type: integer
data:
type: object
title: Note
properties:
id:
type: integer
description: The ID of the note
active_flag:
type: boolean
description: Whether the note is active or deleted
add_time:
type: string
description: The creation date and time of the note
content:
type: string
description: The content of the note in HTML format. Subject to sanitization on the back-end.
deal:
type: object
description: The deal this note is attached to
properties:
title:
type: string
description: The title of the deal this note is attached to
lead_id:
type: string
format: uuid
description: The ID of the lead the note is attached to
deal_id:
type: integer
description: The ID of the deal the note is attached to
last_update_user_id:
type: integer
description: The ID of the user who last updated the note
org_id:
type: integer
description: The ID of the organization the note is attached to
organization:
type: object
description: The organization the note is attached to
properties:
name:
type: string
description: The name of the organization the note is attached to
person:
type: object
description: The person the note is attached to
properties:
name:
type: string
description: The name of the person the note is attached to
person_id:
type: integer
description: The ID of the person the note is attached to
project_id:
type: integer
description: The ID of the project the note is attached to
project:
type: object
description: The project the note is attached to
properties:
title:
type: string
description: The title of the project the note is attached to
task_id:
type: integer
description: The ID of the task the note is attached to
task:
type: object
description: The task the note is attached to
properties:
title:
type: string
description: The title of the task the note is attached to
pinned_to_deal_flag:
type: boolean
description: 'If true, the results are filtered by note to deal pinning state'
pinned_to_organization_flag:
type: boolean
description: 'If true, the results are filtered by note to organization pinning state'
pinned_to_person_flag:
type: boolean
description: 'If true, the results are filtered by note to person pinning state'
pinned_to_project_flag:
type: boolean
description: 'If true, the results are filtered by note to project pinning state'
pinned_to_task_flag:
type: boolean
description: 'If true, the results are filtered by note to task pinning state'
update_time:
type: string
description: The last updated date and time of the note
user:
type: object
description: The user who created the note
properties:
email:
type: string
description: The email of the note creator
icon_url:
type: string
description: The URL of the note creator avatar picture
is_you:
type: boolean
description: Whether the note is created by you or not
name:
type: string
description: The name of the note creator
user_id:
type: integer
description: The ID of the note creator
- type: object
properties:
item:
type: string
enum:
- person
id:
type: integer
data:
type: object
title: mergePersonItem
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: additionalMergePersonInfo
allOf:
- type: object
title: personNameCountAndEmailInfoWithIds
allOf:
- type: object
properties:
owner_id:
type: integer
description: The ID of the owner related to the person
org_id:
type: integer
description: The ID of the organization related to the person
merge_what_id:
type: integer
description: The ID of the person with what the main person was merged
- type: object
title: personNameCountAndEmailInfo
allOf:
- 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: 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: mergePersonDealRelatedInfo
allOf:
- 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
- type: object
properties:
participant_open_deals_count:
type: integer
description: The count of open participant deals related with the item
participant_closed_deals_count:
type: integer
description: The count of closed participant deals related with the item
- type: object
properties:
item:
type: string
enum:
- organization
id:
type: integer
data:
type: object
title: BaseOrganizationItem
allOf:
- type: object
properties:
id:
type: integer
description: The ID of the organization
company_id:
type: integer
description: The ID of the company related to the organization
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
name:
type: string
description: The name of the organization
active_flag:
type: boolean
description: Whether the organization is active or not
picture_id:
allOf:
- type: object
title: PictureDataWithValue
properties:
value:
type: integer
description: The ID of the picture associated with the item
- type: object
title: PictureData
properties:
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
country_code:
type: string
nullable: true
description: The country code of the organization
first_char:
type: string
description: The first character of the organization name
add_time:
type: string
description: The creation date and time of the organization
update_time:
type: string
description: The last updated date and time of the organization
visible_to:
type: string
description: The visibility group ID of who can see the organization
label:
type: integer
description: 'The label assigned to the organization. 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 organization. When the `label_ids` field is updated, the `label` field value will be set to the first value of the `label_ids` field.'
owner_name:
type: string
description: The name of the organization owner
cc_email:
type: string
description: The BCC email associated with the organization
- type: object
title: additionalBaseOrganizationItemInfo
allOf:
- type: object
title: organizationCountAndAddressInfo
allOf:
- type: object
properties:
email_messages_count:
type: integer
description: The count of email messages related to the organization
people_count:
type: integer
description: The count of persons related to the organization
activities_count:
type: integer
description: The count of activities related to the organization
done_activities_count:
type: integer
description: The count of done activities related to the organization
undone_activities_count:
type: integer
description: The count of undone activities related to the organization
files_count:
type: integer
description: The count of files related to the organization
notes_count:
type: integer
description: The count of notes related to the organization
followers_count:
type: integer
description: The count of followers related to the organization
- type: object
properties:
address:
type: string
description: The full address of the organization
address_subpremise:
type: string
description: The sub-premise of the organization location
address_street_number:
type: string
description: The street number of the organization location
address_route:
type: string
description: The route of the organization location
address_sublocality:
type: string
description: The sub-locality of the organization location
address_locality:
type: string
description: The locality of the organization location
address_admin_area_level_1:
type: string
description: The level 1 admin area of the organization location
address_admin_area_level_2:
type: string
description: The level 2 admin area of the organization location
address_country:
type: string
description: The country of the organization location
address_postal_code:
type: string
description: The postal code of the organization location
address_formatted_address:
type: string
description: The formatted organization location
- type: object
title: dealsCountAndActivityInfo
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
- type: object
properties:
item:
type: string
enum:
- pipeline
id:
type: integer
data:
type: object
title: BasePipeline
properties:
id:
type: integer
description: The ID of the pipeline
name:
type: string
description: The name of the pipeline
url_title:
type: string
description: The pipeline title displayed in the URL
order_nr:
type: integer
description: Defines the order of pipelines. First order (`order_nr=0`) is the default pipeline.
active:
type: boolean
description: Whether this pipeline will be made inactive (hidden) or active
deal_probability:
type: boolean
description: Whether deal probability is disabled or enabled for this pipeline
add_time:
type: string
description: 'The pipeline creation time. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The pipeline update time. Format: YYYY-MM-DD HH:MM:SS.'
- type: object
properties:
item:
type: string
enum:
- product
id:
type: integer
data:
type: object
properties:
id:
type: integer
description: The ID of the product
name:
type: string
description: The name of the product
code:
type: string
description: The product code
description:
type: string
description: The description of the product
unit:
type: string
description: The unit in which this product is sold
tax:
type: number
description: The tax percentage
default: 0
category:
type: string
description: The category of the product
active_flag:
type: boolean
description: Whether this product will be made active or not
selectable:
type: boolean
description: Whether this product can be selected in deals or not
first_char:
type: string
description: The first letter of the product name
visible_to:
type: integer
description: 'The visibility of the product. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user.'
owner_id:
type: integer
description: 'The ID of the user who will be marked as the owner of this product. When omitted, authorized user ID will be used.'
files_count:
type: integer
description: The count of files
add_time:
type: string
description: The date and time when the product was added to the deal
update_time:
type: string
description: The date and time when the product was updated to the deal
prices:
type: array
items:
type: object
description: 'Array of objects, each containing: `currency` (string), `price` (number), `cost` (number, optional), `overhead_cost` (number, optional). Note that there can only be one price per product per currency. When `prices` is omitted altogether, a default price of 0 and a default currency based on the company''s currency will be assigned.'
- type: object
title: RecentsStage
properties:
item:
type: string
enum:
- stage
id:
type: integer
data:
type: object
title: BaseStage
properties:
id:
type: integer
description: The ID of the stage
order_nr:
type: integer
description: Defines the order of the stage
name:
type: string
description: The name of the stage
active_flag:
type: boolean
description: Whether the stage is active or deleted
deal_probability:
type: integer
description: The success probability percentage of the deal. Used/shown when the deal weighted values are used.
pipeline_id:
type: integer
description: The ID of the pipeline to add the stage to
rotten_flag:
type: boolean
description: Whether deals in this stage can become rotten
rotten_days:
type: integer
description: The number of days the deals not updated in this stage would become rotten. Applies only if the `rotten_flag` is set.
add_time:
type: string
description: 'The stage creation time. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The stage update time. Format: YYYY-MM-DD HH:MM:SS.'
- type: object
properties:
item:
type: string
enum:
- user
id:
type: integer
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
additional_data:
type: object
properties:
since_timestamp:
type: string
description: 'The timestamp in UTC. Format: YYYY-MM-DD HH:MM:SS'
last_timestamp_on_page:
type: string
description: 'The timestamp in UTC. Format: YYYY-MM-DD HH:MM:SS'
pagination:
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:
- item: activity
id: 8
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'
- item: deal
id: 1
data:
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
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
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: 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
additional_data:
since_timestamp: '2020-10-10 00:00:00'
last_timestamp_on_page: '2020-10-15 18:18:41'
pagination":
start: '0,'
limit: '100,'
more_items_in_collection: false
/roles:
get:
summary: Get all roles
description: Returns all the roles within the company.
x-token-cost: 20
operationId: getRoles
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- 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 roles
content:
application/json:
schema:
title: GetRolesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: array
items:
title: fullRole
allOf:
- description: The details of the sub-role
title: subRole
allOf:
- title: baseRoleRequest
description: The details of the role
type: object
properties:
parent_role_id:
type: integer
nullable: true
description: The ID of the parent role
name:
type: string
description: The name of the role
- type: object
properties:
id:
type: integer
description: The ID of the role
active_flag:
type: boolean
description: Whether the role is active or not
assignment_count:
type: string
description: The number of users assigned to this role
sub_role_count:
type: string
description: The number of sub-roles
- type: object
properties:
level:
type: integer
description: The level of role in the role hierarchy
description: The array of roles
additional_data:
description: The additional data in the role list
type: object
properties:
pagination:
description: The pagination details in the role 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: Whether there are more list items in the collection than displayed
example:
success: true
data:
- id: 1
parent_role_id: 1
name: (Unassigned users)
active_flag: true
assignment_count: '0'
sub_role_count: '0'
level: 1
- id: 2
parent_role_id: 1
name: Admins
active_flag: true
assignment_count: '1'
sub_role_count: '1'
level: 1
- id: 3
parent_role_id: 2
name: Reviewers
active_flag: true
assignment_count: '1'
sub_role_count: '0'
level: 2
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add a role
description: Adds a new role.
x-token-cost: 10
operationId: addRole
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
requestBody:
content:
application/json:
schema:
title: addRoleRequest
description: The details of the role
type: object
required:
- name
properties:
name:
type: string
description: The name of the role
parent_role_id:
type: integer
nullable: true
description: The ID of the parent role
responses:
'200':
description: Add a role
content:
application/json:
schema:
title: AddRolesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: AddRolesResponseData
properties:
id:
allOf:
- type: integer
description: The ID of the created role
description: The response data
example:
success: true
data:
id: 2
'/roles/{id}':
delete:
summary: Delete a role
description: Marks a role as deleted.
x-token-cost: 6
operationId: deleteRole
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
responses:
'200':
description: Delete a role
content:
application/json:
schema:
title: DeleteRoleResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: DeleteRoleResponseData
properties:
data:
type: object
properties:
id:
allOf:
- type: integer
description: The ID of the deleted role
description: The response data
example:
success: true
data:
id: 2
get:
summary: Get one role
description: Returns the details of a specific role.
x-token-cost: 2
operationId: getRole
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
responses:
'200':
description: Get one role
content:
application/json:
schema:
title: GetRoleResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetRoleResponseData
properties:
data:
description: The details of the sub-role
title: subRole
allOf:
- title: baseRoleRequest
description: The details of the role
type: object
properties:
parent_role_id:
type: integer
nullable: true
description: The ID of the parent role
name:
type: string
description: The name of the role
- type: object
properties:
id:
type: integer
description: The ID of the role
active_flag:
type: boolean
description: Whether the role is active or not
assignment_count:
type: string
description: The number of users assigned to this role
sub_role_count:
type: string
description: The number of sub-roles
additional_data:
type: object
description: The additional data in the role
properties:
settings:
description: The settings for the role
type: object
title: RoleSettings
properties:
deal_default_visibility:
type: number
description: The default visibility level of the deals for the role
lead_default_visibility:
type: number
description: The default visibility level of the leads for the role
org_default_visibility:
type: number
description: The default visibility level of the organizations for the role
person_default_visibility:
type: number
description: The default visibility level of the people for the role
product_default_visibility:
type: number
description: The default visibility level of the products for the role
deal_access_level:
type: number
description: The access level of the deals for the role (only for default role)
org_access_level:
type: number
description: The access level of the organizations for the role (only for default role)
person_access_level:
type: number
description: The access level of the people for the role (only for default role)
product_access_level:
type: number
description: The access level of the products for the role (only for default role)
example:
success: true
data:
id: 2
parent_role_id: 1
name: Admins
active_flag: true
assignment_count: '1'
sub_role_count: '1'
additional_data:
settings:
deal_default_visibility: 1
lead_default_visibility: 1
org_default_visibility: 1
person_default_visibility: 1
product_default_visibility: 1
put:
summary: Update role details
description: Updates the parent role and/or the name of a specific role.
x-token-cost: 10
operationId: updateRole
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: baseRoleRequest
description: The details of the role
type: object
properties:
parent_role_id:
type: integer
nullable: true
description: The ID of the parent role
name:
type: string
description: The name of the role
responses:
'200':
description: Update role details
content:
application/json:
schema:
title: UpdateRoleResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: UpdateRoleResponseData
properties:
id:
allOf:
- type: integer
description: The ID of the updated role
description: The response data
example:
success: true
data:
id: 2
'/roles/{id}/assignments':
delete:
summary: Delete a role assignment
description: Removes the assigned user from a role and adds to the default role.
x-token-cost: 6
operationId: deleteRoleAssignment
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: deleteRoleAssignmentRequest
type: object
required:
- user_id
properties:
user_id:
type: integer
description: The ID of the user
responses:
'200':
description: Delete assignment from a role
content:
application/json:
schema:
title: DeleteRoleAssignmentResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: DeleteRoleAssignmentResponseData
properties:
data:
type: object
description: The response data
properties:
id:
allOf:
- type: integer
description: The ID of the role the user was removed from
example:
success: true
data:
id: 2
get:
summary: List role assignments
description: Returns all users assigned to a role.
x-token-cost: 10
operationId: getRoleAssignments
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
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: List assignments for a role
content:
application/json:
schema:
title: GetRoleAssignmentsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetRoleAssignmentsResponseData
properties:
data:
type: array
items:
title: RoleAssignment
allOf:
- title: baseRoleRequest
description: The details of the role
type: object
properties:
parent_role_id:
type: integer
nullable: true
description: The ID of the parent role
name:
type: string
description: The name of the role
- type: object
title: RoleAssignmentData
properties:
user_id:
type: integer
description: The user ID
role_id:
type: integer
description: The role ID
active_flag:
type: boolean
description: Whether the role is active or not
type:
type: string
description: The assignment type
description: The assignment data of the role
description: The role assignments
additional_data:
description: The additional data in the role list
type: object
properties:
pagination:
description: The pagination details in the role 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: Whether there are more list items in the collection than displayed
example:
success: true
data:
- user_id: 1234567
role_id: 2
parent_role_id: 1
name: Admins
active_flag: true
type: '1'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
post:
summary: Add role assignment
description: Assigns a user to a role.
x-token-cost: 10
operationId: addRoleAssignment
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addRoleAssignmentRequest
type: object
required:
- user_id
properties:
user_id:
type: integer
description: The ID of the user
responses:
'200':
description: Add assignment for a role
content:
application/json:
schema:
title: AddRoleAssignmentResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: AddRoleAssignmentResponseData
properties:
data:
type: object
properties:
user_id:
type: integer
description: The ID of the user that was added to the role
role_id:
type: integer
description: The ID of the role the user was added to
description: The response data
example:
success: true
data:
user_id: 1234567
role_id: 2
'/roles/{id}/settings':
get:
summary: List role settings
description: Returns the visibility settings of a specific role.
x-token-cost: 20
operationId: getRoleSettings
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
responses:
'200':
description: List role settings
content:
application/json:
schema:
title: GetRoleSettingsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetRoleSettingsResponseData
properties:
data:
description: The settings for the role
type: object
title: RoleSettings
properties:
deal_default_visibility:
type: number
description: The default visibility level of the deals for the role
lead_default_visibility:
type: number
description: The default visibility level of the leads for the role
org_default_visibility:
type: number
description: The default visibility level of the organizations for the role
person_default_visibility:
type: number
description: The default visibility level of the people for the role
product_default_visibility:
type: number
description: The default visibility level of the products for the role
deal_access_level:
type: number
description: The access level of the deals for the role (only for default role)
org_access_level:
type: number
description: The access level of the organizations for the role (only for default role)
person_access_level:
type: number
description: The access level of the people for the role (only for default role)
product_access_level:
type: number
description: The access level of the products for the role (only for default role)
example:
success: true
data:
deal_default_visibility: 1
lead_default_visibility: 1
org_default_visibility: 1
person_default_visibility: 1
product_default_visibility: 1
post:
summary: Add or update role setting
description: Adds or updates the visibility setting for a role.
x-token-cost: 10
operationId: addOrUpdateRoleSetting
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: addOrUpdateRoleSettingRequest
type: object
required:
- setting_key
- value
properties:
setting_key:
type: string
enum:
- deal_default_visibility
- lead_default_visibility
- org_default_visibility
- person_default_visibility
- product_default_visibility
value:
type: integer
enum:
- 1
- 3
- 5
- 7
description: 'Possible values for the `default_visibility` setting depending on the subscription plan:
Light / Growth and Professional plans | Value | Description |
| `1` | Owner & Followers |
| `3` | Entire company |
Premium / Ultimate plan | Value | Description |
| `1` | Owner only |
| `3` | Owner's visibility group |
| `5` | Owner's visibility group and sub-groups |
| `7` | Entire company |
Read more about visibility groups here.'
responses:
'200':
description: List role settings
content:
application/json:
schema:
title: UpsertRoleSettingsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: UpsertRoleSettingsResponseData
properties:
data:
type: object
properties:
id:
type: integer
description: The ID of the role
deal_default_visibility:
type: number
enum:
- 1
- 3
- 5
- 7
description: The setting
description: The response data
example:
success: true
data:
id: 2
deal_default_visibility: 1
'/roles/{id}/pipelines':
get:
summary: List pipeline visibility for a role
description: 'Returns the list of either visible or hidden pipeline IDs for a specific role. For more information on pipeline visibility, please refer to the Visibility groups article.'
x-token-cost: 20
operationId: getRolePipelines
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
- in: query
name: visible
schema:
type: boolean
default: true
description: Whether to return the visible or hidden pipelines for the role
responses:
'200':
description: Get either visible or hidden pipeline ids for a role
content:
application/json:
schema:
title: GetRolePipelinesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetRolePipelinesResponseData
properties:
pipeline_ids:
type: array
items:
type: number
description: The ID of the pipeline
description: Either visible or hidden pipeline ids
visible:
type: boolean
description: Whether visible or hidden pipeline ids were returned
description: The response data
example:
success: true
data:
pipeline_ids:
- 2
visible: true
put:
summary: Update pipeline visibility for a role
description: 'Updates the specified pipelines to be visible and/or hidden for a specific role. For more information on pipeline visibility, please refer to the Visibility groups article.'
x-token-cost: 10
operationId: updateRolePipelines
tags:
- Roles
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the role
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: PutRolePipelinesBody
type: object
required:
- visible_pipeline_ids
properties:
visible_pipeline_ids:
type: object
description: 'The pipeline IDs to make the pipelines visible (add) and/or hidden (remove) for the specified role. It requires the following JSON structure: `{ "add": "[1]", "remove": "[3, 4]" }`.'
responses:
'200':
description: Update pipeline visibility for a role
content:
application/json:
schema:
title: GetRolePipelinesResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
title: GetRolePipelinesResponseData
properties:
pipeline_ids:
type: array
items:
type: number
description: The ID of the pipeline
description: Either visible or hidden pipeline ids
visible:
type: boolean
description: Whether visible or hidden pipeline ids were returned
description: The response data
example:
success: true
data:
pipeline_ids:
- 1
- 2
visible: true
'/stages/{id}/deals':
get:
summary: Get deals in a stage
description: 'Lists deals in a specific stage. If no parameters are provided open deals owned by the authorized user will be returned.
This endpoint has been deprecated. Please use GET /api/v2/deals?stage_id={id} instead.'
x-token-cost: 20
operationId: getStageDeals
deprecated: true
tags:
- Stages
security:
- api_key: []
- oauth2:
- 'deals:read'
- 'deals:full'
parameters:
- in: path
name: id
description: The ID of the stage
required: true
schema:
type: integer
- in: query
name: filter_id
schema:
type: integer
description: 'If supplied, only deals matching the given filter will be returned'
- in: query
name: user_id
schema:
type: integer
description: 'If supplied, `filter_id` will not be considered and only deals owned by the given user will be returned. If omitted, deals owned by the authorized user will be returned.'
- in: query
name: everyone
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'If supplied, `filter_id` and `user_id` will not be considered – instead, deals owned by everyone will be returned'
- 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 deals in a stage
content:
application/json:
schema:
title: GetStageDealsResponse
type: object
properties:
success:
type: boolean
description: If the request was successful or not
data:
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
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
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: '2019-11-27 11:40:36'
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
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
/tasks:
get:
summary: Get all tasks
description: 'Returns all tasks. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.'
x-token-cost: 20
operationId: getTasks
tags:
- Tasks
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- 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'
- in: query
name: limit
description: 'For pagination, the limit of entries to be returned. If not provided, up to 500 items will be returned.'
schema:
type: integer
example: 500
- in: query
name: assignee_id
required: false
schema:
type: integer
description: 'If supplied, only tasks that are assigned to this user are returned'
- in: query
name: project_id
required: false
schema:
type: integer
description: 'If supplied, only tasks that are assigned to this project are returned'
- in: query
name: parent_task_id
required: false
schema:
type: integer
description: If `null` is supplied then only parent tasks are returned. If integer is supplied then only subtasks of a specific task are returned. By default all tasks are returned.
- in: query
name: done
required: false
schema:
title: numberBoolean
type: number
enum:
- 0
- 1
description: 'Whether the task is done or not. `0` = Not done, `1` = Done. If not omitted then returns both done and not done tasks.'
responses:
'200':
description: A list of tasks.
content:
application/json:
schema:
title: GetTasksResponse
type: object
properties:
success:
type: boolean
data:
type: array
items:
title: TaskResponseObject
type: object
allOf:
- type: object
properties:
id:
type: integer
description: 'The ID of the task, generated when the task was created'
- title: updateProjectRequest
type: object
allOf:
- type: object
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of the project this task is associated with
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
- type: object
properties:
creator_id:
type: number
description: The creator of a task
add_time:
type: string
description: 'The creation date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The marked as done date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
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:
- id: 1
title: Task 1
creator_id: 2
description: Task description
done: 0
due_date: '2023-10-11'
parent_task_id: 2
assignee_id: 2
assignee_ids:
- 2
- 3
- 4
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
marked_as_done_time: '2023-09-22 08:14:40.288'
project_id: 1
additional_data:
next_cursor: eyJhY3Rpdml0aWVzIjoyN30
post:
summary: Add a task
description: Adds a new task.
x-token-cost: 10
operationId: addTask
tags:
- Tasks
security:
- api_key: []
- oauth2:
- 'projects:full'
requestBody:
content:
application/json:
schema:
title: addTaskRequest
allOf:
- title: requiredPostProjectParameters
type: object
required:
- title
- project_id
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of a project
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
responses:
'201':
description: Created task.
content:
application/json:
schema:
title: AddTaskResponse
type: object
properties:
success:
type: boolean
data:
title: TaskResponseObject
type: object
allOf:
- type: object
properties:
id:
type: integer
description: 'The ID of the task, generated when the task was created'
- title: updateProjectRequest
type: object
allOf:
- type: object
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of the project this task is associated with
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
- type: object
properties:
creator_id:
type: number
description: The creator of a task
add_time:
type: string
description: 'The creation date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The marked as done date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 1
title: Task 1
creator_id: 2
description: Task description
done: 0
due_date: '2023-10-11'
parent_task_id: 2
assignee_id: 2
assignee_ids:
- 2
- 3
- 4
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
marked_as_done_time: '2023-09-22 08:14:40.288'
project_id: 1
additional_data: null
'/tasks/{id}':
get:
summary: Get details of a task
description: Returns the details of a specific task.
x-token-cost: 2
operationId: getTask
tags:
- Tasks
security:
- api_key: []
- oauth2:
- 'projects:read'
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the task
required: true
schema:
type: integer
responses:
'200':
description: Get a task.
content:
application/json:
schema:
title: GetTaskResponse
type: object
properties:
success:
type: boolean
data:
title: TaskResponseObject
type: object
allOf:
- type: object
properties:
id:
type: integer
description: 'The ID of the task, generated when the task was created'
- title: updateProjectRequest
type: object
allOf:
- type: object
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of the project this task is associated with
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
- type: object
properties:
creator_id:
type: number
description: The creator of a task
add_time:
type: string
description: 'The creation date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The marked as done date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 1
title: Task 1
creator_id: 2
description: Task description
done: 0
due_date: '2023-10-11'
parent_task_id: 2
assignee_id: 2
assignee_ids:
- 2
- 3
- 4
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
marked_as_done_time: '2023-09-22 08:14:40.288'
project_id: 1
additional_data: null
put:
summary: Update a task
description: Updates a task.
x-token-cost: 10
operationId: updateTask
tags:
- Tasks
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the task
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateProjectRequest
type: object
allOf:
- type: object
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of the project this task is associated with
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
responses:
'200':
description: Updated task.
content:
application/json:
schema:
title: UpdateTaskResponse
type: object
properties:
success:
type: boolean
data:
title: TaskResponseObject
type: object
allOf:
- type: object
properties:
id:
type: integer
description: 'The ID of the task, generated when the task was created'
- title: updateProjectRequest
type: object
allOf:
- type: object
properties:
title:
description: The title of the task
type: string
project_id:
description: The ID of the project this task is associated with
type: number
- type: object
properties:
description:
description: The description of the task
type: string
parent_task_id:
description: The ID of a parent task. Can not be ID of a task which is already a subtask.
type: number
assignee_id:
type: number
description: 'The ID of the user assigned to the task. When the `assignee_id` field is updated, the `assignee_ids` field value will be overwritten by the `assignee_id` field value.'
assignee_ids:
type: array
items:
type: number
maxItems: 10
uniqueItems: true
description: 'The IDs of users assigned to the task. When the `assignee_ids` field is updated, the `assignee_id` field value will be set to the first value of the `assignee_ids` field, or `null` if the list is empty.'
done:
description: 'Whether the task is done or not. 0 = Not done, 1 = Done.'
allOf:
- title: numberBoolean
type: number
enum:
- 0
- 1
due_date:
description: 'The due date of the task. Format: YYYY-MM-DD.'
type: string
format: date
- type: object
properties:
creator_id:
type: number
description: The creator of a task
add_time:
type: string
description: 'The creation date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
update_time:
type: string
description: 'The update date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
marked_as_done_time:
type: string
description: 'The marked as done date and time of the task in UTC. Format: YYYY-MM-DD HH:MM:SS.'
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 1
title: Task 1
creator_id: 2
description: Task description
done: 0
due_date: '2023-10-11'
parent_task_id: 2
assignee_id: 2
assignee_ids:
- 2
- 3
- 4
add_time: '2023-09-14 08:14:40.288'
update_time: '2023-09-14 08:14:40.288'
marked_as_done_time: '2023-09-22 08:14:40.288'
project_id: 1
additional_data: null
delete:
summary: Delete a task
description: Marks a task as deleted. If the task has subtasks then those will also be deleted.
x-token-cost: 6
operationId: deleteTask
tags:
- Tasks
security:
- api_key: []
- oauth2:
- 'projects:full'
parameters:
- in: path
name: id
description: The ID of the task
required: true
schema:
type: integer
responses:
'200':
description: Deleted task.
content:
application/json:
schema:
title: DeleteTaskResponse
type: object
properties:
success:
type: boolean
data:
title: deleteTask
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 task that was deleted
additional_data:
type: object
nullable: true
example: null
example:
success: true
data:
id: 1
additional_data: null
/users:
get:
summary: Get all users
description: Returns data about all users within the company.
x-token-cost: 20
operationId: getUsers
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
responses:
'200':
description: The list of user objects
content:
application/json:
schema:
title: GetUsersResponse
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
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
example:
success: true
data:
- id: 1
name: John Doe
default_currency: EUR
locale: et_EE
lang: 1
email: john@pipedrive.com
phone: 0000-0001
activated: true
last_login: '2019-11-21 08:45:56'
created: '2018-11-13 09:16:26'
modified: '2019-11-21 08:45:56'
has_created_company: true
access:
- app: sales
admin: true
permission_set_id: 62cc4d7f-4038-4352-abf3-a8c1c822b631
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
- app: account_settings
admin: true
permission_set_id: 982c5ce5-b8ba-4b47-b102-9da024f4b990
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: 'https://upload.wikimedia.org/wikipedia/en/thumb/e/e0/WPVG_icon_2016.svg/1024px-WPVG_icon_2016.svg.png'
is_you: true
is_deleted: false
- id: 2
name: Jane Doe
default_currency: EUR
locale: et_EE
lang: 1
email: jane@pipedrive.com
phone: 0000-0002
activated: true
last_login: '2019-09-11 11:43:54'
created: '2019-01-22 10:43:47'
modified: '2019-11-21 09:49:50'
has_created_company: false
access:
- app: sales
admin: false
permission_set_id: f07d229d-088a-4144-a40f-1fe64295d180
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: null
is_you: false
is_deleted: false
post:
summary: Add a new user
description: 'Adds a new user to the company, returns the ID upon success.'
x-token-cost: 10
operationId: addUser
tags:
- Users
security:
- api_key: []
- oauth2:
- admin
requestBody:
content:
application/json:
schema:
title: addUserRequest
type: object
required:
- email
properties:
email:
type: string
description: The email of the user
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
required:
- app
description: |
The access given to the user. Each item in the array represents access to a specific app. Optionally may include either admin flag or permission set ID to specify which access to give within the app. If both are omitted, the default access for the corresponding app will be used. It requires structure as follows: `[{ app: 'sales', permission_set_id: '62cc4d7f-4038-4352-abf3-a8c1c822b631' }, { app: 'global', admin: true }, { app: 'account_settings' }]`
default:
- app: sales
active_flag:
type: boolean
default: true
description: 'Whether the user is active or not. `false` = Not activated, `true` = Activated'
responses:
'200':
description: The data of the user
content:
application/json:
schema:
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
example:
success: true
data:
id: 2
name: Jane Doe
default_currency: EUR
locale: et_EE
lang: 1
email: jane@pipedrive.com
phone: 0000-0002
activated: true
last_login: '2019-09-11 11:43:54'
created: '2019-01-22 10:43:47'
modified: '2019-11-21 09:49:50'
has_created_company: false
access:
- app: sales
admin: false
permission_set_id: f07d229d-088a-4144-a40f-1fe64295d180
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: null
is_you: false
is_deleted: false
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
/users/find:
get:
summary: Find users by name
description: Finds users by their name.
x-token-cost: 40
operationId: findUsersByName
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: query
name: term
required: true
schema:
type: string
description: The search term to look for
- in: query
name: search_by_email
schema:
title: numberBooleanDefault0
type: number
default: 0
enum:
- 0
- 1
description: 'When enabled, the term will only be matched against email addresses of users. Default: `false`.'
responses:
'200':
description: The list of user objects
content:
application/json:
schema:
title: GetUsersResponse
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
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
example:
success: true
data:
- id: 1
name: John Doe
default_currency: EUR
locale: et_EE
lang: 1
email: john@pipedrive.com
phone: 0000-0001
activated: true
last_login: '2019-11-21 08:45:56'
created: '2018-11-13 09:16:26'
modified: '2019-11-21 08:45:56'
has_created_company: true
access:
- app: sales
admin: true
permission_set_id: 62cc4d7f-4038-4352-abf3-a8c1c822b631
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
- app: account_settings
admin: true
permission_set_id: 982c5ce5-b8ba-4b47-b102-9da024f4b990
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: 'https://upload.wikimedia.org/wikipedia/en/thumb/e/e0/WPVG_icon_2016.svg/1024px-WPVG_icon_2016.svg.png'
is_you: true
is_deleted: false
- id: 2
name: Jane Doe
default_currency: EUR
locale: et_EE
lang: 1
email: jane@pipedrive.com
phone: 0000-0002
activated: true
last_login: '2019-09-11 11:43:54'
created: '2019-01-22 10:43:47'
modified: '2019-11-21 09:49:50'
has_created_company: false
access:
- app: sales
admin: false
permission_set_id: f07d229d-088a-4144-a40f-1fe64295d180
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: null
is_you: false
is_deleted: false
/users/me:
get:
summary: Get current user data
description: 'Returns data about an authorized user within the company with bound company data: company ID, company name, and domain. Note that the `locale` property means ''Date/number format'' in the Pipedrive account settings, not the chosen language.'
x-token-cost: 2
operationId: getCurrentUser
tags:
- Users
security:
- api_key: []
- oauth2:
- base
responses:
'200':
description: The data of the logged in user
content:
application/json:
schema:
title: GetCurrentUserResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
allOf:
- 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
- type: object
properties:
company_id:
type: integer
description: The user company ID
company_name:
type: string
description: The user company name
company_domain:
type: string
description: The user company domain
company_country:
type: string
description: The user company country
company_industry:
type: string
description: The user company industry
language:
type: object
description: The user language details
properties:
language_code:
type: string
description: The language code. E.g. en
country_code:
type: string
description: The country code. E.g. US
example:
success: true
data:
id: 1
name: Me
default_currency: EUR
locale: et_EE
lang: 1
email: me@pipedrive.com
phone: 0000-0000
activated: true
last_login: '2019-11-21 08:45:56'
created: '2018-11-13 09:16:26'
modified: '2019-11-21 08:45:56'
has_created_company: true
access:
- app: sales
admin: true
permission_set_id: 62cc4d7f-4038-4352-abf3-a8c1c822b631
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
- app: account_settings
admin: true
permission_set_id: 982c5ce5-b8ba-4b47-b102-9da024f4b990
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: 'https://upload.wikimedia.org/wikipedia/en/thumb/e/e0/WPVG_icon_2016.svg/1024px-WPVG_icon_2016.svg.png'
is_you: true
is_deleted: false
company_id: 54235233
company_name: Pipedrive
company_domain: pipedrive-12g53f
company_country: EE
company_industry: IT Services
language:
language_code: en
country_code: US
'401':
description: Unauthorized response
content:
application/json:
schema:
title: unathorizedResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
errorCode:
type: integer
description: The response error code
example:
success: false
error: unauthorized access
errorCode: 401
'/users/{id}':
get:
summary: Get one user
description: Returns data about a specific user within the company.
x-token-cost: 2
operationId: getUser
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the user
required: true
schema:
type: integer
responses:
'200':
description: The data of the user
content:
application/json:
schema:
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
example:
success: true
data:
id: 2
name: Jane Doe
default_currency: EUR
locale: et_EE
lang: 1
email: jane@pipedrive.com
phone: 0000-0002
activated: true
last_login: '2019-09-11 11:43:54'
created: '2019-01-22 10:43:47'
modified: '2019-11-21 09:49:50'
has_created_company: false
access:
- app: sales
admin: false
permission_set_id: f07d229d-088a-4144-a40f-1fe64295d180
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: null
is_you: false
is_deleted: false
'404':
description: User with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: User not found or not accessible.
put:
summary: Update user details
description: 'Updates the properties of a user. Currently, only `active_flag` can be updated.'
x-token-cost: 10
operationId: updateUser
tags:
- Users
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
description: The ID of the user
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
title: updateUserRequest
type: object
required:
- active_flag
properties:
active_flag:
type: boolean
description: 'Whether the user is active or not. `false` = Not activated, `true` = Activated'
responses:
'200':
description: The data of the user
content:
application/json:
schema:
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
example:
success: true
data:
id: 2
name: Jane Doe
default_currency: EUR
locale: et_EE
lang: 1
email: jane@pipedrive.com
phone: 0000-0002
activated: true
last_login: '2019-09-11 11:43:54'
created: '2019-01-22 10:43:47'
modified: '2019-11-21 09:49:50'
has_created_company: false
access:
- app: sales
admin: false
permission_set_id: f07d229d-088a-4144-a40f-1fe64295d180
- app: global
admin: true
permission_set_id: 233b7976-39bd-43a9-b305-ef3a2b0998e5
active_flag: true
timezone_name: Europe/Berlin
timezone_offset: '+03:00'
role_id: 1
icon_url: null
is_you: false
is_deleted: false
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
'404':
description: User with specified ID does not exist or is inaccessible
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: User not found or not accessible.
'/users/{id}/followers':
get:
summary: List followers of a user
description: Lists the followers of a specific user.
x-token-cost: 20
operationId: getUserFollowers
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the user
required: true
schema:
type: integer
responses:
'200':
description: The list of user IDs
content:
application/json:
schema:
title: userIds
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: integer
description: The list of user IDs
example:
success: true
data:
- 2
- 5
- 8
'403':
description: Forbidden response
content:
application/json:
schema:
title: failResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
example:
success: false
error: You do not have permissions to do this.
error_info: Please check developers.pipedrive.com
data: null
additional_data: null
'/users/{id}/permissions':
get:
summary: List user permissions
description: Lists aggregated permissions over all assigned permission sets for a user.
x-token-cost: 10
operationId: getUserPermissions
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the user
required: true
schema:
type: integer
responses:
'200':
description: The list of user permissions
content:
application/json:
schema:
title: GetUserPermissionsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
data:
type: object
properties:
can_add_custom_fields:
type: boolean
description: If the user can add custom fields
can_add_products:
type: boolean
description: If the user can add products
can_add_prospects_as_leads:
type: boolean
description: If the user can add prospects as leads
can_bulk_edit_items:
type: boolean
description: If the user can bulk edit items
can_change_visibility_of_items:
type: boolean
description: If the user can change visibility of items
can_convert_deals_to_leads:
type: boolean
description: If the user can convert deals to leads
can_create_own_workflow:
type: boolean
description: If the user can create workflows
can_delete_activities:
type: boolean
description: If the user can delete activities
can_delete_custom_fields:
type: boolean
description: If the user can delete custom fields
can_delete_deals:
type: boolean
description: If the user can delete deals
can_edit_custom_fields:
type: boolean
description: If the user can edit custom fields
can_edit_deals_closed_date:
type: boolean
description: If the user can edit deals' closed date
can_edit_products:
type: boolean
description: If the user can edit products
can_edit_shared_filters:
type: boolean
description: If the user can edit shared filters
can_export_data_from_lists:
type: boolean
description: If the user can export data from item lists
can_follow_other_users:
type: boolean
description: If the user can follow other users
can_merge_deals:
type: boolean
description: If the user can merge deals
can_merge_organizations:
type: boolean
description: If the user can merge organizations
can_merge_people:
type: boolean
description: If the user can merge people
can_modify_labels:
type: boolean
description: If the user can modify labels
can_see_company_wide_statistics:
type: boolean
description: If the user can see company-wide statistics
can_see_deals_list_summary:
type: boolean
description: If the user can see the summary on the deals page
can_see_hidden_items_names:
type: boolean
description: If the user can see the names of hidden items
can_see_other_users:
type: boolean
description: If the user can see other users
can_see_other_users_statistics:
type: boolean
description: If the user can see other users' statistics
can_see_security_dashboard:
type: boolean
description: If the user can see security dashboard
can_share_filters:
type: boolean
description: If the user can share filters
can_share_insights:
type: boolean
description: If the user can share insights
can_use_api:
type: boolean
description: If the user can use API
can_use_email_tracking:
type: boolean
description: If the user can use email tracking
can_use_import:
type: boolean
description: If the user can use import
example:
success: true
data:
can_add_custom_fields: true
can_bulk_edit_items: true
can_change_visibility_of_items: true
can_create_own_workflow: true
'/users/{id}/roleAssignments':
get:
summary: List role assignments
description: Lists role assignments for a user.
x-token-cost: 10
operationId: getUserRoleAssignments
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the user
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: List assignments for a role
content:
application/json:
schema:
title: GetRoleAssignmentsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetRoleAssignmentsResponseData
properties:
data:
type: array
items:
title: RoleAssignment
allOf:
- title: baseRoleRequest
description: The details of the role
type: object
properties:
parent_role_id:
type: integer
nullable: true
description: The ID of the parent role
name:
type: string
description: The name of the role
- type: object
title: RoleAssignmentData
properties:
user_id:
type: integer
description: The user ID
role_id:
type: integer
description: The role ID
active_flag:
type: boolean
description: Whether the role is active or not
type:
type: string
description: The assignment type
description: The assignment data of the role
description: The role assignments
additional_data:
description: The additional data in the role list
type: object
properties:
pagination:
description: The pagination details in the role 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: Whether there are more list items in the collection than displayed
example:
success: true
data:
- user_id: 1234567
role_id: 2
parent_role_id: 1
name: Admins
active_flag: true
type: '1'
additional_data:
pagination:
start: 0
limit: 100
more_items_in_collection: false
'/users/{id}/roleSettings':
get:
summary: List user role settings
description: Lists the settings of user's assigned role.
x-token-cost: 10
operationId: getUserRoleSettings
tags:
- Users
security:
- api_key: []
- oauth2:
- 'users:read'
parameters:
- in: path
name: id
description: The ID of the user
required: true
schema:
type: integer
responses:
'200':
description: List role settings
content:
application/json:
schema:
title: GetRoleSettingsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetRoleSettingsResponseData
properties:
data:
description: The settings for the role
type: object
title: RoleSettings
properties:
deal_default_visibility:
type: number
description: The default visibility level of the deals for the role
lead_default_visibility:
type: number
description: The default visibility level of the leads for the role
org_default_visibility:
type: number
description: The default visibility level of the organizations for the role
person_default_visibility:
type: number
description: The default visibility level of the people for the role
product_default_visibility:
type: number
description: The default visibility level of the products for the role
deal_access_level:
type: number
description: The access level of the deals for the role (only for default role)
org_access_level:
type: number
description: The access level of the organizations for the role (only for default role)
person_access_level:
type: number
description: The access level of the people for the role (only for default role)
product_access_level:
type: number
description: The access level of the products for the role (only for default role)
example:
success: true
data:
deal_default_visibility: 1
lead_default_visibility: 1
org_default_visibility: 1
person_default_visibility: 1
product_default_visibility: 1
/userConnections:
get:
summary: Get all user connections
description: Returns data about all connections for the authorized user.
x-token-cost: 20
operationId: getUserConnections
tags:
- UserConnections
security:
- api_key: []
- oauth2:
- base
responses:
'200':
description: The data of user connections
content:
application/json:
schema:
title: GetUserConnectionsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetUserConnectionsResponseData
properties:
data:
type: object
description: The object of UserConnections
properties:
google:
type: string
description: The third party ID or false in case the ID is not found
example:
success: true
data:
google: awesomeid-123-4567890
'401':
description: Unauthorized response
content:
application/json:
schema:
title: unathorizedResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
errorCode:
type: integer
description: The response error code
example:
success: false
error: unauthorized access
errorCode: 401
/userSettings:
get:
summary: List settings of an authorized user
description: Lists the settings of an authorized user. Example response contains a shortened list of settings.
x-token-cost: 2
operationId: getUserSettings
tags:
- UserSettings
security:
- api_key: []
- oauth2:
- base
responses:
'200':
description: The list of user settings
content:
application/json:
schema:
title: GetUserSettingsResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
title: GetUserSettingsResponseData
properties:
data:
type: object
title: UserSettingsItem
properties:
marketplace_team:
type: boolean
description: If the vendors are allowed to be part of the Marketplace team or not
list_limit:
type: number
description: The number of results shown in list by default
beta_app:
type: boolean
description: Whether beta app is enabled
prevent_salesphone_callto_override:
type: boolean
description: Prevent salesphone call to override
file_upload_destination:
type: string
description: The destination of file upload
callto_link_syntax:
type: string
description: The call to link syntax
autofill_deal_expected_close_date:
type: boolean
description: Whether the expected close date of the deal is filled automatically or not
person_duplicate_condition:
type: string
description: Allow the vendors to duplicate a person
example:
success: true
data:
marketplace_team: false
list_limit: 100
beta_app: true
prevent_salesphone_callto_override: false
file_upload_destination: s3
callto_link_syntax: 'callto:[number]'
autofill_deal_expected_close_date: false
person_duplicate_condition: name && (org_id || email || phone)
'401':
description: Unauthorized response
content:
application/json:
schema:
title: unathorizedResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
errorCode:
type: integer
description: The response error code
example:
success: false
error: unauthorized access
errorCode: 401
/webhooks:
get:
summary: Get all Webhooks
description: Returns data about all the Webhooks of a company.
x-token-cost: 10
operationId: getWebhooks
tags:
- Webhooks
security:
- api_key: []
- oauth2:
- admin
responses:
'200':
description: The list of webhooks objects from the logged in company and user
content:
application/json:
schema:
title: GetWebhooksResponse
allOf:
- title: BaseResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
status:
type: string
description: The status of the response
- type: object
properties:
data:
type: array
items:
type: object
title: BaseWebhook
properties:
id:
type: integer
description: The ID of the Webhook
company_id:
type: integer
description: The ID of the company related to the Webhook
owner_id:
type: integer
description: The ID of the user who owns the Webhook
user_id:
type: integer
description: The ID of the user related to the Webhook
event_action:
type: string
description: The Webhook action
event_object:
type: string
description: The Webhook object
subscription_url:
type: string
description: The subscription URL of the Webhook
version:
type: string
description: The Webhook version
is_active:
allOf:
- title: numberBooleanDefault1
type: number
default: 1
enum:
- 0
- 1
description: The Webhook's status
add_time:
type: string
format: date-time
description: The date when the Webhook was added
remove_time:
type: string
format: date-time
nullable: true
description: The date when the Webhook was removed (if removed)
type:
type: string
enum:
- general
- application
- automation
description: The type of the Webhook
http_auth_user:
type: string
nullable: true
description: The username of the `subscription_url` of the Webhook
http_auth_password:
type: string
nullable: true
description: The password of the `subscription_url` of the Webhook
remove_reason:
type: string
nullable: true
description: The removal reason of the Webhook (if removed)
last_delivery_time:
type: string
format: date-time
nullable: true
description: The last delivery time of the Webhook
last_http_status:
type: integer
nullable: true
description: The last delivery HTTP status of the Webhook
admin_id:
type: integer
description: The ID of the admin of the Webhook
name:
type: string
description: The Webhook name
maxLength: 255
description: The array of Webhooks
example:
status: ok
success: true
data:
- id: 1
company_id: 1
owner_id: 1
user_id: 1
event_action: added
event_object: activityType
subscription_url: 'http://example.org'
version: '2.0'
is_active: 1
add_time: '2019-10-25T08:25:27.000Z'
remove_time: null
type: general
http_auth_user: null
http_auth_password: null
remove_reason: null
last_delivery_time: null
last_http_status: null
admin_id: 1
name: Example webhook
'401':
description: Unauthorized response
content:
application/json:
schema:
title: unathorizedResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
errorCode:
type: integer
description: The response error code
example:
success: false
error: unauthorized access
errorCode: 401
post:
summary: Create a new Webhook
description: 'Creates a new Webhook and returns its details. Note that specifying an event which triggers the Webhook combines 2 parameters - `event_action` and `event_object`. E.g., use `*.*` for getting notifications about all events, `create.deal` for any newly added deals, `delete.persons` for any deleted persons, etc. See the guide for Webhooks for more details.'
x-token-cost: 10
operationId: addWebhook
tags:
- Webhooks
security:
- api_key: []
- oauth2:
- admin
requestBody:
content:
application/json:
schema:
title: addWebhookRequest
type: object
required:
- subscription_url
- event_action
- event_object
- name
properties:
subscription_url:
type: string
description: 'A full, valid, publicly accessible URL which determines where to send the notifications. Please note that you cannot use Pipedrive API endpoints as the `subscription_url` and the chosen URL must not redirect to another link.'
event_action:
type: string
enum:
- create
- change
- delete
- '*'
description: The type of action to receive notifications about. Wildcard will match all supported actions.
event_object:
type: string
enum:
- activity
- deal
- lead
- note
- organization
- person
- pipeline
- product
- stage
- user
- '*'
description: The type of object to receive notifications about. Wildcard will match all supported objects.
name:
type: string
description: The webhook's name
maxLength: 255
user_id:
type: integer
description: 'The ID of the user that this webhook will be authorized with. You have the option to use a different user''s `user_id`. If it is not set, the current user''s `user_id` will be used. As each webhook event is checked against a user''s permissions, the webhook will only be sent if the user has access to the specified object(s). If you want to receive notifications for all events, please use a top-level admin user’s `user_id`.'
http_auth_user:
nullable: true
type: string
description: The HTTP basic auth username of the subscription URL endpoint (if required)
http_auth_password:
nullable: true
type: string
description: The HTTP basic auth password of the subscription URL endpoint (if required)
version:
type: string
enum:
- '1.0'
- '2.0'
default: '2.0'
description: 'The webhook''s version. NB! Webhooks v2 is the default from March 17th, 2025. See this Changelog post for more details.'
responses:
'201':
description: The created webhook object
content:
application/json:
schema:
title: GetWebhookResponse
allOf:
- title: BaseResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
status:
type: string
description: The status of the response
- type: object
title: GetWebhookResponseData
properties:
data:
type: object
title: BaseWebhook
properties:
id:
type: integer
description: The ID of the Webhook
company_id:
type: integer
description: The ID of the company related to the Webhook
owner_id:
type: integer
description: The ID of the user who owns the Webhook
user_id:
type: integer
description: The ID of the user related to the Webhook
event_action:
type: string
description: The Webhook action
event_object:
type: string
description: The Webhook object
subscription_url:
type: string
description: The subscription URL of the Webhook
version:
type: string
description: The Webhook version
is_active:
allOf:
- title: numberBooleanDefault1
type: number
default: 1
enum:
- 0
- 1
description: The Webhook's status
add_time:
type: string
format: date-time
description: The date when the Webhook was added
remove_time:
type: string
format: date-time
nullable: true
description: The date when the Webhook was removed (if removed)
type:
type: string
enum:
- general
- application
- automation
description: The type of the Webhook
http_auth_user:
type: string
nullable: true
description: The username of the `subscription_url` of the Webhook
http_auth_password:
type: string
nullable: true
description: The password of the `subscription_url` of the Webhook
remove_reason:
type: string
nullable: true
description: The removal reason of the Webhook (if removed)
last_delivery_time:
type: string
format: date-time
nullable: true
description: The last delivery time of the Webhook
last_http_status:
type: integer
nullable: true
description: The last delivery HTTP status of the Webhook
admin_id:
type: integer
description: The ID of the admin of the Webhook
name:
type: string
description: The Webhook name
maxLength: 255
example:
status: ok
success: true
data:
id: 1
company_id: 1
owner_id: 1
user_id: 1
event_action: added
event_object: activityType
subscription_url: 'http://example.org'
version: '2.0'
is_active: 1
add_time: '2019-10-25T08:25:27.000Z'
remove_time: null
type: general
http_auth_user: null
http_auth_password: null
remove_reason: null
last_delivery_time: null
last_http_status: null
admin_id: 1
name: Example webhook
'400':
description: The bad response on webhook creation
content:
application/json:
schema:
title: WebhooksBadRequestResponse
allOf:
- title: BaseResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
status:
type: string
description: The status of the response
- type: object
properties:
errors:
type: object
description: List of errors
example:
status: error
success: false
errors:
subscription_url:
- invalid or non-reachable URL
'401':
description: Unauthorized response
content:
application/json:
schema:
title: unathorizedResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
errorCode:
type: integer
description: The response error code
example:
success: false
error: unauthorized access
errorCode: 401
'/webhooks/{id}':
delete:
summary: Delete existing Webhook
description: Deletes the specified Webhook.
x-token-cost: 6
operationId: deleteWebhook
tags:
- Webhooks
security:
- api_key: []
- oauth2:
- admin
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: The ID of the Webhook to delete
responses:
'200':
description: The webhook deletion success response
content:
application/json:
schema:
title: BaseResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
status:
type: string
description: The status of the response
example:
status: ok
success: true
'401':
description: Unauthorized response
content:
application/json:
schema:
title: unathorizedResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
error:
type: string
description: The error message
errorCode:
type: integer
description: The response error code
example:
success: false
error: unauthorized access
errorCode: 401
'403':
description: The webhook deletion forbidden response
content:
application/json:
schema:
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
message:
type: string
description: The error message
example:
success: false
message: Forbidden
'404':
description: The webhook deletion not found response
content:
application/json:
schema:
title: WebhooksBadRequestResponse
allOf:
- title: BaseResponse
allOf:
- title: baseResponse
type: object
properties:
success:
type: boolean
description: If the response is successful or not
- type: object
properties:
status:
type: string
description: The status of the response
- type: object
properties:
errors:
type: object
description: List of errors
example:
status: error
success: false
errors:
id:
- not found
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