diff --git a/CHANGELOG.md b/CHANGELOG.md index e5da2871..bfb8daf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,16 @@ 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] +### Fixed +- Fixed `has_pic` field type in v1 deal creator schema (`DealNonStrictModeFields`, used by `GET`/`POST /v1/deals` and related endpoints) — changed from `boolean` to `integer` since the API returns `0`/`1`, not `true`/`false` +- Fixed `code` field type in v2 product search results (`GET /api/v2/products/search`) — changed from `integer` to `string` and made nullable to match actual API responses +- Fixed `value` field type in v2 deal search results (`DealSearchItem`, used by `GET /api/v2/deals/search`) — changed from `integer` to `number` and made nullable to match actual API responses +- Marked `data` nullable in `ListProductFilesResponse` (`GET /v1/products/{id}/files`) +- Marked `update_time` nullable in v2 deal, organization, person, and stage schemas (`DealItem`, `OrganizationItem`, `PersonItem`, `StageItem`) +- Marked `next_cursor` nullable in v2 cursor pagination schema, used across all v2 cursor-paginated list endpoints +- Marked several v2 activity fields nullable (`ActivityItem`): `deal_id`, `lead_id`, `person_id`, `org_id`, `project_id`, `due_time`, `duration`, `marked_as_done_time`, `location`, and all `location` address subfields (`country`, `admin_area_level_1`, `admin_area_level_2`, `locality`, `sublocality`, `route`, `street_number`, `subpremise`, `postal_code`) +- Marked v2 `OrganizationItemAddress` and `PersonItemAddress` objects and all their subfields nullable, and marked `PersonItem.picture_id` nullable +- Marked `person` nullable in v2 lead search results (`LeadSearchItem`) and `address` nullable in v2 organization search results (`OrganizationSearchItem`) ## [33.8.0] - 2026-10-09 ### Fixed diff --git a/src/versions/v1/models/deal-all-of-creator-user-id.ts b/src/versions/v1/models/deal-all-of-creator-user-id.ts index dd8d7af7..adb18a6f 100644 --- a/src/versions/v1/models/deal-all-of-creator-user-id.ts +++ b/src/versions/v1/models/deal-all-of-creator-user-id.ts @@ -37,9 +37,9 @@ export interface DealAllOfCreatorUserId { 'email'?: string; /** * If the creator has a picture or not - * @type {boolean} + * @type {number} */ - 'has_pic'?: boolean; + 'has_pic'?: number; /** * The creator picture hash * @type {string} diff --git a/src/versions/v1/models/get-associated-product-files-response-all-of.ts b/src/versions/v1/models/get-associated-product-files-response-all-of.ts index 903d1c9f..4648f8b4 100644 --- a/src/versions/v1/models/get-associated-product-files-response-all-of.ts +++ b/src/versions/v1/models/get-associated-product-files-response-all-of.ts @@ -30,7 +30,7 @@ export interface GetAssociatedProductFilesResponseAllOf { * The array of files * @type {Array} */ - 'data': Array; + 'data': Array | null; /** * * @type {GetFieldsResponseAllOfAdditionalData} diff --git a/src/versions/v2/models/activity-item-location.ts b/src/versions/v2/models/activity-item-location.ts new file mode 100644 index 00000000..d68e00bb --- /dev/null +++ b/src/versions/v2/models/activity-item-location.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Pipedrive API v2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** +* Location of the activity +* @export +* @interface ActivityItemLocation +*/ +export interface ActivityItemLocation { + /** + * The full address of the activity + * @type {string} + */ + 'value'?: string; + /** + * Country of the activity + * @type {string} + */ + 'country'?: string | null; + /** + * Admin area level 1 (e.g. state) of the activity + * @type {string} + */ + 'admin_area_level_1'?: string | null; + /** + * Admin area level 2 (e.g. county) of the activity + * @type {string} + */ + 'admin_area_level_2'?: string | null; + /** + * Locality (e.g. city) of the activity + * @type {string} + */ + 'locality'?: string | null; + /** + * Sublocality (e.g. neighborhood) of the activity + * @type {string} + */ + 'sublocality'?: string | null; + /** + * Route (e.g. street) of the activity + * @type {string} + */ + 'route'?: string | null; + /** + * Street number of the activity + * @type {string} + */ + 'street_number'?: string | null; + /** + * Subpremise (e.g. apartment/suite number) of the activity + * @type {string} + */ + 'subpremise'?: string | null; + /** + * Postal code of the activity + * @type {string} + */ + 'postal_code'?: string | null; +} + diff --git a/src/versions/v2/models/activity-item.ts b/src/versions/v2/models/activity-item.ts index 1cfea13b..edfae524 100644 --- a/src/versions/v2/models/activity-item.ts +++ b/src/versions/v2/models/activity-item.ts @@ -15,10 +15,10 @@ // May contain unused imports in some cases // @ts-ignore -import { AddActivityRequestAttendeesInner } from './add-activity-request-attendees-inner'; +import { ActivityItemLocation } from './activity-item-location'; // May contain unused imports in some cases // @ts-ignore -import { AddActivityRequestLocation } from './add-activity-request-location'; +import { AddActivityRequestAttendeesInner } from './add-activity-request-attendees-inner'; // May contain unused imports in some cases // @ts-ignore import { AddActivityRequestParticipantsInner } from './add-activity-request-participants-inner'; @@ -73,27 +73,27 @@ export interface ActivityItem { * The ID of the deal linked to the activity * @type {number} */ - 'deal_id'?: number; + 'deal_id'?: number | null; /** * The ID of the lead linked to the activity * @type {string} */ - 'lead_id'?: string; + 'lead_id'?: string | null; /** * The ID of the person linked to the activity * @type {number} */ - 'person_id'?: number; + 'person_id'?: number | null; /** * The ID of the organization linked to the activity * @type {number} */ - 'org_id'?: number; + 'org_id'?: number | null; /** * The ID of the project linked to the activity * @type {number} */ - 'project_id'?: number; + 'project_id'?: number | null; /** * The due date of the activity * @type {string} @@ -103,12 +103,12 @@ export interface ActivityItem { * The due time of the activity * @type {string} */ - 'due_time'?: string; + 'due_time'?: string | null; /** * The duration of the activity * @type {string} */ - 'duration'?: string; + 'duration'?: string | null; /** * Whether the activity marks the assignee as busy or not in their calendar * @type {boolean} @@ -123,12 +123,12 @@ export interface ActivityItem { * The date and time when the activity was marked as done * @type {string} */ - 'marked_as_done_time'?: string; + 'marked_as_done_time'?: string | null; /** * - * @type {AddActivityRequestLocation} + * @type {ActivityItemLocation} */ - 'location'?: AddActivityRequestLocation; + 'location'?: ActivityItemLocation | null; /** * The participants of the activity * @type {Array} diff --git a/src/versions/v2/models/add-organization-request.ts b/src/versions/v2/models/add-organization-request.ts index 645b1a82..c1aeda37 100644 --- a/src/versions/v2/models/add-organization-request.ts +++ b/src/versions/v2/models/add-organization-request.ts @@ -52,7 +52,7 @@ export interface AddOrganizationRequest { * * @type {OrganizationItemAddress} */ - 'address'?: OrganizationItemAddress; + 'address'?: OrganizationItemAddress | null; /** * The website of the organization * @type {string} diff --git a/src/versions/v2/models/add-person-request.ts b/src/versions/v2/models/add-person-request.ts index df8f7cd5..c73a12c3 100644 --- a/src/versions/v2/models/add-person-request.ts +++ b/src/versions/v2/models/add-person-request.ts @@ -76,7 +76,7 @@ export interface AddPersonRequest { * * @type {PersonItemAddress} */ - 'postal_address'?: PersonItemAddress; + 'postal_address'?: PersonItemAddress | null; /** * Contact sync notes of the person, maximum 10 000 characters. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. * @type {string} diff --git a/src/versions/v2/models/deal.ts b/src/versions/v2/models/deal.ts index 7c29168e..6db41fdf 100644 --- a/src/versions/v2/models/deal.ts +++ b/src/versions/v2/models/deal.ts @@ -74,7 +74,7 @@ export interface Deal { * The last updated date and time of the deal * @type {string} */ - 'update_time'?: string; + 'update_time'?: string | null; /** * The last updated date and time of the deal stage * @type {string} diff --git a/src/versions/v2/models/get-activities-response-all-of-additional-data.ts b/src/versions/v2/models/get-activities-response-all-of-additional-data.ts index 288283ec..0351b8bf 100644 --- a/src/versions/v2/models/get-activities-response-all-of-additional-data.ts +++ b/src/versions/v2/models/get-activities-response-all-of-additional-data.ts @@ -24,6 +24,6 @@ export interface GetActivitiesResponseAllOfAdditionalData { * The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned. * @type {string} */ - 'next_cursor'?: string; + 'next_cursor'?: string | null; } diff --git a/src/versions/v2/models/get-deal-search-response-all-of-data-items-inner-item.ts b/src/versions/v2/models/get-deal-search-response-all-of-data-items-inner-item.ts index 7141cbfa..bfba5997 100644 --- a/src/versions/v2/models/get-deal-search-response-all-of-data-items-inner-item.ts +++ b/src/versions/v2/models/get-deal-search-response-all-of-data-items-inner-item.ts @@ -51,7 +51,7 @@ export interface GetDealSearchResponseAllOfDataItemsInnerItem { * The value of the deal * @type {number} */ - 'value'?: number; + 'value'?: number | null; /** * The currency of the deal * @type {string} diff --git a/src/versions/v2/models/get-deals-products-response-additional-data.ts b/src/versions/v2/models/get-deals-products-response-additional-data.ts index 19baca9b..9bd23bd7 100644 --- a/src/versions/v2/models/get-deals-products-response-additional-data.ts +++ b/src/versions/v2/models/get-deals-products-response-additional-data.ts @@ -24,6 +24,6 @@ export interface GetDealsProductsResponseAdditionalData { * The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned. * @type {string} */ - 'next_cursor'?: string; + 'next_cursor'?: string | null; } diff --git a/src/versions/v2/models/get-organization-search-response-all-of-data-items-inner-item.ts b/src/versions/v2/models/get-organization-search-response-all-of-data-items-inner-item.ts index 34379150..f5545cc7 100644 --- a/src/versions/v2/models/get-organization-search-response-all-of-data-items-inner-item.ts +++ b/src/versions/v2/models/get-organization-search-response-all-of-data-items-inner-item.ts @@ -42,7 +42,7 @@ export interface GetOrganizationSearchResponseAllOfDataItemsInnerItem { * The address of the organization * @type {string} */ - 'address'?: string; + 'address'?: string | null; /** * The visibility of the organization * @type {number} diff --git a/src/versions/v2/models/get-product-search-response-all-of-data-items-inner-item.ts b/src/versions/v2/models/get-product-search-response-all-of-data-items-inner-item.ts index ec96c6e4..09efb3e5 100644 --- a/src/versions/v2/models/get-product-search-response-all-of-data-items-inner-item.ts +++ b/src/versions/v2/models/get-product-search-response-all-of-data-items-inner-item.ts @@ -40,9 +40,9 @@ export interface GetProductSearchResponseAllOfDataItemsInnerItem { 'name'?: string; /** * The code of the product - * @type {number} + * @type {string} */ - 'code'?: number; + 'code'?: string | null; /** * The visibility of the product * @type {number} diff --git a/src/versions/v2/models/index.ts b/src/versions/v2/models/index.ts index ed20a801..8fbdfbd7 100644 --- a/src/versions/v2/models/index.ts +++ b/src/versions/v2/models/index.ts @@ -1,4 +1,5 @@ export * from './activity-item'; +export * from './activity-item-location'; export * from './add-ainstallment-response'; export * from './add-activity-request'; export * from './add-activity-request-attendees-inner'; diff --git a/src/versions/v2/models/lead-search-item-item.ts b/src/versions/v2/models/lead-search-item-item.ts index 257dacc0..519215e7 100644 --- a/src/versions/v2/models/lead-search-item-item.ts +++ b/src/versions/v2/models/lead-search-item-item.ts @@ -53,7 +53,7 @@ export interface LeadSearchItemItem { * * @type {LeadSearchItemItemPerson} */ - 'person'?: LeadSearchItemItemPerson; + 'person'?: LeadSearchItemItemPerson | null; /** * * @type {LeadSearchItemItemOrganization} diff --git a/src/versions/v2/models/organization-item-address.ts b/src/versions/v2/models/organization-item-address.ts index efbc42b1..babed9dc 100644 --- a/src/versions/v2/models/organization-item-address.ts +++ b/src/versions/v2/models/organization-item-address.ts @@ -29,46 +29,46 @@ export interface OrganizationItemAddress { * Country of the organization * @type {string} */ - 'country'?: string; + 'country'?: string | null; /** * Admin area level 1 (e.g. state) of the organization * @type {string} */ - 'admin_area_level_1'?: string; + 'admin_area_level_1'?: string | null; /** * Admin area level 2 (e.g. county) of the organization * @type {string} */ - 'admin_area_level_2'?: string; + 'admin_area_level_2'?: string | null; /** * Locality (e.g. city) of the organization * @type {string} */ - 'locality'?: string; + 'locality'?: string | null; /** * Sublocality (e.g. neighborhood) of the organization * @type {string} */ - 'sublocality'?: string; + 'sublocality'?: string | null; /** * Route (e.g. street) of the organization * @type {string} */ - 'route'?: string; + 'route'?: string | null; /** * Street number of the organization * @type {string} */ - 'street_number'?: string; + 'street_number'?: string | null; /** * Subpremise (e.g. apartment/suite number) of the organization * @type {string} */ - 'subpremise'?: string; + 'subpremise'?: string | null; /** * Postal code of the organization * @type {string} */ - 'postal_code'?: string; + 'postal_code'?: string | null; } diff --git a/src/versions/v2/models/organization-item.ts b/src/versions/v2/models/organization-item.ts index 64059c77..12fb858c 100644 --- a/src/versions/v2/models/organization-item.ts +++ b/src/versions/v2/models/organization-item.ts @@ -47,7 +47,7 @@ export interface OrganizationItem { * The last updated date and time of the organization * @type {string} */ - 'update_time'?: string; + 'update_time'?: string | null; /** * Whether the organization is deleted or not * @type {boolean} @@ -62,7 +62,7 @@ export interface OrganizationItem { * * @type {OrganizationItemAddress} */ - 'address'?: OrganizationItemAddress; + 'address'?: OrganizationItemAddress | null; /** * The IDs of labels assigned to the organization * @type {Array} diff --git a/src/versions/v2/models/person-item-address.ts b/src/versions/v2/models/person-item-address.ts index 7417be7b..bff40de1 100644 --- a/src/versions/v2/models/person-item-address.ts +++ b/src/versions/v2/models/person-item-address.ts @@ -29,46 +29,46 @@ export interface PersonItemAddress { * Country of the person * @type {string} */ - 'country'?: string; + 'country'?: string | null; /** * Admin area level 1 (e.g. state) of the person * @type {string} */ - 'admin_area_level_1'?: string; + 'admin_area_level_1'?: string | null; /** * Admin area level 2 (e.g. county) of the person * @type {string} */ - 'admin_area_level_2'?: string; + 'admin_area_level_2'?: string | null; /** * Locality (e.g. city) of the person * @type {string} */ - 'locality'?: string; + 'locality'?: string | null; /** * Sublocality (e.g. neighborhood) of the person * @type {string} */ - 'sublocality'?: string; + 'sublocality'?: string | null; /** * Route (e.g. street) of the person * @type {string} */ - 'route'?: string; + 'route'?: string | null; /** * Street number of the person * @type {string} */ - 'street_number'?: string; + 'street_number'?: string | null; /** * Subpremise (e.g. apartment/suite number) of the person * @type {string} */ - 'subpremise'?: string; + 'subpremise'?: string | null; /** * Postal code of the person * @type {string} */ - 'postal_code'?: string; + 'postal_code'?: string | null; } diff --git a/src/versions/v2/models/person.ts b/src/versions/v2/models/person.ts index 0fe033f2..aa9e0283 100644 --- a/src/versions/v2/models/person.ts +++ b/src/versions/v2/models/person.ts @@ -71,7 +71,7 @@ export interface Person { * The last updated date and time of the person * @type {string} */ - 'update_time'?: string; + 'update_time'?: string | null; /** * The emails of the person * @type {Array} @@ -101,12 +101,12 @@ export interface Person { * The ID of the picture associated with the person * @type {number} */ - 'picture_id'?: number; + 'picture_id'?: number | null; /** * * @type {PersonItemAddress} */ - 'postal_address'?: PersonItemAddress; + 'postal_address'?: PersonItemAddress | null; /** * Contact sync notes of the person, maximum 10 000 characters, included if contact sync is enabled for the company * @type {string} diff --git a/src/versions/v2/models/stage-item.ts b/src/versions/v2/models/stage-item.ts index c58eef1c..2b37d5c7 100644 --- a/src/versions/v2/models/stage-item.ts +++ b/src/versions/v2/models/stage-item.ts @@ -69,6 +69,6 @@ export interface StageItem { * The stage update time * @type {string} */ - 'update_time'?: string; + 'update_time'?: string | null; } diff --git a/src/versions/v2/models/stage-item1.ts b/src/versions/v2/models/stage-item1.ts index 2e5f7d1b..ffe8faca 100644 --- a/src/versions/v2/models/stage-item1.ts +++ b/src/versions/v2/models/stage-item1.ts @@ -69,6 +69,6 @@ export interface StageItem1 { * The stage update time * @type {string} */ - 'update_time'?: string; + 'update_time'?: string | null; } diff --git a/src/versions/v2/models/update-organization-request.ts b/src/versions/v2/models/update-organization-request.ts index 6ed190b0..cbe0df42 100644 --- a/src/versions/v2/models/update-organization-request.ts +++ b/src/versions/v2/models/update-organization-request.ts @@ -47,7 +47,7 @@ export interface UpdateOrganizationRequest { * * @type {OrganizationItemAddress} */ - 'address'?: OrganizationItemAddress; + 'address'?: OrganizationItemAddress | null; /** * The website of the organization * @type {string} diff --git a/src/versions/v2/models/update-person-request.ts b/src/versions/v2/models/update-person-request.ts index 24dc17fa..001dc207 100644 --- a/src/versions/v2/models/update-person-request.ts +++ b/src/versions/v2/models/update-person-request.ts @@ -71,7 +71,7 @@ export interface UpdatePersonRequest { * * @type {PersonItemAddress} */ - 'postal_address'?: PersonItemAddress; + 'postal_address'?: PersonItemAddress | null; /** * Contact sync notes of the person, maximum 10 000 characters. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. * @type {string}