diff --git a/CHANGELOG.md b/CHANGELOG.md
index be4f7668..ec287ad1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
+### Fixed
+- Removed `person_id` from the v2 activity request body (`POST /api/v2/activities`, `PATCH /api/v2/activities/{id}`) — the API has always rejected it as read-only, and the schema advertised it as writable; use `participants: [{ "person_id": 123, "primary": true }]` instead. `org_id` is unaffected.
+- Added `required: [name]` to the v2 person create request body (`POST /api/v2/persons`) — a bare call previously reached the API instead of failing client-side.
+- Reworded the `im`, `notes`, `birthday`, and `job_title` field descriptions and the `addPerson`/`updatePerson` operation descriptions (which also cover `postal_address`) to disclose that these fields 403 when contact sync isn't enabled, rather than only describing when they're present on read.
## [17.6.0](https://github.com/pipedrive/client-php/compare17.5.2...17.6.0) (2026-09-08)
### Added
diff --git a/docs/versions/v2/Api/PersonsApi.md b/docs/versions/v2/Api/PersonsApi.md
index 914eb662..a98de521 100644
--- a/docs/versions/v2/Api/PersonsApi.md
+++ b/docs/versions/v2/Api/PersonsApi.md
@@ -25,7 +25,7 @@ addPerson($post_person_request_body): \Pipedrive\versions\v2\Model\PostPatchGetP
Add a new person
-Adds a new person.
If the company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also accept and return the `marketing_status` field.
The `im`, `postal_address`, `notes`, `birthday` and `job_title` fields don’t exist by default in Pipedrive and are only created when you set up your contact sync.
+Adds a new person.
If the company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also accept and return the `marketing_status` field.
The `im`, `postal_address`, `notes`, `birthday` and `job_title` fields don't exist by default in Pipedrive and are only created when you set up your contact sync — attempting to set any of them without contact sync enabled returns a 403.
### Example
@@ -735,7 +735,7 @@ updatePerson($id, $update_person_request_body): \Pipedrive\versions\v2\Model\Pos
Update a person
-Updates the properties of a person.
If the company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also accept and return the `marketing_status` field.
The `im`, `postal_address`, `notes`, `birthday` and `job_title` fields don’t exist by default in Pipedrive and are only created when you set up your contact sync.
+Updates the properties of a person.
If the company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also accept and return the `marketing_status` field.
The `im`, `postal_address`, `notes`, `birthday` and `job_title` fields don't exist by default in Pipedrive and are only created when you set up your contact sync — attempting to set any of them without contact sync enabled returns a 403.
### Example
diff --git a/docs/versions/v2/Model/ActivityRequestBody.md b/docs/versions/v2/Model/ActivityRequestBody.md
index fa31e0ff..a3cdfaa6 100644
--- a/docs/versions/v2/Model/ActivityRequestBody.md
+++ b/docs/versions/v2/Model/ActivityRequestBody.md
@@ -9,7 +9,6 @@ Name | Type | Description | Notes
**owner_id** | **int** | The ID of the user who owns the activity | [optional]
**deal_id** | **int** | The ID of the deal linked to the activity | [optional]
**lead_id** | **string** | The ID of the lead linked to the activity | [optional]
-**person_id** | **int** | The ID of the person linked to the activity | [optional]
**org_id** | **int** | The ID of the organization linked to the activity | [optional]
**project_id** | **int** | The ID of the project linked to the activity | [optional]
**due_date** | **string** | The due date of the activity | [optional]
@@ -18,7 +17,7 @@ Name | Type | Description | Notes
**busy** | **bool** | Whether the activity marks the assignee as busy or not in their calendar | [optional]
**done** | **bool** | Whether the activity is marked as done or not | [optional]
**location** | [**\Pipedrive\versions\v2\Model\ActivityItemLocation**](ActivityItemLocation.md) | | [optional]
-**participants** | [**\Pipedrive\versions\v2\Model\ActivityItemParticipants[]**](ActivityItemParticipants.md) | The participants of the activity | [optional]
+**participants** | [**\Pipedrive\versions\v2\Model\ActivityItemParticipants[]**](ActivityItemParticipants.md) | The participants of the activity. Use this to set the activity's person — a primary participant (`primary: true`) sets `person_id` on the activity. | [optional]
**attendees** | [**\Pipedrive\versions\v2\Model\ActivityItemAttendees[]**](ActivityItemAttendees.md) | The attendees of the activity | [optional]
**public_description** | **string** | The public description of the activity | [optional]
**priority** | **int** | The priority of the activity. Mappable to a specific string using activityFields API. | [optional]
diff --git a/docs/versions/v2/Model/PostPersonRequestBody.md b/docs/versions/v2/Model/PostPersonRequestBody.md
index b47dbdfc..81068ee5 100644
--- a/docs/versions/v2/Model/PostPersonRequestBody.md
+++ b/docs/versions/v2/Model/PostPersonRequestBody.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**name** | **string** | The name of the person | [optional]
+**name** | **string** | The name of the person |
**owner_id** | **int** | The ID of the user who owns the person | [optional]
**org_id** | **int** | The ID of the organization linked to the person | [optional]
**add_time** | **string** | The creation date and time of the person | [optional]
@@ -13,10 +13,10 @@ Name | Type | Description | Notes
**visible_to** | **int** | The visibility of the person | [optional]
**label_ids** | **int[]** | The IDs of labels assigned to the person | [optional]
**postal_address** | [**\Pipedrive\versions\v2\Model\PersonItemAddress**](PersonItemAddress.md) | | [optional]
-**notes** | **string** | Contact sync notes of the person, maximum 10 000 characters, included if contact sync is enabled for the company | [optional]
-**im** | [**\Pipedrive\versions\v2\Model\PersonItemIm[]**](PersonItemIm.md) | The instant messaging accounts of the person, included if contact sync is enabled for the company | [optional]
-**birthday** | **string** | The birthday of the person, included if contact sync is enabled for the company | [optional]
-**job_title** | **string** | The job title of the person, included if contact sync is enabled for the company | [optional]
+**notes** | **string** | 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. | [optional]
+**im** | [**\Pipedrive\versions\v2\Model\PersonItemIm[]**](PersonItemIm.md) | The instant messaging accounts of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. | [optional]
+**birthday** | **string** | The birthday of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. | [optional]
+**job_title** | **string** | The job title of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. | [optional]
**marketing_status** | **string** | If the person does not have a valid email address, then the marketing status is **not set** and `no_consent` is returned for the `marketing_status` value when the new person is created. If the change is forbidden, the status will remain unchanged for every call that tries to modify the marketing status. Please be aware that it is only allowed **once** to change the marketing status from an old status to a new one.<table><tr><th>Value</th><th>Description</th></tr><tr><td>`no_consent`</td><td>The customer has not given consent to receive any marketing communications</td></tr><tr><td>`unsubscribed`</td><td>The customers have unsubscribed from ALL marketing communications</td></tr><tr><td>`subscribed`</td><td>The customers are subscribed and are counted towards marketing caps</td></tr><tr><td>`archived`</td><td>The customers with `subscribed` status can be moved to `archived` to save consent, but they are not paid for</td></tr></table> | [optional]
**custom_fields** | **array** | 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. | [optional]
diff --git a/docs/versions/v2/Model/UpdatePersonRequestBody.md b/docs/versions/v2/Model/UpdatePersonRequestBody.md
index 078f986b..ef0a3e37 100644
--- a/docs/versions/v2/Model/UpdatePersonRequestBody.md
+++ b/docs/versions/v2/Model/UpdatePersonRequestBody.md
@@ -12,10 +12,10 @@ Name | Type | Description | Notes
**visible_to** | **int** | The visibility of the person | [optional]
**label_ids** | **int[]** | The IDs of labels assigned to the person | [optional]
**postal_address** | [**\Pipedrive\versions\v2\Model\PersonItemAddress**](PersonItemAddress.md) | | [optional]
-**notes** | **string** | Contact sync notes of the person, maximum 10 000 characters, included if contact sync is enabled for the company | [optional]
-**im** | [**\Pipedrive\versions\v2\Model\PersonItemIm[]**](PersonItemIm.md) | The instant messaging accounts of the person, included if contact sync is enabled for the company | [optional]
-**birthday** | **string** | The birthday of the person, included if contact sync is enabled for the company | [optional]
-**job_title** | **string** | The job title of the person, included if contact sync is enabled for the company | [optional]
+**notes** | **string** | 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. | [optional]
+**im** | [**\Pipedrive\versions\v2\Model\PersonItemIm[]**](PersonItemIm.md) | The instant messaging accounts of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. | [optional]
+**birthday** | **string** | The birthday of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. | [optional]
+**job_title** | **string** | The job title of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403. | [optional]
**marketing_status** | **string** | If the person does not have a valid email address, then the marketing status is **not set** and `no_consent` is returned for the `marketing_status` value when the new person is created. If the change is forbidden, the status will remain unchanged for every call that tries to modify the marketing status. Please be aware that it is only allowed **once** to change the marketing status from an old status to a new one.<table><tr><th>Value</th><th>Description</th></tr><tr><td>`no_consent`</td><td>The customer has not given consent to receive any marketing communications</td></tr><tr><td>`unsubscribed`</td><td>The customers have unsubscribed from ALL marketing communications</td></tr><tr><td>`subscribed`</td><td>The customers are subscribed and are counted towards marketing caps</td></tr><tr><td>`archived`</td><td>The customers with `subscribed` status can be moved to `archived` to save consent, but they are not paid for</td></tr></table> | [optional]
**custom_fields** | **array** | 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. | [optional]
diff --git a/lib/versions/v1/Api/LegacyTeamsApi.php b/lib/versions/v1/Api/LegacyTeamsApi.php
index 1f2082bf..43b128d1 100644
--- a/lib/versions/v1/Api/LegacyTeamsApi.php
+++ b/lib/versions/v1/Api/LegacyTeamsApi.php
@@ -132,7 +132,6 @@ public function getConfig(): Configuration
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\Team|\Pipedrive\versions\v1\Model\FailResponse
- * @deprecated
*/
public function addTeam($create_team = null)
{
@@ -150,7 +149,6 @@ public function addTeam($create_team = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\Team|\Pipedrive\versions\v1\Model\FailResponse, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function addTeamWithHttpInfo($create_team = null)
{
@@ -272,7 +270,6 @@ public function addTeamWithHttpInfo($create_team = null)
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function addTeamAsync($create_team = null): PromiseInterface
{
@@ -293,7 +290,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function addTeamAsyncWithHttpInfo($create_team = null): PromiseInterface
{
@@ -341,7 +337,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function addTeamRequest($create_team = null): Request
{
@@ -446,7 +441,6 @@ public function addTeamRequest($create_team = null): Request
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\UserIDs|\Pipedrive\versions\v1\Model\FailResponse|\Pipedrive\versions\v1\Model\FailResponse
- * @deprecated
*/
public function addTeamUser($id, $add_team_user_request = null)
{
@@ -465,7 +459,6 @@ public function addTeamUser($id, $add_team_user_request = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\UserIDs|\Pipedrive\versions\v1\Model\FailResponse|\Pipedrive\versions\v1\Model\FailResponse, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function addTeamUserWithHttpInfo($id, $add_team_user_request = null)
{
@@ -609,7 +602,6 @@ public function addTeamUserWithHttpInfo($id, $add_team_user_request = null)
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function addTeamUserAsync($id, $add_team_user_request = null): PromiseInterface
{
@@ -631,7 +623,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function addTeamUserAsyncWithHttpInfo($id, $add_team_user_request = null): PromiseInterface
{
@@ -680,7 +671,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function addTeamUserRequest($id, $add_team_user_request = null): Request
{
@@ -800,7 +790,6 @@ public function addTeamUserRequest($id, $add_team_user_request = null): Request
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\UserIDs|\Pipedrive\versions\v1\Model\FailResponse|\Pipedrive\versions\v1\Model\FailResponse
- * @deprecated
*/
public function deleteTeamUser($id, $delete_team_user_request = null)
{
@@ -819,7 +808,6 @@ public function deleteTeamUser($id, $delete_team_user_request = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\UserIDs|\Pipedrive\versions\v1\Model\FailResponse|\Pipedrive\versions\v1\Model\FailResponse, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function deleteTeamUserWithHttpInfo($id, $delete_team_user_request = null)
{
@@ -963,7 +951,6 @@ public function deleteTeamUserWithHttpInfo($id, $delete_team_user_request = null
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function deleteTeamUserAsync($id, $delete_team_user_request = null): PromiseInterface
{
@@ -985,7 +972,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function deleteTeamUserAsyncWithHttpInfo($id, $delete_team_user_request = null): PromiseInterface
{
@@ -1034,7 +1020,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function deleteTeamUserRequest($id, $delete_team_user_request = null): Request
{
@@ -1154,7 +1139,6 @@ public function deleteTeamUserRequest($id, $delete_team_user_request = null): Re
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\Team|\Pipedrive\versions\v1\Model\FailResponse
- * @deprecated
*/
public function getTeam($id, $skip_users = null)
{
@@ -1173,7 +1157,6 @@ public function getTeam($id, $skip_users = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\Team|\Pipedrive\versions\v1\Model\FailResponse, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function getTeamWithHttpInfo($id, $skip_users = null)
{
@@ -1296,7 +1279,6 @@ public function getTeamWithHttpInfo($id, $skip_users = null)
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getTeamAsync($id, $skip_users = null): PromiseInterface
{
@@ -1318,7 +1300,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getTeamAsyncWithHttpInfo($id, $skip_users = null): PromiseInterface
{
@@ -1367,7 +1348,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function getTeamRequest($id, $skip_users = null): Request
{
@@ -1488,7 +1468,6 @@ public function getTeamRequest($id, $skip_users = null): Request
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\UserIDs|\Pipedrive\versions\v1\Model\FailResponse
- * @deprecated
*/
public function getTeamUsers($id)
{
@@ -1506,7 +1485,6 @@ public function getTeamUsers($id)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\UserIDs|\Pipedrive\versions\v1\Model\FailResponse, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function getTeamUsersWithHttpInfo($id)
{
@@ -1628,7 +1606,6 @@ public function getTeamUsersWithHttpInfo($id)
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getTeamUsersAsync($id): PromiseInterface
{
@@ -1649,7 +1626,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getTeamUsersAsyncWithHttpInfo($id): PromiseInterface
{
@@ -1697,7 +1673,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function getTeamUsersRequest($id): Request
{
@@ -1811,7 +1786,6 @@ public function getTeamUsersRequest($id): Request
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\Teams
- * @deprecated
*/
public function getTeams($order_by = 'id', $skip_users = null)
{
@@ -1830,7 +1804,6 @@ public function getTeams($order_by = 'id', $skip_users = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\Teams, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function getTeamsWithHttpInfo($order_by = 'id', $skip_users = null)
{
@@ -1932,7 +1905,6 @@ public function getTeamsWithHttpInfo($order_by = 'id', $skip_users = null)
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getTeamsAsync($order_by = 'id', $skip_users = null): PromiseInterface
{
@@ -1954,7 +1926,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getTeamsAsyncWithHttpInfo($order_by = 'id', $skip_users = null): PromiseInterface
{
@@ -2003,7 +1974,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function getTeamsRequest($order_by = 'id', $skip_users = null): Request
{
@@ -2119,7 +2089,6 @@ public function getTeamsRequest($order_by = 'id', $skip_users = null): Request
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\Teams
- * @deprecated
*/
public function getUserTeams($id, $order_by = 'id', $skip_users = null)
{
@@ -2139,7 +2108,6 @@ public function getUserTeams($id, $order_by = 'id', $skip_users = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\Teams, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function getUserTeamsWithHttpInfo($id, $order_by = 'id', $skip_users = null)
{
@@ -2242,7 +2210,6 @@ public function getUserTeamsWithHttpInfo($id, $order_by = 'id', $skip_users = nu
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getUserTeamsAsync($id, $order_by = 'id', $skip_users = null): PromiseInterface
{
@@ -2265,7 +2232,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function getUserTeamsAsyncWithHttpInfo($id, $order_by = 'id', $skip_users = null): PromiseInterface
{
@@ -2315,7 +2281,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function getUserTeamsRequest($id, $order_by = 'id', $skip_users = null): Request
{
@@ -2445,7 +2410,6 @@ public function getUserTeamsRequest($id, $order_by = 'id', $skip_users = null):
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return \Pipedrive\versions\v1\Model\Team|\Pipedrive\versions\v1\Model\FailResponse|\Pipedrive\versions\v1\Model\FailResponse
- * @deprecated
*/
public function updateTeam($id, $update_team = null)
{
@@ -2464,7 +2428,6 @@ public function updateTeam($id, $update_team = null)
* @throws ApiException on non-2xx response
* @throws InvalidArgumentException|GuzzleException
* @return array of \Pipedrive\versions\v1\Model\Team|\Pipedrive\versions\v1\Model\FailResponse|\Pipedrive\versions\v1\Model\FailResponse, HTTP status code, HTTP response headers (array of strings)
- * @deprecated
*/
public function updateTeamWithHttpInfo($id, $update_team = null)
{
@@ -2608,7 +2571,6 @@ public function updateTeamWithHttpInfo($id, $update_team = null)
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function updateTeamAsync($id, $update_team = null): PromiseInterface
{
@@ -2630,7 +2592,6 @@ function ($response) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return PromiseInterface
- * @deprecated
*/
public function updateTeamAsyncWithHttpInfo($id, $update_team = null): PromiseInterface
{
@@ -2679,7 +2640,6 @@ function ($exception) {
*
* @throws InvalidArgumentException|OAuthProviderException
* @return Request
- * @deprecated
*/
public function updateTeamRequest($id, $update_team = null): Request
{
diff --git a/lib/versions/v2/Model/ActivityRequestBody.php b/lib/versions/v2/Model/ActivityRequestBody.php
index 339b5dcf..6d3833f7 100644
--- a/lib/versions/v2/Model/ActivityRequestBody.php
+++ b/lib/versions/v2/Model/ActivityRequestBody.php
@@ -71,7 +71,6 @@ class ActivityRequestBody implements ModelInterface, ArrayAccess, JsonSerializab
'owner_id' => 'int',
'deal_id' => 'int',
'lead_id' => 'string',
- 'person_id' => 'int',
'org_id' => 'int',
'project_id' => 'int',
'due_date' => 'string',
@@ -101,7 +100,6 @@ class ActivityRequestBody implements ModelInterface, ArrayAccess, JsonSerializab
'owner_id' => null,
'deal_id' => null,
'lead_id' => null,
- 'person_id' => null,
'org_id' => null,
'project_id' => null,
'due_date' => null,
@@ -154,7 +152,6 @@ public static function openAPIFormats(): array
'owner_id' => 'owner_id',
'deal_id' => 'deal_id',
'lead_id' => 'lead_id',
- 'person_id' => 'person_id',
'org_id' => 'org_id',
'project_id' => 'project_id',
'due_date' => 'due_date',
@@ -182,7 +179,6 @@ public static function openAPIFormats(): array
'owner_id' => 'setOwnerId',
'deal_id' => 'setDealId',
'lead_id' => 'setLeadId',
- 'person_id' => 'setPersonId',
'org_id' => 'setOrgId',
'project_id' => 'setProjectId',
'due_date' => 'setDueDate',
@@ -210,7 +206,6 @@ public static function openAPIFormats(): array
'owner_id' => 'getOwnerId',
'deal_id' => 'getDealId',
'lead_id' => 'getLeadId',
- 'person_id' => 'getPersonId',
'org_id' => 'getOrgId',
'project_id' => 'getProjectId',
'due_date' => 'getDueDate',
@@ -299,7 +294,6 @@ public function __construct(?array $data = null)
$this->container['owner_id'] = $data['owner_id'] ?? null;
$this->container['deal_id'] = $data['deal_id'] ?? null;
$this->container['lead_id'] = $data['lead_id'] ?? null;
- $this->container['person_id'] = $data['person_id'] ?? null;
$this->container['org_id'] = $data['org_id'] ?? null;
$this->container['project_id'] = $data['project_id'] ?? null;
$this->container['due_date'] = $data['due_date'] ?? null;
@@ -462,30 +456,6 @@ public function setLeadId($lead_id): self
return $this;
}
- /**
- * Gets person_id
- *
- * @return int|null
- */
- public function getPersonId()
- {
- return $this->container['person_id'];
- }
-
- /**
- * Sets person_id
- *
- * @param int|null $person_id The ID of the person linked to the activity
- *
- * @return self
- */
- public function setPersonId($person_id): self
- {
- $this->container['person_id'] = $person_id;
-
- return $this;
- }
-
/**
* Gets org_id
*
@@ -691,7 +661,7 @@ public function getParticipants()
/**
* Sets participants
*
- * @param \Pipedrive\versions\v2\Model\ActivityItemParticipants[]|null $participants The participants of the activity
+ * @param \Pipedrive\versions\v2\Model\ActivityItemParticipants[]|null $participants The participants of the activity. Use this to set the activity's person — a primary participant (`primary: true`) sets `person_id` on the activity.
*
* @return self
*/
diff --git a/lib/versions/v2/Model/PostPersonRequestBody.php b/lib/versions/v2/Model/PostPersonRequestBody.php
index 94228fbf..557e87dd 100644
--- a/lib/versions/v2/Model/PostPersonRequestBody.php
+++ b/lib/versions/v2/Model/PostPersonRequestBody.php
@@ -318,6 +318,9 @@ public function listInvalidProperties(): array
{
$invalidProperties = [];
+ if ($this->container['name'] === null) {
+ $invalidProperties[] = "'name' can't be null";
+ }
$allowedValues = $this->getMarketingStatusAllowableValues();
if (!is_null($this->container['marketing_status']) && !in_array($this->container['marketing_status'], $allowedValues, true)) {
$invalidProperties[] = sprintf(
@@ -345,7 +348,7 @@ public function valid(): bool
/**
* Gets name
*
- * @return string|null
+ * @return string
*/
public function getName()
{
@@ -355,7 +358,7 @@ public function getName()
/**
* Sets name
*
- * @param string|null $name The name of the person
+ * @param string $name The name of the person
*
* @return self
*/
@@ -571,7 +574,7 @@ public function getNotes()
/**
* Sets notes
*
- * @param string|null $notes Contact sync notes of the person, maximum 10 000 characters, included if contact sync is enabled for the company
+ * @param string|null $notes 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.
*
* @return self
*/
@@ -595,7 +598,7 @@ public function getIm()
/**
* Sets im
*
- * @param \Pipedrive\versions\v2\Model\PersonItemIm[]|null $im The instant messaging accounts of the person, included if contact sync is enabled for the company
+ * @param \Pipedrive\versions\v2\Model\PersonItemIm[]|null $im The instant messaging accounts of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403.
*
* @return self
*/
@@ -619,7 +622,7 @@ public function getBirthday()
/**
* Sets birthday
*
- * @param string|null $birthday The birthday of the person, included if contact sync is enabled for the company
+ * @param string|null $birthday The birthday of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403.
*
* @return self
*/
@@ -643,7 +646,7 @@ public function getJobTitle()
/**
* Sets job_title
*
- * @param string|null $job_title The job title of the person, included if contact sync is enabled for the company
+ * @param string|null $job_title The job title of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403.
*
* @return self
*/
diff --git a/lib/versions/v2/Model/UpdatePersonRequestBody.php b/lib/versions/v2/Model/UpdatePersonRequestBody.php
index 31b96db8..a1e02dc1 100644
--- a/lib/versions/v2/Model/UpdatePersonRequestBody.php
+++ b/lib/versions/v2/Model/UpdatePersonRequestBody.php
@@ -541,7 +541,7 @@ public function getNotes()
/**
* Sets notes
*
- * @param string|null $notes Contact sync notes of the person, maximum 10 000 characters, included if contact sync is enabled for the company
+ * @param string|null $notes 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.
*
* @return self
*/
@@ -565,7 +565,7 @@ public function getIm()
/**
* Sets im
*
- * @param \Pipedrive\versions\v2\Model\PersonItemIm[]|null $im The instant messaging accounts of the person, included if contact sync is enabled for the company
+ * @param \Pipedrive\versions\v2\Model\PersonItemIm[]|null $im The instant messaging accounts of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403.
*
* @return self
*/
@@ -589,7 +589,7 @@ public function getBirthday()
/**
* Sets birthday
*
- * @param string|null $birthday The birthday of the person, included if contact sync is enabled for the company
+ * @param string|null $birthday The birthday of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403.
*
* @return self
*/
@@ -613,7 +613,7 @@ public function getJobTitle()
/**
* Sets job_title
*
- * @param string|null $job_title The job title of the person, included if contact sync is enabled for the company
+ * @param string|null $job_title The job title of the person. Only accepted when contact sync is enabled for the company; otherwise the request returns 403.
*
* @return self
*/