Skip to content

Commit d0492bd

Browse files
Release v33.2.0 from PR #732
2 parents 622d901 + 15a4ed3 commit d0492bd

6 files changed

Lines changed: 82 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ For public Changelog covering all changes done to Pipedrive’s API, webhooks an
88

99
## [Unreleased]
1010

11+
## [33.2.0] - 2026-05-29
12+
### Added
13+
- Added `website`, `linkedin`, `industry`, `annual_revenue`, and `employee_count` fields to v2 organization response schema (`GET /api/v2/organizations`, `GET /api/v2/organizations/{id}`) — all nullable, not included by default
14+
- Added `deal_id`, `person_id`, and `org_id` as optional query filter parameters to `GET /api/v2/projects`
15+
### Fixed
16+
- Fixed `BillingStartDate` format from non-standard `'YYYY-MM-DD'` to correct OAS3 `date` format in both v1 and v2 deal product schemas
17+
1118
## [33.1.1] - 2026-05-28
1219

1320
### Security
@@ -1258,7 +1265,8 @@ Those fields will be formatted as "2020-07-13" instead of "2020-07-13T00:00:00.0
12581265
* Fixed `GET /goal/:id/results` error handling in case when there are no existing stages connected to specified goal
12591266
* Fixed typo in lead example response (`crrency` to `currency`)
12601267

1261-
[Unreleased]: https://github.com/pipedrive/api-docs/compare/v33.1.1...HEAD
1268+
[Unreleased]: https://github.com/pipedrive/api-docs/compare/v33.2.0...HEAD
1269+
[33.2.0]: https://github.com/pipedrive/api-docs/compare/v33.1.1...v33.2.0
12621270
[33.1.1]: https://github.com/pipedrive/api-docs/compare/v33.1.0...v33.1.1
12631271
[33.1.0]: https://github.com/pipedrive/api-docs/compare/v33.0.1...v33.1.0
12641272
[33.0.1]: https://github.com/pipedrive/api-docs/compare/v33.0.0...v33.0.1

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pipedrive",
3-
"version": "33.1.1",
3+
"version": "33.2.0",
44
"description": "Pipedrive REST client for NodeJS",
55
"license": "MIT",
66
"homepage": "https://developers.pipedrive.com",

