diff --git a/CHANGELOG.md b/CHANGELOG.md
index 03d9abc7..0867dd52 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,22 @@ The file format of it is based on [Keep a Changelog](http://keepachangelog.com/e
For public Changelog covering all changes done to Pipedrive’s API, webhooks and app extensions platforms, see [public Changelog](https://pipedrive.readme.io/docs/changelog) with discussion area in [Developers Community](https://devcommunity.pipedrive.com/c/documentation/changelog/19).
## [Unreleased]
+### Changed
+- Removed beta labels from v2 lead/deal conversion endpoints:
+ - `GET /api/v2/leads/{id}/convert/status/{conversion_id}`
+ - `POST /api/v2/leads/{id}/convert`
+ - `GET /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/installments`
+ - `POST /api/v2/deals/{id}/installments`
+ - `PATCH /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}/images`
+ - `POST /api/v2/products/{id}/images`
+ - `PUT /api/v2/products/{id}/images`
+ - `DELETE /api/v2/products/{id}/images`
## [31.1.0] - 2026-01-30
### Added
diff --git a/docs/v2.md b/docs/v2.md
index f023f2bd..5d56438b 100644
--- a/docs/v2.md
+++ b/docs/v2.md
@@ -11,18 +11,6 @@ ActivitiesApi | getActivity | **GET** /activities/{id} | Get details of an activ
ActivitiesApi | updateActivity | **PATCH** /activities/{id} | Update an activity
ActivityFieldsApi | getActivityField | **GET** /activityFields/{field_code} | Get one activity field
ActivityFieldsApi | getActivityFields | **GET** /activityFields | Get all activity fields
-BetaApi | convertDealToLead | **POST** /deals/{id}/convert/lead | Convert a deal to a lead (BETA)
-BetaApi | convertLeadToDeal | **POST** /leads/{id}/convert/deal | Convert a lead to a deal (BETA)
-BetaApi | deleteInstallment | **DELETE** /deals/{id}/installments/{installment_id} | Delete an installment from a deal
-BetaApi | deleteProductImage | **DELETE** /products/{id}/images | Delete an image of a product
-BetaApi | getDealConversionStatus | **GET** /deals/{id}/convert/status/{conversion_id} | Get Deal conversion status (BETA)
-BetaApi | getInstallments | **GET** /deals/installments | List installments added to a list of deals
-BetaApi | getLeadConversionStatus | **GET** /leads/{id}/convert/status/{conversion_id} | Get Lead conversion status (BETA)
-BetaApi | getProductImage | **GET** /products/{id}/images | Get image of a product
-BetaApi | postInstallment | **POST** /deals/{id}/installments | Add an installment to a deal
-BetaApi | updateInstallment | **PATCH** /deals/{id}/installments/{installment_id} | Update an installment added to a deal
-BetaApi | updateProductImage | **PUT** /products/{id}/images | Update an image for a product
-BetaApi | uploadProductImage | **POST** /products/{id}/images | Upload an image for a product
DealFieldsApi | addDealField | **POST** /dealFields | Create one deal field
DealFieldsApi | addDealFieldOptions | **POST** /dealFields/{field_code}/options | Add deal field options in bulk
DealFieldsApi | deleteDealField | **DELETE** /dealFields/{field_code} | Delete one deal field
@@ -35,7 +23,7 @@ DealsApi | addDeal | **POST** /deals | Add a new deal
DealsApi | addDealFollower | **POST** /deals/{id}/followers | Add a follower to a deal
DealsApi | addDealProduct | **POST** /deals/{id}/products | Add a product to a deal
DealsApi | addManyDealProducts | **POST** /deals/{id}/products/bulk | Add multiple products to a deal
-DealsApi | convertDealToLead | **POST** /deals/{id}/convert/lead | Convert a deal to a lead (BETA)
+DealsApi | convertDealToLead | **POST** /deals/{id}/convert/lead | Convert a deal to a lead
DealsApi | deleteAdditionalDiscount | **DELETE** /deals/{id}/discounts/{discount_id} | Delete a discount from a deal
DealsApi | deleteDeal | **DELETE** /deals/{id} | Delete a deal
DealsApi | deleteDealFollower | **DELETE** /deals/{id}/followers/{follower_id} | Delete a follower from a deal
@@ -45,7 +33,7 @@ DealsApi | deleteManyDealProducts | **DELETE** /deals/{id}/products | Delete man
DealsApi | getAdditionalDiscounts | **GET** /deals/{id}/discounts | List discounts added to a deal
DealsApi | getArchivedDeals | **GET** /deals/archived | Get all archived deals
DealsApi | getDeal | **GET** /deals/{id} | Get details of a deal
-DealsApi | getDealConversionStatus | **GET** /deals/{id}/convert/status/{conversion_id} | Get Deal conversion status (BETA)
+DealsApi | getDealConversionStatus | **GET** /deals/{id}/convert/status/{conversion_id} | Get Deal conversion status
DealsApi | getDealFollowers | **GET** /deals/{id}/followers | List followers of a deal
DealsApi | getDealFollowersChangelog | **GET** /deals/{id}/followers/changelog | List followers changelog of a deal
DealsApi | getDealProducts | **GET** /deals/{id}/products | List products attached to a deal
@@ -61,8 +49,8 @@ DealsApi | updateDealProduct | **PATCH** /deals/{id}/products/{product_attachmen
DealsApi | updateInstallment | **PATCH** /deals/{id}/installments/{installment_id} | Update an installment added to a deal
ItemSearchApi | searchItem | **GET** /itemSearch | Perform a search from multiple item types
ItemSearchApi | searchItemByField | **GET** /itemSearch/field | Perform a search using a specific field from an item type
-LeadsApi | convertLeadToDeal | **POST** /leads/{id}/convert/deal | Convert a lead to a deal (BETA)
-LeadsApi | getLeadConversionStatus | **GET** /leads/{id}/convert/status/{conversion_id} | Get Lead conversion status (BETA)
+LeadsApi | convertLeadToDeal | **POST** /leads/{id}/convert/deal | Convert a lead to a deal
+LeadsApi | getLeadConversionStatus | **GET** /leads/{id}/convert/status/{conversion_id} | Get Lead conversion status
LeadsApi | searchLeads | **GET** /leads/search | Search leads
OrganizationFieldsApi | addOrganizationField | **POST** /organizationFields | Create one organization field
OrganizationFieldsApi | addOrganizationFieldOptions | **POST** /organizationFields/{field_code}/options | Add organization field options in bulk
diff --git a/src/versions/v2/api.ts b/src/versions/v2/api.ts
index 56ca884b..84b458b3 100644
--- a/src/versions/v2/api.ts
+++ b/src/versions/v2/api.ts
@@ -16,7 +16,6 @@
export * from './api/activities-api';
export * from './api/activity-fields-api';
-export * from './api/beta-api';
export * from './api/deal-fields-api';
export * from './api/deals-api';
export * from './api/item-search-api';
diff --git a/src/versions/v2/api/deals-api.ts b/src/versions/v2/api/deals-api.ts
index 7a54af14..f23d768f 100644
--- a/src/versions/v2/api/deals-api.ts
+++ b/src/versions/v2/api/deals-api.ts
@@ -273,7 +273,7 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration
},
/**
* 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 the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a deal to a lead (BETA)
+ * @summary Convert a deal to a lead
* @param {number} id The ID of the deal to convert
* @throws {RequiredError}
@@ -790,7 +790,7 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration
},
/**
* 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.
- * @summary Get Deal conversion status (BETA)
+ * @summary Get Deal conversion status
* @param {number} id The ID of a deal
* @param {string} conversion_id The ID of the conversion
@@ -1667,7 +1667,7 @@ export const DealsApiFp = function(configuration?: Configuration) {
},
/**
* 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 the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a deal to a lead (BETA)
+ * @summary Convert a deal to a lead
* @param {number} id The ID of the deal to convert
* @throws {RequiredError}
@@ -1799,7 +1799,7 @@ export const DealsApiFp = function(configuration?: Configuration) {
},
/**
* 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.
- * @summary Get Deal conversion status (BETA)
+ * @summary Get Deal conversion status
* @param {number} id The ID of a deal
* @param {string} conversion_id The ID of the conversion
@@ -2052,7 +2052,7 @@ export const DealsApiFactory = function (configuration?: Configuration, basePath
},
/**
* 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 the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a deal to a lead (BETA)
+ * @summary Convert a deal to a lead
* @param {DealsApiConvertDealToLeadRequest} requestParameters Request parameters.
* @throws {RequiredError}
@@ -2152,7 +2152,7 @@ export const DealsApiFactory = function (configuration?: Configuration, basePath
},
/**
* 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.
- * @summary Get Deal conversion status (BETA)
+ * @summary Get Deal conversion status
* @param {DealsApiGetDealConversionStatusRequest} requestParameters Request parameters.
* @throws {RequiredError}
@@ -3260,7 +3260,7 @@ export class DealsApi extends BaseAPI {
/**
* 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 the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a deal to a lead (BETA)
+ * @summary Convert a deal to a lead
* @param {DealsApiConvertDealToLeadRequest} requestParameters Request parameters.
* @throws {RequiredError}
@@ -3380,7 +3380,7 @@ export class DealsApi extends BaseAPI {
/**
* 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.
- * @summary Get Deal conversion status (BETA)
+ * @summary Get Deal conversion status
* @param {DealsApiGetDealConversionStatusRequest} requestParameters Request parameters.
* @throws {RequiredError}
diff --git a/src/versions/v2/api/leads-api.ts b/src/versions/v2/api/leads-api.ts
index f7bdc131..0160ea7e 100644
--- a/src/versions/v2/api/leads-api.ts
+++ b/src/versions/v2/api/leads-api.ts
@@ -39,7 +39,7 @@ export const LeadsApiAxiosParamCreator = function (configuration?: Configuration
return {
/**
* Initiates a conversion of a lead to a deal. 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. If the conversion is successful, the lead is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/leads/{lead_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a lead to a deal (BETA)
+ * @summary Convert a lead to a deal
* @param {string} id The ID of the lead to convert
* @param {ConvertLeadToDealRequest} [ConvertLeadToDealRequest]
@@ -84,7 +84,7 @@ export const LeadsApiAxiosParamCreator = function (configuration?: Configuration
},
/**
* Returns data about the conversion. Status is always present and its value (not_started, running, completed, failed, rejected) represents the current state of the conversion. Deal ID is only present if the conversion was successfully finished. This data is only temporary and removed after a few days.
- * @summary Get Lead conversion status (BETA)
+ * @summary Get Lead conversion status
* @param {string} id The ID of a lead
* @param {string} conversion_id The ID of the conversion
@@ -219,7 +219,7 @@ export const LeadsApiFp = function(configuration?: Configuration) {
return {
/**
* Initiates a conversion of a lead to a deal. 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. If the conversion is successful, the lead is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/leads/{lead_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a lead to a deal (BETA)
+ * @summary Convert a lead to a deal
* @param {string} id The ID of the lead to convert
* @param {ConvertLeadToDealRequest} [ConvertLeadToDealRequest]
@@ -231,7 +231,7 @@ export const LeadsApiFp = function(configuration?: Configuration) {
},
/**
* Returns data about the conversion. Status is always present and its value (not_started, running, completed, failed, rejected) represents the current state of the conversion. Deal ID is only present if the conversion was successfully finished. This data is only temporary and removed after a few days.
- * @summary Get Lead conversion status (BETA)
+ * @summary Get Lead conversion status
* @param {string} id The ID of a lead
* @param {string} conversion_id The ID of the conversion
@@ -271,7 +271,7 @@ export const LeadsApiFactory = function (configuration?: Configuration, basePath
return {
/**
* Initiates a conversion of a lead to a deal. 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. If the conversion is successful, the lead is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/leads/{lead_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a lead to a deal (BETA)
+ * @summary Convert a lead to a deal
* @param {LeadsApiConvertLeadToDealRequest} requestParameters Request parameters.
* @throws {RequiredError}
@@ -281,7 +281,7 @@ export const LeadsApiFactory = function (configuration?: Configuration, basePath
},
/**
* Returns data about the conversion. Status is always present and its value (not_started, running, completed, failed, rejected) represents the current state of the conversion. Deal ID is only present if the conversion was successfully finished. This data is only temporary and removed after a few days.
- * @summary Get Lead conversion status (BETA)
+ * @summary Get Lead conversion status
* @param {LeadsApiGetLeadConversionStatusRequest} requestParameters Request parameters.
* @throws {RequiredError}
@@ -416,7 +416,7 @@ export interface LeadsApiSearchLeadsRequest {
export class LeadsApi extends BaseAPI {
/**
* Initiates a conversion of a lead to a deal. 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. If the conversion is successful, the lead is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/leads/{lead_id}/convert/status/{conversion_id} endpoint.
- * @summary Convert a lead to a deal (BETA)
+ * @summary Convert a lead to a deal
* @param {LeadsApiConvertLeadToDealRequest} requestParameters Request parameters.
* @throws {RequiredError}
@@ -428,7 +428,7 @@ export class LeadsApi extends BaseAPI {
/**
* Returns data about the conversion. Status is always present and its value (not_started, running, completed, failed, rejected) represents the current state of the conversion. Deal ID is only present if the conversion was successfully finished. This data is only temporary and removed after a few days.
- * @summary Get Lead conversion status (BETA)
+ * @summary Get Lead conversion status
* @param {LeadsApiGetLeadConversionStatusRequest} requestParameters Request parameters.
* @throws {RequiredError}