Pipedrive API Directory

Pipedrive is a sales-first CRM built around one core job: keeping your pipeline clean, current, and easy to act on. For teams that live in deals, activities, and follow-ups, Pipedrive’s interface and automation features help standardize how leads are captured, qualified, moved across stages, and converted into revenue.

Where Pipedrive becomes more operationally powerful is through its API. The Pipedrive API lets you connect your CRM to the rest of your stack, lead sources, product catalogs, billing tools, customer data platforms, internal dashboards, and workflow systems, so data stays consistent and sales execution doesn’t depend on manual updates.

Key highlights of Pipedrive APIs

  1. Deal and pipeline operations are straightforward
    Create, update, and search deals, pipelines, and stages so your CRM reflects how your sales team actually sells.
  2. Search is built for real workflows, not just reporting
    Use deal/lead/org/person search endpoints to power “find and act” workflows (routing, enrichment, dedupe, and quick lookups).
  3. Product + deal linkage supports revenue hygiene
    Deal product endpoints help you keep line items, pricing, and attachments aligned to the opportunity—useful when finance needs traceability.
  4. Real-time triggers via webhooks (reduced polling)
    Webhooks allow event-driven integrations so your downstream systems stay updated without constantly calling the API.
  5. OAuth-based access enables controlled integrations
    OAuth 2.0 helps align with modern security expectations for third-party integrations and internal apps.
  6. Cursor-based pagination helps at scale
    Many endpoints support cursor/limit patterns that are better suited for large datasets and incremental syncs.
  7. Versioned endpoints help manage change
    Clear versioning reduces integration breakage and makes upgrades easier to plan and test.
  8. Automation-friendly data access
    The API is well-suited for building workflow automations: assignment rules, stage updates, activity creation, and data sync across tools.

Pipedrive API Endpoints

Deals

  • POST https://api.pipedrive.com/api/v2/deals : The 'Add a deal' API endpoint allows users to create a new deal in the Pipedrive system. The request must include the 'title' of the deal as a required parameter. Other optional parameters include 'owner_id', 'person_id', 'org_id', 'pipeline_id', 'stage_id', 'value', 'currency', 'add_time', 'update_time', 'stage_change_time', 'is_deleted', 'status', 'probability', 'lost_reason', 'visible_to', 'close_time', 'won_time', 'lost_time', 'expected_close_date', and 'label_ids'. The response returns a success status and the details of the created deal, including its ID, title, owner, value, and other attributes.
  • GET https://api.pipedrive.com/api/v2/deals/products : The 'Get deal products of several deals' API endpoint retrieves data about products attached to specified deals. It requires a list of deal IDs as a query parameter and supports pagination through 'cursor' and 'limit' parameters. The response includes details about each product, such as ID, sum, tax, deal ID, name, and more, along with pagination information in 'additional_data'.
  • GET https://api.pipedrive.com/api/v2/deals/search : The 'Search deals' API allows users to search for deals by title, notes, and custom fields. It is a wrapper of the /v1/itemSearch endpoint with a narrower OAuth scope. Users can filter the search results by person ID, organization ID, and deal status. The API supports pagination and allows specifying the fields to search from and include in the results. The response includes the search results with details of each deal, such as ID, title, value, currency, status, owner, stage, person, and organization. Additional data for pagination is also provided.
  • PATCH https://api.pipedrive.com/api/v2/deals/{id} : The 'Update a deal' API allows you to update the properties of a deal in the Pipedrive system. You need to provide the deal ID as a path parameter. The body of the request can include various optional fields such as title, owner_id, person_id, org_id, pipeline_id, stage_id, value, currency, add_time, update_time, stage_change_time, is_deleted, status, probability, lost_reason, visible_to, close_time, won_time, lost_time, expected_close_date, and label_ids. The response returns a success status and the updated deal data, including fields like id, title, creator_user_id, owner_id, value, person_id, org_id, stage_id, pipeline_id, currency, add_time, update_time, stage_change_time, status, is_deleted, probability, lost_reason, visible_to, close_time, won_time, lost_time, local_won_date, local_lost_date, local_close_date, expected_close_date, origin, origin_id, channel, channel_id, acv, arr, mrr, and custom_fields.
  • GET https://api.pipedrive.com/api/v2/deals/{id}/discounts : This API endpoint lists all discounts attached to a specific deal in the Pipedrive system. The request requires the deal ID as a path parameter. The response includes a success flag and an array of discount objects, each containing details such as the discount ID, description, amount, type, associated deal ID, creation and update timestamps, and the IDs of the users who created and last updated the discount.
  • PATCH https://api.pipedrive.com/api/v2/deals/{id}/discounts/{discount_id} : This API endpoint allows you to edit a discount added to a deal in Pipedrive. It changes the deal value if the deal has one-time products attached. The request requires the deal ID and discount ID as path parameters. The body parameters include 'description' (the name of the discount), 'amount' (the discount amount, which must be a positive number), and 'type' (which determines if the discount is a percentage or a fixed amount). The response returns a success status and the updated discount details, including its ID, description, amount, type, associated deal ID, creation and update timestamps, and the IDs of the users who created and last updated the discount.
  • GET https://api.pipedrive.com/api/v2/deals/{id}/products : This API endpoint lists products attached to a specific deal in Pipedrive. The request requires the deal ID as a path parameter. Optional query parameters include 'cursor' for pagination, 'limit' to specify the number of entries returned (default is 100, maximum is 500), 'sort_by' to determine the field to sort by (default is 'id'), and 'sort_direction' to specify the sorting order (default is 'asc'). The response includes a success flag, an array of product details such as id, sum, tax, deal_id, name, product_id, and more, along with additional pagination data.
  • DELETE https://api.pipedrive.com/api/v2/deals/{id}/products/{product_attachment_id} : This API deletes a product attachment from a deal using the specified product_attachment_id. It requires two path parameters: 'id', which is the ID of the deal, and 'product_attachment_id', which is the ID of the product attachment to be deleted. The response includes a success flag and the ID of the deleted product attachment.

