All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added
include_field_codequery parameter to Filters endpoints:GET /v1/filters/{id}PUT /v1/filters/{id}POST /v1/filters- When set to
true, each condition in the response includes afield_codefield identifying the field by its code name. The value isnullif the field code cannot be resolved.
15.5.0 (2026-04-16)
15.4.0 (2026-02-16)
- Fixed
GET /v1/deals/{id}/participantsandPOST /v1/deals/{id}/participantsresponse schemas to accurately represent the API response structure. AddedDealParticipantItemschema with proper nesting ofemailandphonefields withinperson_idobject, replacing incorrectPersonItemreference.
15.3.0 (2026-02-06)
- Added
custom_fieldsproperty to the Person entity request schema in v2 endpoints that will fix types in endpoints:POST /api/v2/personsPATCH /api/v2/persons/{id}
- Added
custom_fieldsproperty to the Product entity request schema in v2 endpoints that will fix types in endpoints:POST /api/v2/productsPATCH /api/v2/products/{id}
15.2.0 (2026-02-06)
- Fixed incorrect type definitions for
labelfields in v2 Persons API request schema (PersonRequestBody). Thelabelfield for bothphonesandemailsarrays was incorrectly typed asbooleaninstead ofstring, causing SDK type generation issues. Labels now correctly accept string values like 'work', 'home', 'mobile', and 'other'.
- Removed beta labels from v2 lead/deal conversion endpoints:
GET /api/v2/leads/{id}/convert/status/{conversion_id}POST /api/v2/leads/{id}/convertGET /api/v2/deals/{id}/convert/status/{conversion_id}POST /api/v2/deals/{id}/convert
- Removed beta labels from v2 deal installments endpoints:
GET /api/v2/deals/installmentsPOST /api/v2/deals/{id}/installmentsPATCH /api/v2/deals/{id}/installments/{installment_id}DELETE /api/v2/deals/{id}/installments/{installment_id}
- Removed beta labels from v2 product images endpoints:
GET /api/v2/products/{id}/imagesPOST /api/v2/products/{id}/imagesPUT /api/v2/products/{id}/imagesDELETE /api/v2/products/{id}/images
15.1.1 (2026-02-06)
- Documented three new OAuth2 scopes for field management in v1 README:
deal-fields:full- Allows applications to create, read, update and delete deal fieldsproduct-fields:full- Allows applications to create, read, update and delete product fieldscontact-fields:full- Allows applications to create, read, update and delete person and organization fields
15.1.0 (2026-01-27)
- Added
updated_sincequery parameter toGET /v1/leadsendpoint to filter leads by theirupdate_time - Added
updated_sincequery parameter toGET /v1/notesendpoint to filter notes by theirupdate_time
15.0.0 (2026-01-27)
- Removed deprecated bulk delete endpoints:
DELETE /v1/activitiesDELETE /v1/activityTypesDELETE /v1/dealsDELETE /v1/organizationsDELETE /v1/personsDELETE /v1/stagesPlease use the single delete endpoints instead, for exampleDELETE /api/v2/activities/{id}.
14.9.0 (2026-01-27)
- Added three new visibility flags to
ui_visibilityin organization fields v2 endpoints:org_detail_visible_flag,person_detail_visible_flag, anddeal_detail_visible_flag
14.8.0 (2026-01-27)
- Added
smart_bcc_emailto optionalinclude_fieldsin Persons and Organizations API v2
14.7.1 (2026-01-27)
- Added
subpremisefield to address structures in API v2 (ActivityItemLocation,OrganizationItemAddress,PersonItemPostalAddress) to support apartment/suite numbers
14.7.0 (2026-01-27)
- Added
GET /api/v2/persons/{id}/pictureendpoint to retrieve picture information for a specific person, including ID, file size, and URLs for both 128x128 (thumbnail) and 512x512 (full-size) versions of the person's profile picture
14.6.1 (2026-01-27)
- Removed
is_selectedfrom/api/v2/pipelinesresponse, the field was never returned
14.6.0 (2025-12-05)
- Added three new OAuth2 scopes for field management:
deal-fields:full- Allows applications to create, read, update and delete deal fieldsproduct-fields:full- Allows applications to create, read, update and delete product fieldscontact-fields:full- Allows applications to create, read, update and delete person and organization fields
14.5.0 (2025-12-02)
- Documented the following new v2 endpoints:
GET /api/v2/activityFieldsGET /api/v2/dealFieldsGET /api/v2/organizationFieldsGET /api/v2/personFieldsGET /api/v2/productFieldsGET /api/v2/activityFields/{field_code}GET /api/v2/dealFields/{field_code}GET /api/v2/organizationFields/{field_code}GET /api/v2/personFields/{field_code}GET /api/v2/productFields/{field_code}POST /api/v2/dealFieldsPOST /api/v2/organizationFieldsPOST /api/v2/personFieldsPOST /api/v2/productFieldsDELETE /api/v2/dealFields/{field_code}DELETE /api/v2/organizationFields/{field_code}DELETE /api/v2/personFields/{field_code}DELETE /api/v2/productFields/{field_code}POST /api/v2/dealFields/{field_code}/optionsPOST /api/v2/organizationFields/{field_code}/optionsPOST /api/v2/personFields/{field_code}/optionsPOST /api/v2/productFields/{field_code}/optionsPATCH /api/v2/dealFields/{field_code}/optionsPATCH /api/v2/organizationFields/{field_code}/optionsPATCH /api/v2/personFields/{field_code}/optionsPATCH /api/v2/productFields/{field_code}/optionsDELETE /api/v2/dealFields/{field_code}/optionsDELETE /api/v2/organizationFields/{field_code}/optionsDELETE /api/v2/personFields/{field_code}/optionsDELETE /api/v2/productFields/{field_code}/options
14.4.0 (2025-11-25)
- API v2 configuration for the host base path:
/api/v2instead of/v2. With this, API v1 configuration also changed from/v1to/api/v1, but this does not break backward compatibility as both/api/v1and/v1paths are supported for API v1.
- Added
POST /products/{id}/duplicateendpoint for duplicating an existing product - Added
deal_idquery parameter to the GET/v2/personsendpoint - Added
GET /v1/leadFieldsendpoint for fetching all lead fields
14.3.3 (2025-11-18)
- Prepared
nullable: trueto fields that can return null values in schemas for Field and Roles schemas
14.3.2 (2025-11-18)
- Fixed return type for
filesApi.downloadFilefunction
14.3.1 (2025-11-18)
- Corrected
FieldResponseschema to useGetFieldinstead ofFieldto ensure GET responses accurately reflect all field types returned by the API
14.3.0 (2025-10-06)
- Added
is_archivedfield in search response schemas for deals and leads
14.2.1 (2025-10-03)
- Fixed PHP SDK v2 Configuration to use correct
/v2API endpoints after OAuth token refresh instead of defaulting to/v1
14.2.0 (2025-10-03)
14.1.0 (2025-10-03)
- Added
POST /deals/{id}/products/bulkendpoint for creating multiple deal products at once (max 100 per request) - Added
DELETE /deals/{id}/productsendpoint for deleting multiple deal products at once (max 100 per request)
14.0.0 (2025-10-03)
- Removed deprecated
person_name,organization_name, andemaillead fields from itemSearch endpoints
13.2.5 (2025-10-03)
- Fixed incorrect description for max
limitparameter in itemSearch v2 endpoint
13.2.3 (2025-10-03)
13.2.2 (2025-09-08)
- Fixed incorrect
custom_fieldsschema implementations by using the proper shared definition fromcustom-fields.yaml
13.2.1 (2025-09-08)
- Documented the
custom_fieldsin /v2 api for create organization and update deal
13.2.0 (2025-09-08)
- Documented the
nameproperty in the Webhooks API for the following endpoints:GET /v1/webhooksPOST /v1/webhooks
13.1.0 (2025-09-08)
- Add documentation for product images functionality:
GET/api/v2/products/{id}/imagesendpointPOST/api/v2/products/{id}/imagesendpointPUT/api/v2/products/{id}/imagesendpointDELETE/api/v2/products/{id}/imagesendpoint
13.0.0 (2025-09-08)
- Removed all endpoints of the Subscriptions feature
- GET /v1/subscriptions/{id}
- GET /v1/subscriptions/find/{dealId}
- GET /v1/subscriptions/{id}/payments
- POST /v1/subscriptions/recurring
- POST /v1/subscriptions/installment
- PUT /v1/subscriptions/recurring/{id}
- PUT /v1/subscriptions/installment/{id}
- PUT /v1/subscriptions/recurring/{id}/cancel
- DELETE /v1/subscriptions/{id}
12.0.2 (2025-07-07)
- Added
custom_fieldstype todeal,person,organization,productschemas
12.0.1 (2025-06-25)
- Removed not supported
add_time,update_timeandstage_change_timefromPATCH /v2/deals/:idrequest body
12.0.0 (2025-06-17)
- Removed
deals_summaryfromGET /v1/stages/:idandGET /v1/pipelines/:id - Removed
totals_convert_currencyquery parameter fromGET /v1/pipelines/:id - Removed
everyonequery parameter fromGET /v1/stages/:id
11.1.1 (2025-06-09)
- Documented
addressproperty in the Organization v2 API for add and update endpoints:POST /v2/organizationsPATCH /v2/organizations/{id}
11.1.0 (2025-05-26)
- Fixed the OAuth scopes of Deal to Lead conversion and Lead to Deal conversion endpoints
- Added
smart_bcc_emailto optionalinclude_fieldsin Deals API v2 - Added
is_archivedto request bodies of POSTdealsendpoints and PUT/PATCH/deals/:idendpoints - Added
archive_timeto request bodies of POSTdealsendpoints
11.0.0 (2025-05-09)
- BREAKING CHANGE. The API token is sent in the
x-api-tokenheader instead ofapi_tokenquery parameter. The API key configuration must be updated as follows:
// previous versions
$config = (new Pipedrive\versions\v1\Configuration())->setApiKey('api_token', 'YOUR_API_KEY');
// starting from this version
$config = (new Pipedrive\versions\v1\Configuration())->setApiKey('x-api-token', 'YOUR_API_KEY');10.0.0 (2025-05-06)
- Fixed the OAuth scope of "Add a follower to a product" endpoint in API v2
- Added
creator_user_idto responses of Activities v2 endpoints - Added
marketing_statusdocumentation to Persons v2 endpoints - Added archived deals/leads endpoints:
GET /v1/deals/archivedGET /v2/deals/archivedGET /v1/deals/timeline/archivedGET /v1/deals/summary/archivedGET /v1/leads/archived
- Added
is_archivedandarchive_timeproperties to deals endpoints response - Added option to use
sort_by=due_datesorting forGET /api/v2/activities - Added option to use
done=true/falsequick filter forGET /api/v2/activities - Added
project_idandpinned_to_project_flagquery parameter to the GET/notesendpoint - Added
project_idandpinned_to_project_flagrequest bodies to the POST/PUT/notesendpoint - Added
project_idandpinned_to_project_flagto success responses of GET/POST/PUT
- Deprecated
GET /v1/activitiesin favor ofGET /api/v2/activities - Deprecated
GET /v1/activities/collectionin favor ofGET /api/v2/activities - Deprecated
GET /v1/activities/{id}in favor ofGET /api/v2/activities/{id} - Deprecated
POST /v1/activitiesin favor ofPOST /api/v2/activities - Deprecated
PUT /v1/activities/{id}in favor ofPATCH /api/v2/activities/{id} - Deprecated
DELETE /v1/activities/{id}in favor ofDELETE /api/v2/activities/{id} - Deprecated
DELETE /v1/activitiesin favor ofDELETE /api/v2/activities/{id} - Deprecated
GET /v1/dealsin favor ofGET /api/v2/deals - Deprecated
GET /v1/deals/collectionin favor ofGET /api/v2/deals - Deprecated
GET /v1/deals/{id}in favor ofGET /api/v2/deals/{id} - Deprecated
GET /v1/deals/searchin favor ofGET /api/v2/deals/search - Deprecated
POST /v1/dealsin favor ofPOST /api/v2/deals - Deprecated
PUT /v1/deals/{id}in favor ofPATCH /api/v2/deals - Deprecated
DELETE /v1/deals/{id}in favor ofDELETE /api/v2/deals/{id} - Deprecated
DELETE /v1/dealsin favor ofDELETE /api/v2/deals/{id} - Deprecated
GET /v1/deals/{id}/activitiesin favor ofGET /api/v2/activities?deal_id={id} - Deprecated
GET /v1/deals/{id}/personsin favor ofGET /api/v2/persons?deal_id={id} - Deprecated
GET /v1/personsin favor ofGET /api/v2/persons - Deprecated
GET /v1/persons/collectionin favor ofGET /api/v2/persons - Deprecated
GET /v1/persons/{id}in favor ofGET /api/v2/persons/{id} - Deprecated
GET /v1/persons/searchin favor ofGET /api/v2/persons/search - Deprecated
POST /v1/personsin favor ofPOST /api/v2/persons - Deprecated
PUT /v1/persons/{id}in favor ofPATCH /api/v2/persons/{id} - Deprecated
DELETE /v1/persons/{id}in favor ofDELETE /api/v2/persons/{id} - Deprecated
DELETE /v1/personsin favor ofDELETE /api/v2/persons/{id} - Deprecated
GET /v1/persons/{id}/dealsin favor ofGET /api/v2/deals?person_id={id} - Deprecated
GET /v1/persons/{id}/activitiesin favor ofGET /api/v2/activities?person_id={id} - Deprecated
GET /v1/organizationsin favor ofGET /api/v2/organizations - Deprecated
GET /v1/organizations/collectionin favor ofGET /api/v2/organizations - Deprecated
GET /v1/organizations/{id}in favor ofGET /api/v2/organizations/{id} - Deprecated
GET /v1/organizations/searchin favor ofGET /api/v2/organizations/search - Deprecated
POST /v1/organizationsin favor ofPOST /api/v2/organizations - Deprecated
PUT /v1/organizations/{id}in favor ofPATCH /api/v2/organizations/{id} - Deprecated
DELETE /v1/organizations/{id}in favor ofDELETE /api/v2/organizations/{id} - Deprecated
DELETE /v1/organizationsin favor ofDELETE /api/v2/organizations/{id} - Deprecated
GET /v1/organizations/{id}/dealsin favor ofGET /api/v2/deals?org_id={id} - Deprecated
GET /v1/organizations/{id}/activitiesin favor ofGET /api/v2/activities?org_id={id} - Deprecated
GET /v1/organizations/{id}/personsin favor ofGET /api/v2/persons?org_id={id} - Deprecated
GET /v1/productsin favor ofGET /api/v2/products - Deprecated
GET /v1/products/{id}in favor ofGET /api/v2/products/{id} - Deprecated
GET /v1/products/searchin favor ofGET /api/v2/products/search - Deprecated
POST /v1/productsin favor ofPOST /api/v2/products - Deprecated
PUT /v1/products/{id}in favor ofPATCH /api/v2/products/{id} - Deprecated
DELETE /v1/products/{id}in favor ofDELETE /api/v2/products/{id} - Deprecated
GET /v1/pipelinesin favor ofGET /api/v2/pipelines - Deprecated
GET /v1/pipelines/{id}in favor ofGET /api/v2/pipelines/{id} - Deprecated
POST /v1/pipelinesin favor ofPOST /api/v2/pipelines - Deprecated
PUT /v1/pipelines/{id}in favor ofPATCH /api/v2/pipelines/{id} - Deprecated
DELETE /v1/pipelines/{id}in favor ofDELETE /api/v2/pipelines/{id} - Deprecated
GET /v1/stagesin favor ofGET /api/v2/stages - Deprecated
GET /v1/stages/{id}in favor ofGET /api/v2/stages/{id} - Deprecated
POST /v1/stagesin favor ofPOST /api/v2/stages - Deprecated
PUT /v1/stages/{id}in favor ofPATCH /api/v2/stages/{id} - Deprecated
DELETE /v1/stages/{id}in favor ofDELETE /api/v2/stages/{id} - Deprecated
DELETE /v1/stagesin favor ofDELETE /api/v2/stages/{id} - Deprecated
GET /v1/itemSearchin favor ofGET /api/v2/itemSearch - Deprecated
GET /v1/itemSearch/fieldin favor ofGET /api/v2/itemSearch/field - Updated non archived deals/leads endpoint description to specify that following endpoints do not return archived items:
GET /v1/dealsGET /v2/dealsGET /v1/deals/timelineGET /v1/deals/summaryGET /v1/leads
- Removed deprecated
archived_statusquery parameter from leads endpoints
9.0.0 (2025-03-31)
- Updated
item_pricefield data type in products from integer -> number for products and deal products
- Added missing
partnershipvalue for user access apps list
- Notice informing the users of the upcoming Subscriptions API deprecation:
GET /v1/subscriptions/{id}GET /v1/subscriptions/find/{dealId}GET /v1/subscriptions/{id}/paymentsPOST /v1/subscriptions/recurringPOST /v1/subscriptions/installmentPUT /v1/subscriptions/recurring/{id}PUT /v1/subscriptions/installment/{id}PUT /v1/subscriptions/recurring/{id}/cancelDELETE /v1/subscriptions/{id}
- Updated Webhooks endpoints to v2, including available event_action and event_object properties
- Added
GET /v2/deals/installmentsendpoint to fetch all installments added to a list of deals with cursor pagination - Added
POST /v2/deals/{id}/installmentsendpoint to add an installment to a deal - Added
PATCH /v2/deals/{id}/installments/{installment_id}endpoint to edit an installment - Added
DELETE /v2/deals/{id}/installments/{installment_id}endpoint to delete an installment
8.1.5 (2025-03-17)
- Added deal_id, person_id, org_id and lead_id quick filters for GET /api/v2/activities endpoint.
- Added AdditionalData to the v2 schemas:
- deal
- stage
- pipeline
- activity
8.1.4 (2025-03-11)
- Added AdditionalData object schema to GetOrganizations and GetPersons data
8.1.3 (2025-03-05)
- Fixed AdditionalData object schema
8.1.2 (2025-02-10)
- Updated supported enum values for webhook types in the
GET /webhooksendpoint
8.1.0 (2025-02-06)
- Added “pipeline_id” query parameter to GET /api/v1/deals/summary endpoint
- Updated list of lead label colors to include 'brown', 'dark-gray', 'orange', 'pink'
8.0.0 (2025-01-30)
- Added compatibility for both API v1 and v2 endpoints. See migration guide for more details
- Add documentation for installments functionality:
POST/v1/deals/{id}/productsendpointPUT/v1/deals/{id}/products/{product_attachment_id}endpointDELETE/v1/deals/{id}/products/{product_attachment_id}endpointPOST/v2/deals/{id}/productsendpointPATCH/v2/deals/{id}/products/{product_attachment_id}endpointDELETE/v2/deals/{id}/products/{product_attachment_id}endpoint
- Added the field “notes” to product prices in the body and response for v1 and v2
- Added the field “overhead_cost” to the product variation prices in the response for v1
- Added the field “direct_cost” to the product variation prices in the response and body for v2
- Add "custom_fields" query paremeter to GET /api/v2/products
- Reduce maximum
limitquery param to 100 for the following endpoints- GET v1/files
- GET v1/deals/{id}/files
- GET v1/organizations/{id}/files
- GET v1/persons/{id}/files
- GET /v1/products/{id}/files
7.1.0 (2024-09-12)
- Added
notesfield to Prices in:GETandPOST/v2/products/{productId}/variationsendpointsPATCH/api/v2/products/{productId}/variations/{productVariationId}endpoint
- Notice informing the users of the upcoming Activity Invites feature deprecation:
POSTandPUT/v1/activitiesendpoints
- Fixed response schemas for GET
/v1/<entity>Fieldsrequests - Added missing "description" parameter to "Add a product" and "Update a product" endpoints
- Added the missing "label_ids" field to the contacts endpoints.
- Added "filter_id" to GET /api/v2/deals documentation
- Updated default values for "billing_frequency_cycles", "billing_start_date" fields
7.0.0 (2024-09-11)
- Removed request and response fields
durationandduration_unitfor all endpoints of deals and products using them
6.10.1 (2024-06-07)
- Cleanup unused company settings
6.10.0 (2024-06-07)
Added acv, mrr, arr, acv_currency, mrr_currency, and arr_currency to the BaseDeal entity and the following endpoints' response:
GET,POST/v1/dealsGET,PUT/v1/deals/{id}GET/v1/deals/timelinePUT/v1/deals/{id}/mergePOST/v1/deals/{id}/duplicate
6.9.0 (2024-05-30)
- Fixed documentation: property
valueof Lead is nullable.
6.8.1 (2024-05-29)
- Removed mention of address autocompletion by Google in Add Activities endpoint and other entities(organization, person, deal) fields.
6.8.0 (2024-05-22)
- Added
origin,origin_id,channelandchannel_idparameters representing the Source for Lead and Deal entity.
6.7.0 (2024-05-17)
- Added documentation for new endpoints
/deals/{id}/changelog,/persons/{id}/changelogand/organizations/{id}/changelog. - Added
is_deletedparameter for/v1/users/*responses. - Added
billing_frequency,billing_frequency_cyclesandbilling_start_datefields toGET,POSTandPUT/v1/deals/{id}/productsendpointsGET,POSTandPATCH/v2/deals/{id}/productsendpointsGET/v2/deals/productsendpoint
- Added
billing_frequency,billing_frequency_cyclesfields toGET,POSTandPUT/v1/productsendpointsGET/v1/products/{id}endpointGET,POSTandPATCH/v2/productsendpointsGET/v2/products/{id}endpoints
- Added RawData trait to models to allow access to all response data objects
6.6.0 (2024-04-02)
- Documentation for new endpoint
/deals/{id}/participantsChangelog
6.5.1 (2024-04-02)
won_time,lost_timeandclose_timeparameters for thePOST /v1/dealsandPUT /v1/deals/{id}endpoints
6.5.0 (2024-04-02)
- Documentation for
/meetings/userProviderLinksendpoints
6.4.0 (2024-04-02)
lead_idas an acceptable body parameter for thePOST /v1/callLogsendpoint
6.3.1 (2024-04-02)
- Mismatches of YAML responses in related_objects of some deal endpoints
6.3.0 (2023-10-16)
- Add
Projects,ProjectTemplatesandTaskspublic routes.
6.2.0 (2023-10-11)
- Document
labelparameter for the deal, person, org entities.
6.1.3 (2023-10-06)
- Incorrect type of
optionsfor thePOST and PUT /dealFields, /personFields and /organizationFieldsendpoints
6.1.2 (2023-09-12)
- Fixed incorrect response schema for the
GET /deals/{id}/productsendpoint
6.1.1 (2023-09-12)
- Added further details on behavior of
end_dateforPUT /v1/subscriptions/recurring/{id}/cancel
6.1.0 (2023-09-05)
- Resolved namespace issues in
$openAPITypesforProductAttachmentDetails,AddProductAttachmentDetails,BaseMailThread, andFieldTypeAsString(#91) models
6.0.0 (2023-08-30)
- Removed request and response fields
sum_no_discountforGET /deals/{id}/products,POST /deals/{id}/productsandPUT /deals/{id}/products/{product_attachment_id}
5.1.0 (2023-08-30)
- Fixed incorrect parameter descriptions for the
PUT /deals/{id}endpoint
5.0.0 (2023-08-16)
Release a stable version of 5.0.0 which is a complete rewrite of the client-php. With version 5 of the SDK, we have moved to an open-source SDK generator called OpenAPI Generator.
5.0.0-beta.1 (2023-07-24)
- Added list of searchable custom field types to persons, organizations, products and deals search endpoints descriptions.
- Changed
product_idbody parameter to be optional for Update Deal Product endpoint - Schemas for
call-logsas they only includedbase-responsewithout additional properties in the response schema
5.0.0-beta.0 (2023-06-14)
- Breaking switch to SDK generated with openapi-generator