Skip to content

Commit e2e10cb

Browse files
author
pipedrive-bot
committed
Build 322 - version-minor
1 parent af4e46b commit e2e10cb

22 files changed

Lines changed: 443 additions & 184 deletions

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ The file format of it is based on [Keep a Changelog](http://keepachangelog.com/e
77
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).
88

99
## [Unreleased]
10+
### Added
11+
- Added `include_field_code` query parameter to Filters endpoints:
12+
- `GET /v1/filters/{id}`
13+
- `PUT /v1/filters/{id}`
14+
- `POST /v1/filters`
15+
- When set to `true`, each condition in the response includes a `field_code` field identifying the field by its code name. The value is `null` if the field code cannot be resolved.
1016

1117
## [32.1.0] - 2026-03-26
1218
### Added

src/versions/v1/api/filters-api.ts

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,12 @@ export const FiltersApiAxiosParamCreator = function (configuration?: Configurati
4444
/**
4545
* Adds a new filter, returns the ID upon success. Note that in the conditions JSON object only one first-level condition group is supported, and it must be glued with \'AND\', and only two second level condition groups are supported of which one must be glued with \'AND\' and the second with \'OR\'. Other combinations do not work (yet) but the syntax supports introducing them in future. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/adding-a-filter\" target=\"_blank\" rel=\"noopener noreferrer\">adding a filter</a>.
4646
* @summary Add a new filter
47+
* @param {boolean} [include_field_code] If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
4748
* @param {AddFilterRequest} [AddFilterRequest]
4849
4950
* @throws {RequiredError}
5051
*/
51-
addFilter: async (AddFilterRequest?: AddFilterRequest, ): Promise<RequestArgs> => {
52+
addFilter: async (include_field_code?: boolean, AddFilterRequest?: AddFilterRequest, ): Promise<RequestArgs> => {
5253
const localVarPath = `/filters`;
5354
// use dummy base URL string because the URL constructor only accepts absolute URLs.
5455
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -68,6 +69,10 @@ export const FiltersApiAxiosParamCreator = function (configuration?: Configurati
6869
// oauth required
6970
await setOAuthToObject(localVarHeaderParameter, "oauth2", ["deals:full", "activities:full", "contacts:full"], configuration)
7071

72+
if (include_field_code !== undefined) {
73+
localVarQueryParameter['include_field_code'] = include_field_code;
74+
}
75+
7176

7277

7378
localVarHeaderParameter['Content-Type'] = 'application/json';
@@ -171,10 +176,11 @@ export const FiltersApiAxiosParamCreator = function (configuration?: Configurati
171176
* Returns data about a specific filter. Note that this also returns the condition lines of the filter.
172177
* @summary Get one filter
173178
* @param {number} id The ID of the filter
179+
* @param {boolean} [include_field_code] If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
174180
175181
* @throws {RequiredError}
176182
*/
177-
getFilter: async (id: number, ): Promise<RequestArgs> => {
183+
getFilter: async (id: number, include_field_code?: boolean, ): Promise<RequestArgs> => {
178184
// verify required parameter 'id' is not null or undefined
179185
assertParamExists('getFilter', 'id', id)
180186
const localVarPath = `/filters/{id}`
@@ -197,6 +203,10 @@ export const FiltersApiAxiosParamCreator = function (configuration?: Configurati
197203
// oauth required
198204
await setOAuthToObject(localVarHeaderParameter, "oauth2", ["deals:read", "deals:full", "activities:read", "activities:full", "contacts:read", "contacts:full"], configuration)
199205

206+
if (include_field_code !== undefined) {
207+
localVarQueryParameter['include_field_code'] = include_field_code;
208+
}
209+
200210

201211

202212
setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -291,11 +301,12 @@ export const FiltersApiAxiosParamCreator = function (configuration?: Configurati
291301
* Updates an existing filter.
292302
* @summary Update filter
293303
* @param {number} id The ID of the filter
304+
* @param {boolean} [include_field_code] If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
294305
* @param {UpdateFilterRequest} [UpdateFilterRequest]
295306
296307
* @throws {RequiredError}
297308
*/
298-
updateFilter: async (id: number, UpdateFilterRequest?: UpdateFilterRequest, ): Promise<RequestArgs> => {
309+
updateFilter: async (id: number, include_field_code?: boolean, UpdateFilterRequest?: UpdateFilterRequest, ): Promise<RequestArgs> => {
299310
// verify required parameter 'id' is not null or undefined
300311
assertParamExists('updateFilter', 'id', id)
301312
const localVarPath = `/filters/{id}`
@@ -318,6 +329,10 @@ export const FiltersApiAxiosParamCreator = function (configuration?: Configurati
318329
// oauth required
319330
await setOAuthToObject(localVarHeaderParameter, "oauth2", ["deals:full", "activities:full", "contacts:full"], configuration)
320331

332+
if (include_field_code !== undefined) {
333+
localVarQueryParameter['include_field_code'] = include_field_code;
334+
}
335+
321336

322337

323338
localVarHeaderParameter['Content-Type'] = 'application/json';
@@ -346,12 +361,13 @@ export const FiltersApiFp = function(configuration?: Configuration) {
346361
/**
347362
* Adds a new filter, returns the ID upon success. Note that in the conditions JSON object only one first-level condition group is supported, and it must be glued with \'AND\', and only two second level condition groups are supported of which one must be glued with \'AND\' and the second with \'OR\'. Other combinations do not work (yet) but the syntax supports introducing them in future. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/adding-a-filter\" target=\"_blank\" rel=\"noopener noreferrer\">adding a filter</a>.
348363
* @summary Add a new filter
364+
* @param {boolean} [include_field_code] If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
349365
* @param {AddFilterRequest} [AddFilterRequest]
350366
351367
* @throws {RequiredError}
352368
*/
353-
async addFilter(AddFilterRequest?: AddFilterRequest, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AddFiltersResponse>> {
354-
const localVarAxiosArgs = await localVarAxiosParamCreator.addFilter(AddFilterRequest, );
369+
async addFilter(include_field_code?: boolean, AddFilterRequest?: AddFilterRequest, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AddFiltersResponse>> {
370+
const localVarAxiosArgs = await localVarAxiosParamCreator.addFilter(include_field_code, AddFilterRequest, );
355371
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
356372
},
357373
/**
@@ -380,11 +396,12 @@ export const FiltersApiFp = function(configuration?: Configuration) {
380396
* Returns data about a specific filter. Note that this also returns the condition lines of the filter.
381397
* @summary Get one filter
382398
* @param {number} id The ID of the filter
399+
* @param {boolean} [include_field_code] If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
383400
384401
* @throws {RequiredError}
385402
*/
386-
async getFilter(id: number, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetFiltersResponse1>> {
387-
const localVarAxiosArgs = await localVarAxiosParamCreator.getFilter(id, );
403+
async getFilter(id: number, include_field_code?: boolean, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetFiltersResponse1>> {
404+
const localVarAxiosArgs = await localVarAxiosParamCreator.getFilter(id, include_field_code, );
388405
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
389406
},
390407
/**
@@ -412,12 +429,13 @@ export const FiltersApiFp = function(configuration?: Configuration) {
412429
* Updates an existing filter.
413430
* @summary Update filter
414431
* @param {number} id The ID of the filter
432+
* @param {boolean} [include_field_code] If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
415433
* @param {UpdateFilterRequest} [UpdateFilterRequest]
416434
417435
* @throws {RequiredError}
418436
*/
419-
async updateFilter(id: number, UpdateFilterRequest?: UpdateFilterRequest, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AddFiltersResponse>> {
420-
const localVarAxiosArgs = await localVarAxiosParamCreator.updateFilter(id, UpdateFilterRequest, );
437+
async updateFilter(id: number, include_field_code?: boolean, UpdateFilterRequest?: UpdateFilterRequest, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AddFiltersResponse>> {
438+
const localVarAxiosArgs = await localVarAxiosParamCreator.updateFilter(id, include_field_code, UpdateFilterRequest, );
421439
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
422440
},
423441
}
@@ -438,7 +456,7 @@ export const FiltersApiFactory = function (configuration?: Configuration, basePa
438456
* @throws {RequiredError}
439457
*/
440458
addFilter(requestParameters: FiltersApiAddFilterRequest = {}, ): Promise<AddFiltersResponse> {
441-
return localVarFp.addFilter(requestParameters.AddFilterRequest, ).then((request) => request(axios, basePath));
459+
return localVarFp.addFilter(requestParameters.include_field_code, requestParameters.AddFilterRequest, ).then((request) => request(axios, basePath));
442460
},
443461
/**
444462
* Marks a filter as deleted.
@@ -468,7 +486,7 @@ export const FiltersApiFactory = function (configuration?: Configuration, basePa
468486
* @throws {RequiredError}
469487
*/
470488
getFilter(requestParameters: FiltersApiGetFilterRequest, ): Promise<GetFiltersResponse1> {
471-
return localVarFp.getFilter(requestParameters.id, ).then((request) => request(axios, basePath));
489+
return localVarFp.getFilter(requestParameters.id, requestParameters.include_field_code, ).then((request) => request(axios, basePath));
472490
},
473491
/**
474492
* Returns all supported filter helpers. It helps to know what conditions and helpers are available when you want to <a href=\"/docs/api/v1/Filters#addFilter\">add</a> or <a href=\"/docs/api/v1/Filters#updateFilter\">update</a> filters. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/adding-a-filter\" target=\"_blank\" rel=\"noopener noreferrer\">adding a filter</a>.
@@ -497,7 +515,7 @@ export const FiltersApiFactory = function (configuration?: Configuration, basePa
497515
* @throws {RequiredError}
498516
*/
499517
updateFilter(requestParameters: FiltersApiUpdateFilterRequest, ): Promise<AddFiltersResponse> {
500-
return localVarFp.updateFilter(requestParameters.id, requestParameters.UpdateFilterRequest, ).then((request) => request(axios, basePath));
518+
return localVarFp.updateFilter(requestParameters.id, requestParameters.include_field_code, requestParameters.UpdateFilterRequest, ).then((request) => request(axios, basePath));
501519
},
502520
};
503521
};
@@ -508,6 +526,13 @@ export const FiltersApiFactory = function (configuration?: Configuration, basePa
508526
* @interface FiltersApiAddFilterRequest
509527
*/
510528
export interface FiltersApiAddFilterRequest {
529+
/**
530+
* If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
531+
* @type {boolean}
532+
* @memberof FiltersApiAddFilter
533+
*/
534+
readonly include_field_code?: boolean
535+
511536
/**
512537
*
513538
* @type {AddFilterRequest}
@@ -556,6 +581,13 @@ export interface FiltersApiGetFilterRequest {
556581
* @memberof FiltersApiGetFilter
557582
*/
558583
readonly id: number
584+
585+
/**
586+
* If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
587+
* @type {boolean}
588+
* @memberof FiltersApiGetFilter
589+
*/
590+
readonly include_field_code?: boolean
559591
}
560592

561593
/**
@@ -585,6 +617,13 @@ export interface FiltersApiUpdateFilterRequest {
585617
*/
586618
readonly id: number
587619

620+
/**
621+
* If set to &#x60;true&#x60;, each condition in the response includes a &#x60;field_code&#x60; field identifying the field by its code name
622+
* @type {boolean}
623+
* @memberof FiltersApiUpdateFilter
624+
*/
625+
readonly include_field_code?: boolean
626+
588627
/**
589628
*
590629
* @type {UpdateFilterRequest}
@@ -609,7 +648,7 @@ export class FiltersApi extends BaseAPI {
609648
* @memberof FiltersApi
610649
*/
611650
public addFilter(requestParameters: FiltersApiAddFilterRequest = {}, ) {
612-
return FiltersApiFp(this.configuration).addFilter(requestParameters.AddFilterRequest, ).then((request) => request(this.axios, this.basePath));
651+
return FiltersApiFp(this.configuration).addFilter(requestParameters.include_field_code, requestParameters.AddFilterRequest, ).then((request) => request(this.axios, this.basePath));
613652
}
614653

615654
/**
@@ -645,7 +684,7 @@ export class FiltersApi extends BaseAPI {
645684
* @memberof FiltersApi
646685
*/
647686
public getFilter(requestParameters: FiltersApiGetFilterRequest, ) {
648-
return FiltersApiFp(this.configuration).getFilter(requestParameters.id, ).then((request) => request(this.axios, this.basePath));
687+
return FiltersApiFp(this.configuration).getFilter(requestParameters.id, requestParameters.include_field_code, ).then((request) => request(this.axios, this.basePath));
649688
}
650689

651690
/**
@@ -680,6 +719,6 @@ export class FiltersApi extends BaseAPI {
680719
* @memberof FiltersApi
681720
*/
682721
public updateFilter(requestParameters: FiltersApiUpdateFilterRequest, ) {
683-
return FiltersApiFp(this.configuration).updateFilter(requestParameters.id, requestParameters.UpdateFilterRequest, ).then((request) => request(this.axios, this.basePath));
722+
return FiltersApiFp(this.configuration).updateFilter(requestParameters.id, requestParameters.include_field_code, requestParameters.UpdateFilterRequest, ).then((request) => request(this.axios, this.basePath));
684723
}
685724
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/* tslint:disable */
2+
/* eslint-disable */
3+
/**
4+
* Pipedrive API v1
5+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6+
*
7+
* The version of the OpenAPI document: 1.0.0
8+
*
9+
*
10+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11+
* https://openapi-generator.tech
12+
* Do not edit the class manually.
13+
*/
14+
15+
16+
17+
/**
18+
* A single filter condition
19+
* @export
20+
* @interface FilterConditionsConditionsInnerConditionsInner
21+
*/
22+
export interface FilterConditionsConditionsInnerConditionsInner {
23+
/**
24+
* The type of entity the condition applies to (e.g. \"deal\", \"person\")
25+
* @type {string}
26+
*/
27+
'object'?: string;
28+
/**
29+
* The ID of the field
30+
* @type {string}
31+
*/
32+
'field_id'?: string;
33+
/**
34+
* The operator used in the condition (e.g. \"=\", \"IS NOT NULL\")
35+
* @type {string}
36+
*/
37+
'operator'?: string;
38+
/**
39+
* The value of the condition
40+
* @type {string}
41+
*/
42+
'value'?: string | null;
43+
/**
44+
* An extra value for conditions that require two values
45+
* @type {string}
46+
*/
47+
'extra_value'?: string | null;
48+
/**
49+
* Whether the value is JSON-encoded
50+
* @type {boolean}
51+
*/
52+
'json_value_flag'?: boolean;
53+
/**
54+
* The code name of the field. Present when `include_field_code=true` is passed as a query parameter; `null` if the field code cannot be resolved
55+
* @type {string}
56+
*/
57+
'field_code'?: string | null;
58+
}
59+
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/* tslint:disable */
2+
/* eslint-disable */
3+
/**
4+
* Pipedrive API v1
5+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6+
*
7+
* The version of the OpenAPI document: 1.0.0
8+
*
9+
*
10+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11+
* https://openapi-generator.tech
12+
* Do not edit the class manually.
13+
*/
14+
15+
16+
// May contain unused imports in some cases
17+
// @ts-ignore
18+
import { FilterConditionsConditionsInnerConditionsInner } from './filter-conditions-conditions-inner-conditions-inner';
19+
20+
/**
21+
* A group of conditions joined by a logical operator
22+
* @export
23+
* @interface FilterConditionsConditionsInner
24+
*/
25+
export interface FilterConditionsConditionsInner {
26+
/**
27+
* The logical operator joining conditions within this group
28+
* @type {string}
29+
*/
30+
'glue'?: FilterConditionsConditionsInnerGlueConst;
31+
/**
32+
* The individual conditions in this group
33+
* @type {Array<FilterConditionsConditionsInnerConditionsInner>}
34+
*/
35+
'conditions'?: Array<FilterConditionsConditionsInnerConditionsInner>;
36+
}
37+
38+
export const FilterConditionsConditionsInnerGlueConst = {
39+
and: 'and',
40+
or: 'or'
41+
} as const;
42+
43+
export type FilterConditionsConditionsInnerGlueConst = typeof FilterConditionsConditionsInnerGlueConst[keyof typeof FilterConditionsConditionsInnerGlueConst];
44+
45+
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/* tslint:disable */
2+
/* eslint-disable */
3+
/**
4+
* Pipedrive API v1
5+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6+
*
7+
* The version of the OpenAPI document: 1.0.0
8+
*
9+
*
10+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11+
* https://openapi-generator.tech
12+
* Do not edit the class manually.
13+
*/
14+
15+
16+
// May contain unused imports in some cases
17+
// @ts-ignore
18+
import { FilterConditionsConditionsInner } from './filter-conditions-conditions-inner';
19+
20+
/**
21+
* The conditions object of a filter
22+
* @export
23+
* @interface FilterConditions
24+
*/
25+
export interface FilterConditions {
26+
/**
27+
* The top-level glue is always \"and\"
28+
* @type {string}
29+
*/
30+
'glue'?: FilterConditionsGlueConst;
31+
/**
32+
* The condition groups
33+
* @type {Array<FilterConditionsConditionsInner>}
34+
*/
35+
'conditions'?: Array<FilterConditionsConditionsInner>;
36+
}
37+
38+
export const FilterConditionsGlueConst = {
39+
and: 'and'
40+
} as const;
41+
42+
export type FilterConditionsGlueConst = typeof FilterConditionsGlueConst[keyof typeof FilterConditionsGlueConst];
43+
44+

0 commit comments

Comments
 (0)