Item Search

  • GET https://api.pipedrive.com/api/v2/itemSearch : This API performs a search across multiple item types and fields in Pipedrive. It requires a search term and allows optional parameters such as item types, fields, and pagination controls. The response includes a list of found items and related items, along with additional data for pagination. The search term must be URL encoded and can be configured for exact matches or to include related items.
  • GET https://api.pipedrive.com/api/v2/itemSearch/field : This API performs a search from the values of a specific field. It can return either the distinct values of the field, useful for searching autocomplete field values, or the IDs of actual items such as deals, leads, persons, organizations, or products. The API requires query parameters such as 'term' for the search term, 'entity_type' for the type of field, and 'field' for the key of the field to search from. Optional parameters include 'match' for the type of match, 'limit' for pagination, and 'cursor' for the pagination marker. The response includes a success flag, a list of search results with item IDs and names, and additional data for pagination.

Leads

  • GET https://api.pipedrive.com/api/v2/leads/search : The 'Search leads' API allows users to search for leads by title, notes, and custom fields. It is a wrapper of the /v1/itemSearch endpoint with a narrower OAuth scope. Users can filter the search results by person ID and organization ID. The API supports various query parameters such as 'term' for the search term, 'fields' to specify which fields to search, 'exact_match' for exact term matching, 'person_id' and 'organization_id' for filtering, 'include_fields' for additional fields, 'limit' for pagination, and 'cursor' for pagination markers. The response includes a success flag, data with found items, and additional data for pagination.

Organizations

  • GET https://api.pipedrive.com/api/v2/organizations/search : The Search organizations API allows users to search for organizations by name, address, notes, and custom fields. It is a GET request to the endpoint https://api.pipedrive.com/api/v2/organizations/search. The API requires a 'term' query parameter for the search term, which must be at least 2 characters long. Optional query parameters include 'fields' to specify which fields to search, 'exact_match' to enable exact matching, 'limit' to set the number of results, and 'cursor' for the pagination marker. The response includes a success flag, a data object with search results, and additional data for pagination.

Persons

  • GET https://api.pipedrive.com/api/v2/persons/search : The 'Search persons' API allows users to search for persons by name, email, phone, notes, and custom fields. It is a GET request to the endpoint 'https://api.pipedrive.com/api/v2/persons/search'. The API accepts several query parameters: 'term' (required) for the search term, 'fields' to specify which fields to search, 'exact_match' to enable exact matching, 'organization_id' to filter by organization, 'include_fields' to include optional fields, 'limit' for pagination limit, and 'cursor' for pagination cursor. The response includes a success flag, data with search results, and additional data for pagination.

Pipelines

  • POST https://api.pipedrive.com/api/v2/pipelines : This API adds a new pipeline to the Pipedrive system. It requires a POST request to the endpoint 'https://api.pipedrive.com/api/v2/pipelines'. The request body must include the 'name' parameter, which is a string representing the name of the pipeline. Optionally, the 'is_deal_probability_enabled' parameter can be included to specify whether deal probability is enabled for the pipeline. The response will indicate success and provide details of the newly created pipeline, including its ID, name, order number, and other attributes.
  • GET https://api.pipedrive.com/api/v2/pipelines/{id} : The 'Get one pipeline' API returns data about a specific pipeline identified by its ID. It also provides a summary of the deals in this pipeline across its stages. The API requires a path parameter 'id', which is an integer representing the pipeline's ID. The response includes details such as the pipeline's name, order number, deletion status, deal probability status, addition and update times, and selection status.