src/versions/v2/api/deal-products-api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ export const DealProductsApiAxiosParamCreator = function (configuration?: Config
319319
await setOAuthToObject(localVarHeaderParameter, "oauth2", ["products:read", "products:full", "deals:read", "deals:full"], configuration)
320320

321321
if (deal_ids) {
322-
localVarQueryParameter['deal_ids'] = deal_ids;
322+
localVarQueryParameter['deal_ids'] = deal_ids.join(COLLECTION_FORMATS.csv);
323323
}
324324

325325
if (cursor !== undefined) {

src/versions/v2/api/projects-api.ts

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -369,12 +369,15 @@ export const ProjectsApiAxiosParamCreator = function (configuration?: Configurat
369369
* @param {number} [filter_id] If supplied, only projects matching the specified filter are returned
370370
* @param {string} [status] If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned.
371371
* @param {number} [phase_id] If supplied, only projects in the specified phase are returned
372+
* @param {number} [deal_id] If supplied, only projects associated with the specified deal are returned
373+
* @param {number} [person_id] If supplied, only projects associated with the specified person are returned
374+
* @param {number} [org_id] If supplied, only projects associated with the specified organization are returned
372375
* @param {number} [limit] 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.
373376
* @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page
374377
375378
* @throws {RequiredError}
376379
*/
377-
getProjects: async (filter_id?: number, status?: string, phase_id?: number, limit?: number, cursor?: string, ): Promise<RequestArgs> => {
380+
getProjects: async (filter_id?: number, status?: string, phase_id?: number, deal_id?: number, person_id?: number, org_id?: number, limit?: number, cursor?: string, ): Promise<RequestArgs> => {
378381
const localVarPath = `/projects`;
379382
// use dummy base URL string because the URL constructor only accepts absolute URLs.
380383
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -406,6 +409,18 @@ export const ProjectsApiAxiosParamCreator = function (configuration?: Configurat
406409
localVarQueryParameter['phase_id'] = phase_id;
407410
}
408411

412+
if (deal_id !== undefined) {
413+
localVarQueryParameter['deal_id'] = deal_id;
414+
}
415+
416+
if (person_id !== undefined) {
417+
localVarQueryParameter['person_id'] = person_id;
418+
}
419+
420+
if (org_id !== undefined) {
421+
localVarQueryParameter['org_id'] = org_id;
422+
}
423+
409424
if (limit !== undefined) {
410425
localVarQueryParameter['limit'] = limit;
411426
}
@@ -644,13 +659,16 @@ export const ProjectsApiFp = function(configuration?: Configuration) {
644659
* @param {number} [filter_id] If supplied, only projects matching the specified filter are returned
645660
* @param {string} [status] If supplied, includes only projects with the specified statuses. Possible values are &#x60;open&#x60;, &#x60;completed&#x60;, &#x60;canceled&#x60; and &#x60;deleted&#x60;. By default &#x60;deleted&#x60; projects are not returned.
646661
* @param {number} [phase_id] If supplied, only projects in the specified phase are returned
662+
* @param {number} [deal_id] If supplied, only projects associated with the specified deal are returned
663+
* @param {number} [person_id] If supplied, only projects associated with the specified person are returned
664+
* @param {number} [org_id] If supplied, only projects associated with the specified organization are returned
647665
* @param {number} [limit] 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.
648666
* @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page
649667
650668
* @throws {RequiredError}
651669
*/
652-
async getProjects(filter_id?: number, status?: string, phase_id?: number, limit?: number, cursor?: string, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetProjectsResponse>> {
653-
const localVarAxiosArgs = await localVarAxiosParamCreator.getProjects(filter_id, status, phase_id, limit, cursor, );
670+
async getProjects(filter_id?: number, status?: string, phase_id?: number, deal_id?: number, person_id?: number, org_id?: number, limit?: number, cursor?: string, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetProjectsResponse>> {
671+
const localVarAxiosArgs = await localVarAxiosParamCreator.getProjects(filter_id, status, phase_id, deal_id, person_id, org_id, limit, cursor, );
654672
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
655673
},
656674
/**
@@ -770,7 +788,7 @@ export const ProjectsApiFactory = function (configuration?: Configuration, baseP
770788
* @throws {RequiredError}
771789
*/
772790
getProjects(requestParameters: ProjectsApiGetProjectsRequest = {}, ): Promise<GetProjectsResponse> {
773-
return localVarFp.getProjects(requestParameters.filter_id, requestParameters.status, requestParameters.phase_id, requestParameters.limit, requestParameters.cursor, ).then((request) => request(axios, basePath));
791+
return localVarFp.getProjects(requestParameters.filter_id, requestParameters.status, requestParameters.phase_id, requestParameters.deal_id, requestParameters.person_id, requestParameters.org_id, requestParameters.limit, requestParameters.cursor, ).then((request) => request(axios, basePath));
774792
},
775793
/**
776794
* Searches all projects by title, description, 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 projects can be filtered by person ID or organization ID.
@@ -962,6 +980,27 @@ export interface ProjectsApiGetProjectsRequest {
962980
*/
963981
readonly phase_id?: number
964982

983+
/**
984+
* If supplied, only projects associated with the specified deal are returned
985+
* @type {number}
986+
* @memberof ProjectsApiGetProjects
987+
*/
988+
readonly deal_id?: number
989+
990+
/**
991+
* If supplied, only projects associated with the specified person are returned
992+
* @type {number}
993+
* @memberof ProjectsApiGetProjects
994+
*/
995+
readonly person_id?: number
996+
997+
/**
998+
* If supplied, only projects associated with the specified organization are returned
999+
* @type {number}
1000+
* @memberof ProjectsApiGetProjects
1001+
*/
1002+
readonly org_id?: number
1003+
9651004
/**
9661005
* 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.
9671006
* @type {number}
@@ -1154,7 +1193,7 @@ export class ProjectsApi extends BaseAPI {
11541193
* @memberof ProjectsApi
11551194
*/
11561195
public getProjects(requestParameters: ProjectsApiGetProjectsRequest = {}, ) {
1157-
return ProjectsApiFp(this.configuration).getProjects(requestParameters.filter_id, requestParameters.status, requestParameters.phase_id, requestParameters.limit, requestParameters.cursor, ).then((request) => request(this.axios, this.basePath));
1196+
return ProjectsApiFp(this.configuration).getProjects(requestParameters.filter_id, requestParameters.status, requestParameters.phase_id, requestParameters.deal_id, requestParameters.person_id, requestParameters.org_id, requestParameters.limit, requestParameters.cursor, ).then((request) => request(this.axios, this.basePath));
11581197
}
11591198

11601199
/**

src/versions/v2/models/organization-item.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,31 @@ export interface OrganizationItem {
6969
*/
7070
'label_ids'?: Array<number>;
7171
/**
72+
* The website of the organization
73+
* @type {string}
74+
*/
75+
'website'?: string | null;
76+
/**
77+
* The LinkedIn profile URL of the organization
78+
* @type {string}
79+
*/
80+
'linkedin'?: string | null;
81+
/**
82+
* The industry the organization belongs to
83+
* @type {number}
84+
*/
85+
'industry'?: number | null;
86+
/**
87+
* The annual revenue of the organization
88+
* @type {number}
89+
*/
90+
'annual_revenue'?: number | null;
91+
/**
92+
* The number of employees in the organization
93+
* @type {number}
94+
*/
95+
'employee_count'?: number | null;
96+
/**
7297
* An object where each key represents a custom field. All custom fields are referenced as randomly generated 40-character hashes. To clear a custom field value, set it to `null`. For multi-option fields (field type `set`), use `null` to clear the selection — sending an empty array `[]` is not supported and will result in a validation error.
7398
* @type {{ [key: string]: any | undefined; }}
7499
*/

0 commit comments

Comments
 (0)