Pipedrive website screenshot

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

APIs

Pipedrive Deals API

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.

Pipedrive Leads API

Manage leads — pre-qualified deal candidates living in the Leads Inbox before being converted to deals.

Pipedrive Persons API

Manage person (contact) records — names, emails, phones, social profiles — associated with deals and organizations.

Pipedrive Organizations API

Manage organization (company) records that group persons and deals under a single business relationship.

Pipedrive Activities API

Manage activities (calls, meetings, emails, tasks, deadlines) scheduled against deals, persons, or organizations.

Pipedrive Pipelines API

Manage pipelines — the top-level sales process containers grouping ordered stages.

Pipedrive Stages API

Manage stages within pipelines and the per-stage probability and ordering used to compute weighted forecasts.

Pipedrive Products API

Manage product catalog entries (SKU, price, currency variants) attached to deals as line items.

Pipedrive Notes API

Add and retrieve free-form notes attached to deals, persons, organizations, and leads.

Pipedrive Files API

Upload and link files (contracts, proposals, attachments) to deals, persons, and organizations.

Pipedrive Mailbox API

Read mailbox messages and threads synced via the Pipedrive Smart Email Bcc and 2-way email sync features.

Pipedrive Calls API

Log call activities and connect with telephony providers via the Caller integration framework.

Pipedrive Users API

Manage Pipedrive users (sales reps, managers, admins) and their activation state.

Pipedrive Permissions API

Manage user roles and permission sets that govern visibility across deals, persons, and organizations.

Pipedrive Filters API

Manage saved filters (saved query / view definitions) used across lists and reports.

Pipedrive Goals API

Set, retrieve, and report on user / team / pipeline goals (deal count, won value, weighted value).

Pipedrive Subscriptions API

Manage recurring revenue subscriptions attached to a deal — schedule, cancellation, and renewal tracking.

Pipedrive Projects API

Manage post-sale projects and tasks linked to a closed-won deal in the Pipedrive Projects (delivery) module.

Pipedrive Custom Fields API

Read and manage custom field definitions on Deals, Persons, Organizations, Products, and Leads.

Pipedrive Webhooks API

Subscribe to Pipedrive events (deal.added, deal.updated, person.added, activity.added) and receive HTTP callbacks for downstream automation.

Pipedrive Marketplace App API

OAuth 2 endpoints, app distribution, and embedded UI extensions (panels, modals, link actions) for building Pipedrive Marketplace apps.

Collections

GraphQL

Pipedrive GraphQL Schema

This document describes a conceptual GraphQL schema for the Pipedrive CRM API. Pipedrive provides a REST API at `https://api.pipedrive.com/v1` (and v2 endpoints). This schema mo...

GRAPHQL

Pricing Plans

Pipedrive Plans Pricing

11 plans

PLANS

Rate Limits

Pipedrive Rate Limits

7 limits

RATE LIMITS

FinOps

Features

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

Event Specifications

Pipedrive Webhooks v2

AsyncAPI description of the Pipedrive Webhooks v2 surface. Pipedrive delivers webhook notifications as HTTP `POST` requests carrying a JSON body. A webhook subscription is ident...

ASYNCAPI

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
APIReference
APIReference
💰
Pricing
Pricing
🔗
Login
Login
🟢
StatusPage
StatusPage
📰
Blog
Blog
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔑
Authentication
Authentication
🔗
RateLimits
RateLimits
🔗
Webhooks
Webhooks
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
LlmsText
LlmsText

Sources

Raw ↑
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