Products

  • POST https://api.pipedrive.com/api/v2/products : This API adds a new product to the Products inventory in Pipedrive. It requires a POST request to the endpoint 'https://api.pipedrive.com/api/v2/products'. The request body must include the 'name' of the product, and can optionally include other details such as 'code', 'description', 'unit', 'tax', 'category', 'owner_id', 'is_linkable', 'visible_to', 'prices', 'billing_frequency', and 'billing_frequency_cycles'. The response returns a success status and the details of the newly added product, including its 'id', 'name', 'code', 'description', 'unit', 'tax', 'category', 'is_linkable', 'is_deleted', 'visible_to', 'owner_id', 'add_time', 'update_time', 'billing_frequency', 'billing_frequency_cycles', 'prices', and 'custom_fields'.
  • GET https://api.pipedrive.com/api/v2/products/search : The Search products API allows users to search for products by name, code, and custom fields. It is a GET request to the endpoint https://api.pipedrive.com/api/v2/products/search. The API requires a search term as a query parameter and supports additional optional parameters such as fields, exact_match, include_fields, limit, and cursor for pagination. The response includes a success flag, a data object with search results, and additional data for pagination.
  • DELETE https://api.pipedrive.com/api/v2/products/{id} : This API marks a product as deleted in the Pipedrive system. The product will be permanently deleted after 30 days. The request requires the product ID as a path parameter. The response indicates whether the operation was successful and returns the ID of the product that was marked as deleted.
  • GET https://api.pipedrive.com/api/v2/products/{id}/variations : This API endpoint retrieves data about all variations of a specified product. The request requires a path parameter 'id' which is the ID of the product. Optional query parameters include 'cursor' for pagination and 'limit' to specify the number of entries to return, with a default of 100 and a maximum of 500. The response includes a success flag, an array of product variations with details such as ID, name, product ID, and pricing information, and additional data for pagination.
  • PATCH https://api.pipedrive.com/api/v2/products/{id}/variations/{product_variation_id} : This API updates the data of a specific product variation. It requires the product ID and the product variation ID as path parameters. The request body can include the name of the product variation and an array of price objects, each containing currency, price, cost, and notes. The response indicates success and returns the updated product variation data, including its ID, name, product ID, and prices.

Stages

  • POST https://api.pipedrive.com/api/v2/stages : The 'Add a new stage' API allows users to add a new stage to a specified pipeline in Pipedrive. The API requires the 'name' and 'pipeline_id' as mandatory fields in the request body. Optional fields include 'deal_probability', 'is_deal_rot_enabled', and 'days_to_rotten'. Upon successful creation, the API returns a response containing the 'id' of the newly created stage, along with other details such as 'order_nr', 'name', 'is_deleted', 'deal_probability', 'pipeline_id', 'is_deal_rot_enabled', 'days_to_rotten', 'add_time', and 'update_time'.
  • PATCH https://api.pipedrive.com/api/v2/stages/{id} : The 'Update stage details' API allows users to update the properties of a specific stage in Pipedrive. The API requires the stage ID as a path parameter. Optional body parameters include the stage name, pipeline ID, deal probability, whether deals can become rotten, and the number of days before deals become rotten. The response includes the updated stage details, such as ID, order number, name, deletion status, deal probability, pipeline ID, rot status, days to rot, and timestamps for when the stage was added and last updated.

Activities

  • GET https://api.pipedrive.com/v1/activities : This API endpoint retrieves all activities assigned to a specific user in Pipedrive. It accepts several query parameters such as user_id, filter_id, type, limit, start, start_date, end_date, and done to filter and paginate the results. The response includes a success flag, an array of activity data, related objects, and pagination details. Each activity contains details like id, company_id, user_id, type, due_date, subject, location, and attendees.
  • GET https://api.pipedrive.com/v1/activities/collection : The 'Get all activities (BETA)' API endpoint retrieves all activities from Pipedrive. It is a cursor-paginated endpoint, meaning it supports pagination through the use of a cursor. This endpoint is currently in BETA and is accessible only to global admins with global permissions. Regular users will receive a 403 response. The API accepts several query parameters such as 'cursor' for pagination, 'limit' to specify the number of entries returned, 'since' and 'until' to define the time range, 'user_id' to filter activities by user, 'done' to filter by completion status, and 'type' to filter by activity type. The response includes a success flag, a list of activity data, and additional pagination data.
  • GET https://api.pipedrive.com/v1/activities/{id} : This API endpoint retrieves the details of a specific activity from Pipedrive. It requires the activity ID as a path parameter. The response includes detailed information about the activity such as its type, due date, duration, location, and associated entities like organization, person, and deal. The response also includes related objects such as user, organization, person, and deal details.
  • GET https://api.pipedrive.com/v1/activityFields : The 'Get all activity fields' API endpoint retrieves all activity fields available in the Pipedrive system. It requires an API token for authentication, which can be provided either as a query parameter or as a Bearer token in the headers. The response includes a success flag, a list of activity fields with details such as id, key, name, field type, and various flags indicating the properties of each field. Additionally, pagination information is provided in the response to handle large datasets.
  • GET https://api.pipedrive.com/v1/activityTypes : The 'Get all activity types' API endpoint returns a list of all activity types available in the Pipedrive system. It requires an API token for authentication, which should be included in the request headers. The response includes a success flag and an array of activity type objects, each containing details such as id, order number, name, key string, icon key, active status, color, custom flag, and timestamps for when the activity type was added and last updated.
  • PUT https://api.pipedrive.com/v1/activityTypes/{id} : This API updates an existing activity type in the Pipedrive system. It requires the ID of the activity type as a path parameter. The request body can include optional parameters such as 'name', 'icon_key', 'color', and 'order_nr' to update the respective fields of the activity type. The response returns a success flag and the updated details of the activity type, including its ID, name, icon key, color, and timestamps for when it was added and last updated.

Billing

  • GET https://api.pipedrive.com/v1/billing/subscriptions/addons : This API endpoint retrieves all the add-ons available for a single company in Pipedrive. It requires an API token for authentication, which should be included in the Authorization header. The response includes a success flag and a list of add-ons, each identified by a unique code.

