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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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.
ValueDescription
`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

ValueDescription
`1`Owner & followers
`3`Entire company

Premium / Ultimate plan

ValueDescription
`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.
ValueDescription
`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.
ValueDescription
`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.
ValueDescription
`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

ValueDescription
`1`Owner & followers
`3`Entire company

Premium / Ultimate plan

ValueDescription
`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.
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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.
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`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
ValueDescription
`1`Owner & Followers
`3`Entire company

Premium / Ultimate plan
ValueDescription
`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