Pipedrive
Pipedrive is a sales CRM and pipeline management tool focused on small and mid-market teams. The Pipedrive REST API exposes deals, persons, organizations, activities, leads, products, pipelines, stages, mail, calls, files, notes, users, permissions, filters, goals, subscriptions, and webhooks.
21 APIs
10 Features
CRMSalesPipeline ManagementSaaSSmall Business
Manage deals — the core sales-pipeline entity. Create, retrieve, update, search, and merge deals; advance them through pipeline stages and track value, status, and probability.
Manage leads — pre-qualified deal candidates living in the Leads Inbox before being converted to deals.
Manage person (contact) records — names, emails, phones, social profiles — associated with deals and organizations.
Manage organization (company) records that group persons and deals under a single business relationship.
Manage activities (calls, meetings, emails, tasks, deadlines) scheduled against deals, persons, or organizations.
Manage pipelines — the top-level sales process containers grouping ordered stages.
Manage stages within pipelines and the per-stage probability and ordering used to compute weighted forecasts.
Manage product catalog entries (SKU, price, currency variants) attached to deals as line items.
Add and retrieve free-form notes attached to deals, persons, organizations, and leads.
Upload and link files (contracts, proposals, attachments) to deals, persons, and organizations.
Read mailbox messages and threads synced via the Pipedrive Smart Email Bcc and 2-way email sync features.
Log call activities and connect with telephony providers via the Caller integration framework.
Manage Pipedrive users (sales reps, managers, admins) and their activation state.
Manage user roles and permission sets that govern visibility across deals, persons, and organizations.
Manage saved filters (saved query / view definitions) used across lists and reports.
Set, retrieve, and report on user / team / pipeline goals (deal count, won value, weighted value).
Manage recurring revenue subscriptions attached to a deal — schedule, cancellation, and renewal tracking.
Manage post-sale projects and tasks linked to a closed-won deal in the Pipedrive Projects (delivery) module.
Read and manage custom field definitions on Deals, Persons, Organizations, Products, and Leads.
Subscribe to Pipedrive events (deal.added, deal.updated, person.added, activity.added) and receive HTTP callbacks for downstream automation.
OAuth 2 endpoints, app distribution, and embedded UI extensions (panels, modals, link actions) for building Pipedrive Marketplace apps.
REST API at https://api.pipedrive.com/v1 (and v2 endpoints)
OAuth 2.0 (Marketplace apps) and API token (custom integrations)
Five plan tiers — Essential, Advanced, Professional, Power, Enterprise
Token-based daily budget — 30,000 base tokens × plan multiplier × seats
Plan multipliers from 1 (Lite) to 7 (Ultimate)
Token costs - 2 (single GET), 20 (list GET), 10 (PUT), 40 (search)
Burst per-user limits in 2-second windows
429 returned when daily budget is exhausted; resets at server midnight
Add-ons - LeadBooster, Smart Docs, Web Visitors, Projects, Campaigns
SDKs in Node.js, PHP, Python, .NET, Ruby
opencollection: 1.0.0
info:
name: Pipedrive API v2
version: 2.0.0
items:
- info:
name: Activities
type: folder
items:
- info:
name: Get all activities
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/activities
params:
- name: filter_id
value: ''
type: query
description: If supplied, only activities matching the specified filter are returned
- name: ids
value: ''
type: query
description: Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this
is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response.
- name: owner_id
value: ''
type: query
description: If supplied, only activities owned by the specified user are returned. If filter_id is provided, this
is ignored.
- name: deal_id
value: ''
type: query
description: If supplied, only activities linked to the specified deal are returned. If filter_id is provided, this
is ignored.
- name: lead_id
value: ''
type: query
description: If supplied, only activities linked to the specified lead are returned. If filter_id is provided, this
is ignored.
- name: person_id
value: ''
type: query
description: If supplied, only activities whose primary participant is the given person are returned. If filter_id
is provided, this is ignored.
- name: org_id
value: ''
type: query
description: If supplied, only activities linked to the specified organization are returned. If filter_id is provided,
this is ignored.
- name: done
value: ''
type: query
description: If supplied, only activities with specified 'done' flag value are returned
- name: updated_since
value: ''
type: query
description: If set, only activities with an `update_time` later than or equal to this time are returned. In RFC3339
format, e.g. 2025-01-01T10:20:00Z.
- name: updated_until
value: ''
type: query
description: If set, only activities with an `update_time` earlier than this time are returned. In RFC3339 format,
e.g. 2025-01-01T10:20:00Z.
- name: sort_by
value: ''
type: query
description: 'The field to sort by. Supported fields: `id`, `update_time`, `add_time`, `due_date`.'
- name: sort_direction
value: ''
type: query
description: 'The sorting direction. Supported values: `asc`, `desc`.'
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional fields to include
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns data about all activities.
- info:
name: Add a new activity
type: http
http:
method: POST
url: https://api.pipedrive.com/api/v2/activities
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Adds a new activity.
- info:
name: Get details of an activity
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/activities/:id
params:
- name: id
value: ''
type: path
description: The ID of the activity
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional fields to include
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns the details of a specific activity.
- info:
name: Update an activity
type: http
http:
method: PATCH
url: https://api.pipedrive.com/api/v2/activities/:id
params:
- name: id
value: ''
type: path
description: The ID of the activity
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Updates the properties of an activity.
- info:
name: Delete an activity
type: http
http:
method: DELETE
url: https://api.pipedrive.com/api/v2/activities/:id
params:
- name: id
value: ''
type: path
description: The ID of the activity
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Marks an activity as deleted. After 30 days, the activity will be permanently deleted.
- info:
name: ActivityFields
type: folder
items:
- info:
name: Get all activity fields
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/activityFields
params:
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional data namespaces to include in response
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns metadata about all activity fields in the company.
- info:
name: Get one activity field
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/activityFields/:field_code
params:
- name: field_code
value: ''
type: path
description: The unique code identifying the field
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional data namespaces to include in response
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns metadata about a specific activity field.
- info:
name: Deals
type: folder
items:
- info:
name: Get all deals
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals
params:
- name: filter_id
value: ''
type: query
description: If supplied, only deals matching the specified filter are returned
- name: ids
value: ''
type: query
description: Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this
is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response.
- name: owner_id
value: ''
type: query
description: If supplied, only deals owned by the specified user are returned. If filter_id is provided, this is ignored.
- name: person_id
value: ''
type: query
description: If supplied, only deals linked to the specified person are returned. If filter_id is provided, this is
ignored.
- name: org_id
value: ''
type: query
description: If supplied, only deals linked to the specified organization are returned. If filter_id is provided,
this is ignored.
- name: pipeline_id
value: ''
type: query
description: If supplied, only deals in the specified pipeline are returned. If filter_id is provided, this is ignored.
- name: stage_id
value: ''
type: query
description: If supplied, only deals in the specified stage are returned. If filter_id is provided, this is ignored.
- name: status
value: ''
type: query
description: Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted,
deals that have been deleted up to 30 days ago will be included. Multiple statuses can be included as a comma separated
array. If filter_id is provided, this is ignored.
- name: updated_since
value: ''
type: query
description: If set, only deals with an `update_time` later than or equal to this time are returned. In RFC3339 format,
e.g. 2025-01-01T10:20:00Z.
- name: updated_until
value: ''
type: query
description: If set, only deals with an `update_time` earlier than this time are returned. In RFC3339 format, e.g.
2025-01-01T10:20:00Z.
- name: sort_by
value: ''
type: query
description: 'The field to sort by. Supported fields: `id`, `update_time`, `add_time`.'
- name: sort_direction
value: ''
type: query
description: 'The sorting direction. Supported values: `asc`, `desc`.'
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional fields to include
- name: custom_fields
value: ''
type: query
description: Optional comma separated string array of custom fields keys to include. If you are only interested in
a particular set of custom fields, please use this parameter for faster results and smaller response.<br/>A maximum
of 15 keys is allowed.
- name: include_option_labels
value: ''
type: query
description: 'When provided with a ''true'' value, single option and multiple option custom fields values contain
objects in the form of ''{ id: number, label: string }'' instead of plain id'
- name: include_labels
value: ''
type: query
description: 'When provided with ''true'' value, response will include an array of label objects in the form of ''{
id: number, label: string }'''
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns data about all not archived deals.
- info:
name: Add a new deal
type: http
http:
method: POST
url: https://api.pipedrive.com/api/v2/deals
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Adds a new deal.
- info:
name: Get all archived deals
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/archived
params:
- name: filter_id
value: ''
type: query
description: If supplied, only deals matching the specified filter are returned
- name: ids
value: ''
type: query
description: Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this
is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response.
- name: owner_id
value: ''
type: query
description: If supplied, only deals owned by the specified user are returned. If filter_id is provided, this is ignored.
- name: person_id
value: ''
type: query
description: If supplied, only deals linked to the specified person are returned. If filter_id is provided, this is
ignored.
- name: org_id
value: ''
type: query
description: If supplied, only deals linked to the specified organization are returned. If filter_id is provided,
this is ignored.
- name: pipeline_id
value: ''
type: query
description: If supplied, only deals in the specified pipeline are returned. If filter_id is provided, this is ignored.
- name: stage_id
value: ''
type: query
description: If supplied, only deals in the specified stage are returned. If filter_id is provided, this is ignored.
- name: status
value: ''
type: query
description: Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted,
deals that have been deleted up to 30 days ago will be included. Multiple statuses can be included as a comma separated
array. If filter_id is provided, this is ignored.
- name: updated_since
value: ''
type: query
description: If set, only deals with an `update_time` later than or equal to this time are returned. In RFC3339 format,
e.g. 2025-01-01T10:20:00Z.
- name: updated_until
value: ''
type: query
description: If set, only deals with an `update_time` earlier than this time are returned. In RFC3339 format, e.g.
2025-01-01T10:20:00Z.
- name: sort_by
value: ''
type: query
description: 'The field to sort by. Supported fields: `id`, `update_time`, `add_time`.'
- name: sort_direction
value: ''
type: query
description: 'The sorting direction. Supported values: `asc`, `desc`.'
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional fields to include
- name: custom_fields
value: ''
type: query
description: Optional comma separated string array of custom fields keys to include. If you are only interested in
a particular set of custom fields, please use this parameter for faster results and smaller response.<br/>A maximum
of 15 keys is allowed.
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns data about all archived deals.
- info:
name: Get details of a deal
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/:id
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: include_fields
value: ''
type: query
description: Optional comma separated string array of additional fields to include
- name: custom_fields
value: ''
type: query
description: Optional comma separated string array of custom fields keys to include. If you are only interested in
a particular set of custom fields, please use this parameter for faster results and smaller response.<br/>A maximum
of 15 keys is allowed.
- name: include_option_labels
value: ''
type: query
description: 'When provided with a ''true'' value, single option and multiple option custom fields values contain
objects in the form of ''{ id: number, label: string }'' instead of plain id'
- name: include_labels
value: ''
type: query
description: 'When provided with ''true'' value, response will include an array of label objects in the form of ''{
id: number, label: string }'''
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns the details of a specific deal.
- info:
name: Update a deal
type: http
http:
method: PATCH
url: https://api.pipedrive.com/api/v2/deals/:id
params:
- name: id
value: ''
type: path
description: The ID of the deal
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Updates the properties of a deal.
- info:
name: Delete a deal
type: http
http:
method: DELETE
url: https://api.pipedrive.com/api/v2/deals/:id
params:
- name: id
value: ''
type: path
description: The ID of the deal
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Marks a deal as deleted. After 30 days, the deal will be permanently deleted.
- info:
name: List followers of a deal
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/:id/followers
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Lists users who are following the deal.
- info:
name: Add a follower to a deal
type: http
http:
method: POST
url: https://api.pipedrive.com/api/v2/deals/:id/followers
params:
- name: id
value: ''
type: path
description: The ID of the deal
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Adds a user as a follower to the deal.
- info:
name: List followers changelog of a deal
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/:id/followers/changelog
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Lists changelogs about users have followed the deal.
- info:
name: Delete a follower from a deal
type: http
http:
method: DELETE
url: https://api.pipedrive.com/api/v2/deals/:id/followers/:follower_id
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: follower_id
value: ''
type: path
description: The ID of the following user
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Deletes a user follower from the deal.
- info:
name: Search deals
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/search
params:
- name: term
value: ''
type: query
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.
- name: fields
value: ''
type: query
description: 'A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only
the following custom field types are searchable: `address`, `varchar`, `text`, `varchar_auto`, `double`, `monetary`
and `phone`. Read more about searching by custom fields <a href="https://support.pipedrive.com/en/article/search-finding-what-you-need#searching-by-custom-fields"
target="_blank" rel="noopener noreferrer">here</a>.'
- name: exact_match
value: ''
type: query
description: When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive.
- name: person_id
value: ''
type: query
description: Will filter deals by the provided person ID. The upper limit of found deals associated with the person
is 2000.
- name: organization_id
value: ''
type: query
description: Will filter deals by the provided organization ID. The upper limit of found deals associated with the
organization is 2000.
- name: status
value: ''
type: query
description: Will filter deals by the provided specific status. open = Open, won = Won, lost = Lost. The upper limit
of found deals associated with the status is 2000.
- name: include_fields
value: ''
type: query
description: Supports including optional fields in the results which are not provided by default
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Searches all deals by title, notes and/or custom fields. This endpoint is a wrapper of <a href="https://developers.pipedrive.com/docs/api/v1/ItemSearch#searchItem">/v1/itemSearch</a>
with a narrower OAuth scope. Found deals can be filtered by the person ID and the organization ID.
- info:
name: List discounts added to a deal
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/:id/discounts
params:
- name: id
value: ''
type: path
description: The ID of the deal
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Lists discounts attached to a deal.
- info:
name: Add a discount to a deal
type: http
http:
method: POST
url: https://api.pipedrive.com/api/v2/deals/:id/discounts
params:
- name: id
value: ''
type: path
description: The ID of the deal
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Adds a discount to a deal, changing the deal value if the deal has one-time products attached.
- info:
name: Update a discount added to a deal
type: http
http:
method: PATCH
url: https://api.pipedrive.com/api/v2/deals/:id/discounts/:discount_id
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: discount_id
value: ''
type: path
description: The ID of the discount
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Edits a discount added to a deal, changing the deal value if the deal has one-time products attached.
- info:
name: Delete a discount from a deal
type: http
http:
method: DELETE
url: https://api.pipedrive.com/api/v2/deals/:id/discounts/:discount_id
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: discount_id
value: ''
type: path
description: The ID of the discount
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Removes a discount from a deal, changing the deal value if the deal has one-time products attached.
- info:
name: Convert a deal to a lead
type: http
http:
method: POST
url: https://api.pipedrive.com/api/v2/deals/:id/convert/lead
params:
- name: id
value: ''
type: path
description: The ID of the deal to convert
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Initiates a conversion of a deal to a lead. The return value is an ID of a job that was assigned to perform the
conversion. Related entities (notes, files, emails, activities, ...) are transferred during the process to the target
entity. There are exceptions for entities like invoices or history that are not transferred and remain linked to the
original deal. If the conversion is successful, the deal is marked as deleted. To retrieve the created entity ID and
the result of the conversion, call t
- info:
name: Get Deal conversion status
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/:id/convert/status/:conversion_id
params:
- name: id
value: ''
type: path
description: The ID of a deal
- name: conversion_id
value: ''
type: path
description: The ID of the conversion
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns information about the conversion. Status is always present and its value (not_started, running, completed,
failed, rejected) represents the current state of the conversion. Lead ID is only present if the conversion was successfully
finished. This data is only temporary and removed after a few days.
- info:
name: DealProducts
type: folder
items:
- info:
name: Get deal products of several deals
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/products
params:
- name: deal_ids
value: ''
type: query
description: An array of integers with the IDs of the deals for which the attached products will be returned. A maximum
of 100 deal IDs can be provided.
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: sort_by
value: ''
type: query
description: 'The field to sort by. Supported fields: `id`, `deal_id`, `add_time`, `update_time`, `order_nr`.'
- name: sort_direction
value: ''
type: query
description: 'The sorting direction. Supported values: `asc`, `desc`.'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Returns data about products attached to deals
- info:
name: List products attached to a deal
type: http
http:
method: GET
url: https://api.pipedrive.com/api/v2/deals/:id/products
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: cursor
value: ''
type: query
description: For pagination, the marker (an opaque string value) representing the first item on the next page
- name: limit
value: ''
type: query
description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please
note that a maximum value of 500 is allowed.
- name: sort_by
value: ''
type: query
description: 'The field to sort by. Supported fields: `id`, `add_time`, `update_time`, `order_nr`.'
- name: sort_direction
value: ''
type: query
description: 'The sorting direction. Supported values: `asc`, `desc`.'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Lists products attached to a deal.
- info:
name: Add a product to a deal
type: http
http:
method: POST
url: https://api.pipedrive.com/api/v2/deals/:id/products
params:
- name: id
value: ''
type: path
description: The ID of the deal
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Adds a product to a deal, creating a new item called a deal-product.
- info:
name: Delete many products from a deal
type: http
http:
method: DELETE
url: https://api.pipedrive.com/api/v2/deals/:id/products
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: ids
value: ''
type: query
description: Comma-separated list of deal product IDs to delete. If not provided, all deal products will be deleted
up to 100 items. Maximum 100 IDs allowed.
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Deletes multiple products from a deal. If no product IDs are specified, up to 100 products will be removed from
the deal. A maximum of 100 product IDs can be provided per request.
- info:
name: Update the product attached to a deal
type: http
http:
method: PATCH
url: https://api.pipedrive.com/api/v2/deals/:id/products/:product_attachment_id
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: product_attachment_id
value: ''
type: path
description: The ID of the deal-product (the ID of the product attached to the deal)
body:
type: json
data: '{}'
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Updates the details of the product that has been attached to a deal.
- info:
name: Delete an attached product from a deal
type: http
http:
method: DELETE
url: https://api.pipedrive.com/api/v2/deals/:id/products/:product_attachment_id
params:
- name: id
value: ''
type: path
description: The ID of the deal
- name: product_attachment_id
value: ''
type: path
description: The product attachment ID
auth:
type: apikey
key: x-api-token
value: '{{x-api-token}}'
placement: header
docs: Deletes a product attachment from a deal, using the `product_attachment_id`.
- info:
name: Add multiple products to a deal
type: http
http:
# --- truncated at 32 KB (130 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pipedrive/refs/heads/main/apis.yml