Call Logs

  • POST https://api.pipedrive.com/v1/callLogs : This API endpoint allows you to add a new call log to the Pipedrive system. The request requires a POST method to the endpoint 'https://api.pipedrive.com/v1/callLogs'. The body of the request can include various parameters such as 'user_id', 'activity_id', 'subject', 'duration', 'outcome', 'from_phone_number', 'to_phone_number', 'start_time', 'end_time', 'person_id', 'org_id', 'deal_id', 'lead_id', and 'note'. Among these, 'outcome', 'to_phone_number', 'start_time', and 'end_time' are required fields. The response will indicate success and provide details of the created call log, including its ID, associated activity, person, organization, deal, and other relevant information.
  • DELETE https://api.pipedrive.com/v1/callLogs/{id} : This API deletes a call log from the Pipedrive system. If there is an audio recording attached to the call log, it will also be deleted. However, the related activity will not be removed by this request. To remove related activities, a different endpoint specific for activities should be used. The API requires a path parameter 'id', which is the ID received when the call log was created. The response indicates whether the deletion was successful.
  • POST https://api.pipedrive.com/v1/callLogs/{id}/recordings : This API allows you to attach an audio recording to a call log in Pipedrive. The audio can be played by users who have access to the call log object. The request requires a path parameter 'id', which is the ID of the call log, and a body parameter 'file', which is the audio file in a format supported by HTML5. The response returns a success status indicating whether the audio file was successfully attached.

Channels

  • POST https://api.pipedrive.com/v1/channels : The 'Add a channel' API allows administrators to register a new messaging channel. This endpoint requires the Messengers integration OAuth scope and a ready Messaging manifest for the Messaging app extension. The request body must include the 'name' and 'provider_channel_id' as required fields. Optional fields include 'avatar_url', 'template_support', and 'provider_type', which defaults to 'other'. The response returns a success status and data about the newly created channel, including its ID, name, avatar URL, provider channel ID, marketplace client ID, Pipedrive company and user IDs, creation timestamp, provider type, and template support status.
  • POST https://api.pipedrive.com/v1/channels/messages/receive : The 'Receives an incoming message' API allows you to add a message to a conversation. To use this endpoint, you must have the Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension. The API requires several parameters in the request body, including 'id', 'channel_id', 'sender_id', 'conversation_id', 'message', 'status', and 'created_at'. Optional parameters include 'reply_by', 'conversation_link', and 'attachments'. The response includes a success flag and data about the message, such as its ID, channel ID, sender ID, conversation ID, message content, status, creation date, reply-by date, conversation link, and any attachments.
  • DELETE https://api.pipedrive.com/v1/channels/{channel-id}/conversations/{conversation-id} : The 'Delete a conversation' API endpoint allows users to delete an existing conversation within a specified channel. To use this endpoint, users must have the Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension. The API requires two path parameters: 'channel-id', which is the ID of the channel provided by the integration, and 'conversation-id', which is the ID of the conversation to be deleted. The response indicates whether the deletion was successful with a boolean 'success' field.
  • DELETE https://api.pipedrive.com/v1/channels/{id} : The 'Delete a channel' API endpoint allows users to delete an existing messenger's channel and all related entities, such as conversations and messages. To use this endpoint, the user must have the Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension. The API requires a DELETE request to the URL 'https://api.pipedrive.com/v1/channels/{id}', where '{id}' is the path parameter representing the ID of the channel to be deleted. The response will indicate success with a boolean value.

Currencies

  • GET https://api.pipedrive.com/v1/currencies : This API endpoint returns all supported currencies in the given account, which should be used when saving monetary values with other objects. The response includes a list of currency objects, each containing details such as the currency code (according to ISO 4217 for non-custom currencies), name, symbol, and whether the currency is active or custom. An optional query parameter 'term' can be used to search for currencies by name or code.

Deal Fields

  • DELETE https://api.pipedrive.com/v1/dealFields : This API marks multiple deal fields as deleted in bulk. It requires a DELETE request to the endpoint 'https://api.pipedrive.com/v1/dealFields' with a query parameter 'ids', which is a comma-separated string of field IDs that need to be deleted. The response includes a success flag and a data object containing the list of IDs of the deal fields that were marked as deleted.
  • PUT https://api.pipedrive.com/v1/dealFields/{id} : This API updates a deal field in Pipedrive. It requires the field ID as a path parameter. The request body can include the field name, options, and visibility flag. The response includes the updated field details, such as ID, key, name, type, and various flags indicating the field's properties and permissions.

Deals

  • DELETE https://api.pipedrive.com/v1/deals : This API marks multiple deals as deleted using the DELETE method. The endpoint is 'https://api.pipedrive.com/v1/deals'. It requires a query parameter 'ids', which is a comma-separated string of deal IDs to be marked as deleted. After 30 days, these deals will be permanently deleted. The response includes a 'success' boolean indicating the operation's success and a 'data' object containing the list of IDs that were marked as deleted.
  • GET https://api.pipedrive.com/v1/deals/collection : The 'Get all deals (BETA)' API endpoint allows global admins to retrieve all deals from the Pipedrive system. This endpoint is cursor-paginated and currently in BETA. Users can filter the deals by various query parameters such as cursor, limit, since, until, user_id, stage_id, and status. The response includes a list of deals with detailed information such as deal ID, creator user ID, person ID, organization ID, stage ID, title, value, currency, add time, update time, status, and more. The response also includes additional data for pagination, such as the next cursor. Only users with global permissions can access this endpoint; others will receive a 403 response.
  • GET https://api.pipedrive.com/v1/deals/summary : The Get deals summary API returns a summary of all the deals in the Pipedrive system. It allows filtering of deals based on status, filter_id, user_id, and stage_id through query parameters. The response includes a success flag and detailed data about the total and weighted values of deals in different currencies, including their counts and formatted values. The total count of deals and their converted values in USD are also provided.
  • GET https://api.pipedrive.com/v1/deals/timeline : The Get deals timeline API returns open and won deals, grouped by a defined interval of time set in a date-type dealField (field_key). The API requires query parameters such as start_date, interval, amount, and field_key to define the timeline and grouping of deals. Optional parameters include user_id, pipeline_id, filter_id, exclude_deals, and totals_convert_currency to filter and customize the response. The response includes a success flag and data containing the period start and end, a list of deals with detailed information, and totals with counts and values in different currencies.
  • GET https://api.pipedrive.com/v1/deals/{id}/activities : This API endpoint lists all activities associated with a specific deal in Pipedrive. The request requires the deal ID as a path parameter. Optional query parameters include 'start' for pagination start, 'limit' for the number of items per page, 'done' to filter activities based on their completion status, and 'exclude' to omit specific activity IDs from the results. The response includes a success flag, a list of activities with detailed information such as type, due date, location, and participants, as well as additional data on activity distribution and pagination. Related objects like organizations, persons, deals, and users are also included in the response.
  • GET https://api.pipedrive.com/v1/deals/{id}/changelog : This API endpoint lists updates about field values of a specific deal in Pipedrive. It requires the deal ID as a path parameter. Optional query parameters include 'cursor' for pagination and 'limit' to specify the number of items per page. The response includes a success flag, a list of changes detailing the field key, old and new values, the user who made the change, the time of change, the source of change, and whether it was part of a bulk update. Additional data may include a cursor for the next page of results.
  • POST https://api.pipedrive.com/v1/deals/{id}/duplicate : The Duplicate Deal API duplicates an existing deal in the Pipedrive system. It requires the ID of the deal to be duplicated as a path parameter. The API returns a success status and the details of the duplicated deal, including its ID, creator user ID, associated person and organization IDs, stage ID, title, value, currency, and various timestamps and counts related to activities, notes, and emails. The response also includes information about the deal's status, visibility, and other metadata.
  • GET https://api.pipedrive.com/v1/deals/{id}/files : This API endpoint lists all files associated with a specific deal in Pipedrive. The request requires the deal ID as a path parameter. Optional query parameters include 'start' for pagination start, 'limit' for the number of items per page, and 'sort' for sorting the results by specified fields. The response includes a success flag, an array of file data associated with the deal, and additional pagination data. Each file object contains details such as file ID, user ID, deal ID, file name, file type, and a URL for downloading the file.
  • GET https://api.pipedrive.com/v1/deals/{id}/flow : This API endpoint lists updates about a specific deal in Pipedrive. It requires the deal ID as a path parameter. Optional query parameters include 'start' for pagination start, 'limit' for the number of items per page, 'all_changes' to include custom field updates, and 'items' to filter specific updates. The response includes a success flag, a list of updates with details such as object type, timestamp, and data, additional pagination data, and related objects information.
  • POST https://api.pipedrive.com/v1/deals/{id}/followers : This API adds a follower to a specific deal in Pipedrive. It requires the deal ID as a path parameter and the user ID as a body parameter. The response indicates whether the operation was successful and includes details about the follower entry, such as the user ID, follower entry ID, deal ID, and the time the follower was added.
  • DELETE https://api.pipedrive.com/v1/deals/{id}/followers/{follower_id} : This API deletes a follower from a specific deal in Pipedrive. It requires two path parameters: 'id', which is the ID of the deal, and 'follower_id', which is the ID of the follower to be removed. The response indicates whether the operation was successful and includes the ID of the deleted follower.
  • GET https://api.pipedrive.com/v1/deals/{id}/mailMessages : This API endpoint lists mail messages associated with a specific deal in Pipedrive. The request requires the deal ID as a path parameter. Optional query parameters include 'start' for pagination start and 'limit' for the number of items shown per page. The response includes a success flag, an array of mail messages with detailed information such as sender and recipient details, subject, timestamps, and flags indicating the status of the mail message. Additional pagination data is also provided.
  • PUT https://api.pipedrive.com/v1/deals/{id}/merge : The 'Merge two deals' API allows users to merge one deal with another in the Pipedrive system. The API requires the ID of the deal to be merged (specified in the path parameter) and the ID of the deal to merge with (specified in the body parameter). Upon successful merging, the API returns a detailed response of the merged deal, including information such as the deal ID, creator user ID, associated person and organization IDs, deal title, value, currency, and various timestamps related to the deal's lifecycle. The response also includes counts of products, files, notes, followers, email messages, activities, and participants associated with the deal.
  • GET https://api.pipedrive.com/v1/deals/{id}/participants : The 'List participants of a deal' API endpoint allows users to retrieve a list of participants associated with a specific deal in Pipedrive. The endpoint is accessed via a GET request to 'https://api.pipedrive.com/v1/deals/{id}/participants', where '{id}' is the required path parameter representing the deal ID. Optional query parameters include 'start' for pagination start and 'limit' for the number of items per page. The response includes a 'success' flag, a 'data' array containing participant details such as 'id', 'person_id', 'add_time', and 'related_item_data', as well as 'additional_data' for pagination and 'related_objects' for user, person, and organization details. If the company uses the Campaigns product, the response will also include the 'data.marketing_status' field.
  • DELETE https://api.pipedrive.com/v1/deals/{id}/participants/{deal_participant_id} : This API deletes a participant from a deal in Pipedrive. It requires two path parameters: 'id', which is the ID of the deal, and 'deal_participant_id', which is the ID of the participant to be removed from the deal. The response includes a success flag and the ID of the deleted participant.
  • GET https://api.pipedrive.com/v1/deals/{id}/participantsChangelog : This API endpoint lists updates about participants of a deal. It is a cursor-paginated endpoint, allowing users to retrieve changes made to the participants of a specific deal. The request requires the 'id' path parameter, which is the ID of the deal. Optional query parameters include 'limit' to specify the number of items per page and 'cursor' for pagination purposes. The response includes a success flag, an array of data detailing the actions performed on participants, and additional data containing the next cursor for pagination.
  • GET https://api.pipedrive.com/v1/deals/{id}/permittedUsers : This API endpoint lists the users permitted to access a specific deal in Pipedrive. It requires the deal ID as a path parameter. The response includes a success flag and an array of user IDs who have permission to access the specified deal.
  • GET https://api.pipedrive.com/v1/deals/{id}/persons : This API endpoint lists all persons associated with a specific deal in Pipedrive. It returns details of each person, including their ID, name, email, phone numbers, and associated organization details. The endpoint also provides information about the person's activities, deals, and marketing status. The request requires the deal ID as a path parameter and supports optional query parameters for pagination, such as 'start' and 'limit'. The response includes a success flag, a list of persons, additional pagination data, and related objects like organizations and users.

Files

  • GET https://api.pipedrive.com/v1/files : The 'Get all files' API endpoint retrieves data about all files stored in the system. It supports pagination through the 'start' and 'limit' query parameters, and allows sorting of results using the 'sort' parameter. The response includes a list of files with details such as file ID, user ID, deal ID, person ID, organization ID, product ID, activity ID, lead ID, file name, file type, file size, and more. Additional pagination data is provided in the 'additional_data' field.
  • POST https://api.pipedrive.com/v1/files/remote : This API creates a new empty file in a remote location (Google Drive) and links it to a specified item in Pipedrive. The request requires the file type, title, item type, item ID, and remote location as body parameters. The response includes details about the created file, such as its ID, type, size, and associated item details.
  • POST https://api.pipedrive.com/v1/files/remoteLink : This API endpoint allows you to link an existing remote file from Google Drive to a specified item in Pipedrive. The request requires the item type (deal, organization, or person), the ID of the item, the remote file ID, and the remote location (currently only 'googledrive' is supported). Upon successful linking, the response returns details about the linked file, including its ID, associated user, deal, person, organization, product, activity, and lead information, as well as metadata such as file name, type, size, and download URL.
  • DELETE https://api.pipedrive.com/v1/files/{id} : The 'Delete a file' API marks a file as deleted in the Pipedrive system. The file will be permanently deleted after 30 days. The API requires a DELETE request to the endpoint 'https://api.pipedrive.com/v1/files/{id}', where '{id}' is the path parameter representing the ID of the file to be deleted. The response includes a success flag and the ID of the file that was marked as deleted.
  • GET https://api.pipedrive.com/v1/files/{id}/download : The 'Download one file' API initializes a file download from Pipedrive. It requires a GET request to the endpoint 'https://api.pipedrive.com/v1/files/{id}/download', where '{id}' is a path parameter representing the ID of the file to be downloaded. The 'id' parameter is an integer and is required. The API does not specify any response sample or additional headers, query parameters, or body content.

Filters

  • GET https://api.pipedrive.com/v1/filters : The 'Get all filters' API returns data about all filters available in the Pipedrive system. It supports an optional query parameter 'type' which specifies the type of filters to fetch, such as 'deals', 'leads', 'org', 'people', 'products', 'activity', or 'projects'. The response includes a success flag and an array of filter objects, each containing details like id, name, active status, type, user id, and timestamps for when the filter was added and last updated.
  • GET https://api.pipedrive.com/v1/filters/helpers : The 'Get all filter helpers' API endpoint returns all supported filter helpers available in Pipedrive. This API is useful for understanding the conditions and helpers that can be used when adding or updating filters. The request requires an authorization header with a bearer token for authentication. The response includes a success flag and a data object containing various operators for different data types, deprecated operators, relative date intervals, and address field components. This information is essential for constructing and managing filters effectively in Pipedrive.
  • DELETE https://api.pipedrive.com/v1/filters/{id} : This API marks a filter as deleted in the Pipedrive system. It requires the ID of the filter to be specified as a path parameter. The response indicates whether the operation was successful and returns the ID of the filter that was marked as deleted.

Goals

  • POST https://api.pipedrive.com/v1/goals : This API endpoint allows you to add a new goal in Pipedrive. When a new goal is added, a report is also created to track its progress. The request body requires several parameters: 'title' (the title of the goal), 'assignee' (an object specifying who the goal is assigned to, with 'id' and 'type'), 'type' (an object specifying the type of the goal and its parameters), 'expected_outcome' (an object specifying the target and tracking metric), 'duration' (an object specifying the start and end dates), and 'interval' (the interval of the goal, such as weekly or monthly). The response includes a success status, status code, status text, service name, and data about the created goal, including its ID, owner ID, title, type, assignee, interval, duration, expected outcome, active status, and report IDs.
  • GET https://api.pipedrive.com/v1/goals/find : The 'Find goals' API allows users to retrieve data about goals based on specified criteria. Users can search by appending query parameters such as 'type.name', 'title', 'is_active', 'assignee.id', 'assignee.type', 'expected_outcome.target', 'expected_outcome.tracking_metric', 'expected_outcome.currency_id', 'type.params.pipeline_id', 'type.params.stage_id', 'type.params.activity_type_id', 'period.start', and 'period.end' to the URL. The response includes details about the goals such as 'id', 'owner_id', 'title', 'type', 'assignee', 'interval', 'duration', 'expected_outcome', 'is_active', and 'report_ids'.
  • PUT https://api.pipedrive.com/v1/goals/{id} : This API updates an existing goal in the Pipedrive system. It requires the goal ID as a path parameter. The request body can include the title, assignee, type, expected outcome, duration, and interval of the goal. The response includes the updated goal details, indicating success with a status code and text.
  • GET https://api.pipedrive.com/v1/goals/{id}/results : The 'Get result of a goal' API retrieves the progress of a specified goal for a given period. It requires the goal ID as a path parameter and the start and end dates of the period as query parameters. The response includes details about the goal, such as its ID, owner, title, type, assignee, interval, duration, expected outcome, and progress. The API returns a success status, status code, status text, and the service that processed the request.

Lead Labels

  • GET https://api.pipedrive.com/v1/leadLabels : The 'Get all lead labels' API endpoint retrieves details of all lead labels available in the system. This endpoint does not support pagination, meaning all labels are returned in a single response. The request requires an Authorization header with a Bearer token for authentication. The response includes a success flag and an array of lead label objects, each containing an id, name, color, add_time, and update_time.
  • PATCH https://api.pipedrive.com/v1/leadLabels/{id} : This API updates one or more properties of a lead label in Pipedrive. The endpoint requires the lead label ID as a path parameter. The request body can include optional parameters such as 'name' and 'color' to update the respective properties of the lead label. The color parameter accepts a limited set of values: green, blue, red, yellow, purple, and gray. The response includes a success flag and the updated lead label details, including its ID, name, color, and timestamps for when it was added and last updated.

Lead Sources

  • GET https://api.pipedrive.com/v1/leadSources : This API endpoint retrieves all lead sources from Pipedrive. The list of lead sources is fixed and cannot be modified. All leads created through the Pipedrive API will have a lead source assigned from this list. The request requires an Authorization header with a Bearer token for authentication. The response includes a success flag and a data array containing the names of the lead sources.

Leads

  • GET https://api.pipedrive.com/v1/leads : The 'Get all leads' API endpoint allows users to retrieve multiple leads from the Pipedrive system. The leads are sorted by their creation time, from oldest to newest. Users can control pagination using the 'limit' and 'start' query parameters. Additional filtering options include 'archived_status', 'owner_id', 'person_id', 'organization_id', 'filter_id', and 'sort'. The response includes detailed information about each lead, such as 'id', 'title', 'owner_id', 'creator_id', 'label_ids', 'person_id', 'organization_id', 'source_name', 'origin', 'channel', 'is_archived', 'was_seen', 'value', 'expected_close_date', 'next_activity_id', 'add_time', 'update_time', 'visible_to', and 'cc_email'. Custom fields from deals are inherited by leads and included in the response if set.
  • DELETE https://api.pipedrive.com/v1/leads/{id} : The 'Delete a lead' API allows you to delete a specific lead from the Pipedrive system. It requires the lead's ID as a path parameter, which must be a valid UUID. Upon successful deletion, the API returns a response indicating success and includes the ID of the deleted lead.
  • GET https://api.pipedrive.com/v1/leads/{id}/permittedUsers : This API endpoint lists the users permitted to access a specific lead in Pipedrive. It requires the lead ID as a path parameter. The response includes a success flag and an array of user IDs who have permission to access the lead.

Legacy Teams

  • POST https://api.pipedrive.com/v1/legacyTeams : This API adds a new team to the company and returns the created team object. The request requires a POST method to the endpoint 'https://api.pipedrive.com/v1/legacyTeams'. The request body must include the 'name' (string) and 'manager_id' (integer) as required fields, and optionally 'description' (string) and 'users' (array of integers). The response includes a success flag and the data of the created team, such as 'id', 'name', 'description', 'manager_id', 'users', 'active_flag', 'deleted_flag', 'add_time', and 'created_by_user_id'.
  • GET https://api.pipedrive.com/v1/legacyTeams/user/{id} : This API returns data about all teams which have the specified user as a member. The request requires a path parameter 'id' which is the ID of the user. Optional query parameters include 'order_by' to sort the returned teams by a specific field, and 'skip_users' to exclude member user IDs from the response.
  • GET https://api.pipedrive.com/v1/legacyTeams/{id} : This API returns data about a specific team identified by its ID. The request requires a path parameter 'id' which is the ID of the team. An optional query parameter 'skip_users' can be used to exclude the IDs of member users from the response.
  • GET https://api.pipedrive.com/v1/legacyTeams/{id}/users : This API returns a list of all user IDs within a specified team. The request requires a path parameter 'id', which is the ID of the team. The response includes a 'success' boolean indicating if the request was successful and a 'data' array containing the user IDs.

Mailbox

  • GET https://api.pipedrive.com/v1/mailbox/mailMessages/{id} : The 'Get one mail message' API returns data about a specific mail message identified by its ID. The request requires a path parameter 'id' which is the ID of the mail message to fetch. An optional query parameter 'include_body' can be used to specify whether to include the full message body (1) or not (0). The response includes details about the mail message such as sender, recipient, subject, and various flags indicating the status of the message.
  • GET https://api.pipedrive.com/v1/mailbox/mailThreads : The 'Get mail threads' API returns mail threads in a specified folder ordered by the most recent message within. It requires a 'folder' query parameter to specify the type of folder to fetch, which can be 'inbox', 'drafts', 'sent', or 'archive'. Optional query parameters include 'start' for pagination start and 'limit' for the number of items shown per page.
  • GET https://api.pipedrive.com/v1/mailbox/mailThreads/{id} : The 'Get one mail thread' API endpoint allows users to retrieve a specific mail thread by its ID. The request requires a path parameter 'id', which is an integer representing the mail thread's ID.
  • GET https://api.pipedrive.com/v1/mailbox/mailThreads/{id}/mailMessages : This API endpoint retrieves all the mail messages inside a specified mail thread. The request requires a path parameter 'id', which is the ID of the mail thread.

Meetings

  • POST https://api.pipedrive.com/v1/meetings/userProviderLinks : This API endpoint is used by a video calling provider to link a user with the installed video call integration in Pipedrive. It requires the unique user provider ID, Pipedrive user ID, company ID, and the Pipedrive Marketplace client ID of the installed integration. Upon successful linking, it returns a success message indicating that the user was added successfully.
  • DELETE https://api.pipedrive.com/v1/meetings/userProviderLinks/{id} : This API endpoint is used by a video calling provider to remove the link between a user and the installed video calling app. The request requires a path parameter 'id', which is a unique identifier linking a user to the installed integration.

Note Fields

  • GET https://api.pipedrive.com/v1/noteFields : The 'Get all note fields' API endpoint retrieves data about all note fields available in the Pipedrive system. It requires an Authorization header with a Bearer token for authentication.

Notes

Organization Fields

Organization Relationships

  • POST https://api.pipedrive.com/v1/organizationRelationships : This API creates and returns an organization relationship in Pipedrive.
  • GET https://api.pipedrive.com/v1/organizationRelationships/{id} : The 'Get one organization relationship' API retrieves details of a specific organization relationship using its ID.

Organizations

Permission Sets

FAQs

  1. What is the Pipedrive API used for in a typical sales stack?
    Most teams use it to sync leads and deals, automate pipeline updates, create activities, connect product/line items to deals, and push CRM data into BI/reporting tools.
  2. Is OAuth 2.0 required for Pipedrive integrations?
    For most production-grade integrations, OAuth 2.0 is the practical default because it supports controlled access and better governance than token-sharing.
  3. How do you keep Pipedrive data in sync without constantly polling?
    Use webhooks for event-based updates, then run scheduled incremental syncs for backfill and reconciliation.
  4. How should you handle pagination for large deal or activity pulls?
    Prefer cursor-based pagination where available. It’s more stable for high-volume data pulls and reduces “missing/duplicate” problems during sync.
  5. What are common failure points in Pipedrive API integrations?
    Authentication drift, inconsistent field mappings (especially custom fields), missing dedupe logic, and weak retry/error handling for transient failures.
  6. Can you build product and pricing workflows using Pipedrive APIs?
    Yes—product endpoints plus deal product attachment endpoints can support basic revenue hygiene, line-item association, and pricing visibility aligned to the opportunity.
  7. What’s the fastest way to ship a Pipedrive integration without owning long-term maintenance?
    Use an integration layer that handles auth, schema changes, and connector upkeep, so your team focuses on workflows and business logic, not API babysitting.

Get started with Pipedrive API integration with Knit

If you want quick access to Pipedrive without building and maintaining every connector edge case, Knit API can be a practical approach. Integrate once, and offload authentication, authorization, and ongoing integration maintenance, so your team can focus on the workflow outcomes (sync, automation, routing, and reporting).

#1 in Ease of Integrations

Trusted by businesses to streamline and simplify integrations seamlessly with GetKnit.