Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ 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]
### Added
- Added `include_body` query parameter to `GET /v1/deals/{id}/mailMessages`, `GET /v1/persons/{id}/mailMessages`, and `GET /v1/organizations/{id}/mailMessages` — pass `1` to include the mail message body content in the response
- Added `body` field to `MailMessageData` schema to expose the mail message body content when `include_body=1` is used

## [33.4.3] - 2026-06-09
### Fixed
Expand Down
23 changes: 18 additions & 5 deletions src/versions/v1/api/deals-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -693,10 +693,11 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration
* @param {number} id The ID of the deal
* @param {number} [start] Pagination start
* @param {number} [limit] Items shown per page
* @param {0 | 1} [include_body] Whether to include the mail message body content in the response. `0` = Don\'t include, `1` = Include.

* @throws {RequiredError}
*/
getDealMailMessages: async (id: number, start?: number, limit?: number, ): Promise<RequestArgs> => {
getDealMailMessages: async (id: number, start?: number, limit?: number, include_body?: 0 | 1, ): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('getDealMailMessages', 'id', id)
const localVarPath = `/deals/{id}/mailMessages`
Expand Down Expand Up @@ -727,6 +728,10 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration
localVarQueryParameter['limit'] = limit;
}

if (include_body !== undefined) {
localVarQueryParameter['include_body'] = include_body;
}



setSearchParams(localVarUrlObj, localVarQueryParameter);
Expand Down Expand Up @@ -1311,11 +1316,12 @@ export const DealsApiFp = function(configuration?: Configuration) {
* @param {number} id The ID of the deal
* @param {number} [start] Pagination start
* @param {number} [limit] Items shown per page
* @param {0 | 1} [include_body] Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.

* @throws {RequiredError}
*/
async getDealMailMessages(id: number, start?: number, limit?: number, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetAssociatedMailMessagesResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getDealMailMessages(id, start, limit, );
async getDealMailMessages(id: number, start?: number, limit?: number, include_body?: 0 | 1, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetAssociatedMailMessagesResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getDealMailMessages(id, start, limit, include_body, );
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
Expand Down Expand Up @@ -1544,7 +1550,7 @@ export const DealsApiFactory = function (configuration?: Configuration, basePath
* @throws {RequiredError}
*/
getDealMailMessages(requestParameters: DealsApiGetDealMailMessagesRequest, ): Promise<GetAssociatedMailMessagesResponse> {
return localVarFp.getDealMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, ).then((request) => request(axios, basePath));
return localVarFp.getDealMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, requestParameters.include_body, ).then((request) => request(axios, basePath));
},
/**
* Lists the participants associated with a deal.<br>If a company uses the [Campaigns product](https://pipedrive.readme.io/docs/campaigns-in-pipedrive-api), then this endpoint will also return the `data.marketing_status` field.
Expand Down Expand Up @@ -2023,6 +2029,13 @@ export interface DealsApiGetDealMailMessagesRequest {
* @memberof DealsApiGetDealMailMessages
*/
readonly limit?: number

/**
* Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.
* @type {0 | 1}
* @memberof DealsApiGetDealMailMessages
*/
readonly include_body?: 0 | 1
}

/**
Expand Down Expand Up @@ -2418,7 +2431,7 @@ export class DealsApi extends BaseAPI {
* @memberof DealsApi
*/
public getDealMailMessages(requestParameters: DealsApiGetDealMailMessagesRequest, ) {
return DealsApiFp(this.configuration).getDealMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, ).then((request) => request(this.axios, this.basePath));
return DealsApiFp(this.configuration).getDealMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, requestParameters.include_body, ).then((request) => request(this.axios, this.basePath));
}

/**
Expand Down
23 changes: 18 additions & 5 deletions src/versions/v1/api/organizations-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -293,10 +293,11 @@ export const OrganizationsApiAxiosParamCreator = function (configuration?: Confi
* @param {number} id The ID of the organization
* @param {number} [start] Pagination start
* @param {number} [limit] Items shown per page
* @param {0 | 1} [include_body] Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.

* @throws {RequiredError}
*/
getOrganizationMailMessages: async (id: number, start?: number, limit?: number, ): Promise<RequestArgs> => {
getOrganizationMailMessages: async (id: number, start?: number, limit?: number, include_body?: 0 | 1, ): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('getOrganizationMailMessages', 'id', id)
const localVarPath = `/organizations/{id}/mailMessages`
Expand Down Expand Up @@ -327,6 +328,10 @@ export const OrganizationsApiAxiosParamCreator = function (configuration?: Confi
localVarQueryParameter['limit'] = limit;
}

if (include_body !== undefined) {
localVarQueryParameter['include_body'] = include_body;
}



setSearchParams(localVarUrlObj, localVarQueryParameter);
Expand Down Expand Up @@ -564,11 +569,12 @@ export const OrganizationsApiFp = function(configuration?: Configuration) {
* @param {number} id The ID of the organization
* @param {number} [start] Pagination start
* @param {number} [limit] Items shown per page
* @param {0 | 1} [include_body] Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.

* @throws {RequiredError}
*/
async getOrganizationMailMessages(id: number, start?: number, limit?: number, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetAssociatedMailMessagesResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getOrganizationMailMessages(id, start, limit, );
async getOrganizationMailMessages(id: number, start?: number, limit?: number, include_body?: 0 | 1, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetAssociatedMailMessagesResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getOrganizationMailMessages(id, start, limit, include_body, );
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
Expand Down Expand Up @@ -677,7 +683,7 @@ export const OrganizationsApiFactory = function (configuration?: Configuration,
* @throws {RequiredError}
*/
getOrganizationMailMessages(requestParameters: OrganizationsApiGetOrganizationMailMessagesRequest, ): Promise<GetAssociatedMailMessagesResponse> {
return localVarFp.getOrganizationMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, ).then((request) => request(axios, basePath));
return localVarFp.getOrganizationMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, requestParameters.include_body, ).then((request) => request(axios, basePath));
},
/**
* Lists updates about an organization.
Expand Down Expand Up @@ -857,6 +863,13 @@ export interface OrganizationsApiGetOrganizationMailMessagesRequest {
* @memberof OrganizationsApiGetOrganizationMailMessages
*/
readonly limit?: number

/**
* Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.
* @type {0 | 1}
* @memberof OrganizationsApiGetOrganizationMailMessages
*/
readonly include_body?: 0 | 1
}

/**
Expand Down Expand Up @@ -1012,7 +1025,7 @@ export class OrganizationsApi extends BaseAPI {
* @memberof OrganizationsApi
*/
public getOrganizationMailMessages(requestParameters: OrganizationsApiGetOrganizationMailMessagesRequest, ) {
return OrganizationsApiFp(this.configuration).getOrganizationMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, ).then((request) => request(this.axios, this.basePath));
return OrganizationsApiFp(this.configuration).getOrganizationMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, requestParameters.include_body, ).then((request) => request(this.axios, this.basePath));
}

/**
Expand Down
23 changes: 18 additions & 5 deletions src/versions/v1/api/persons-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -410,10 +410,11 @@ export const PersonsApiAxiosParamCreator = function (configuration?: Configurati
* @param {number} id The ID of the person
* @param {number} [start] Pagination start
* @param {number} [limit] Items shown per page
* @param {0 | 1} [include_body] Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.

* @throws {RequiredError}
*/
getPersonMailMessages: async (id: number, start?: number, limit?: number, ): Promise<RequestArgs> => {
getPersonMailMessages: async (id: number, start?: number, limit?: number, include_body?: 0 | 1, ): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('getPersonMailMessages', 'id', id)
const localVarPath = `/persons/{id}/mailMessages`
Expand Down Expand Up @@ -444,6 +445,10 @@ export const PersonsApiAxiosParamCreator = function (configuration?: Configurati
localVarQueryParameter['limit'] = limit;
}

if (include_body !== undefined) {
localVarQueryParameter['include_body'] = include_body;
}



setSearchParams(localVarUrlObj, localVarQueryParameter);
Expand Down Expand Up @@ -759,11 +764,12 @@ export const PersonsApiFp = function(configuration?: Configuration) {
* @param {number} id The ID of the person
* @param {number} [start] Pagination start
* @param {number} [limit] Items shown per page
* @param {0 | 1} [include_body] Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.

* @throws {RequiredError}
*/
async getPersonMailMessages(id: number, start?: number, limit?: number, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetAssociatedMailMessagesResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getPersonMailMessages(id, start, limit, );
async getPersonMailMessages(id: number, start?: number, limit?: number, include_body?: 0 | 1, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetAssociatedMailMessagesResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getPersonMailMessages(id, start, limit, include_body, );
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
Expand Down Expand Up @@ -905,7 +911,7 @@ export const PersonsApiFactory = function (configuration?: Configuration, basePa
* @throws {RequiredError}
*/
getPersonMailMessages(requestParameters: PersonsApiGetPersonMailMessagesRequest, ): Promise<GetAssociatedMailMessagesResponse> {
return localVarFp.getPersonMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, ).then((request) => request(axios, basePath));
return localVarFp.getPersonMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, requestParameters.include_body, ).then((request) => request(axios, basePath));
},
/**
* Lists products associated with a person.
Expand Down Expand Up @@ -1158,6 +1164,13 @@ export interface PersonsApiGetPersonMailMessagesRequest {
* @memberof PersonsApiGetPersonMailMessages
*/
readonly limit?: number

/**
* Whether to include the mail message body content in the response. &#x60;0&#x60; &#x3D; Don\&#39;t include, &#x60;1&#x60; &#x3D; Include.
* @type {0 | 1}
* @memberof PersonsApiGetPersonMailMessages
*/
readonly include_body?: 0 | 1
}

/**
Expand Down Expand Up @@ -1365,7 +1378,7 @@ export class PersonsApi extends BaseAPI {
* @memberof PersonsApi
*/
public getPersonMailMessages(requestParameters: PersonsApiGetPersonMailMessagesRequest, ) {
return PersonsApiFp(this.configuration).getPersonMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, ).then((request) => request(this.axios, this.basePath));
return PersonsApiFp(this.configuration).getPersonMailMessages(requestParameters.id, requestParameters.start, requestParameters.limit, requestParameters.include_body, ).then((request) => request(this.axios, this.basePath));
}

/**
Expand Down
5 changes: 5 additions & 0 deletions src/versions/v1/models/mail-message-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ export interface MailMessageData {
*/
'body_url'?: string;
/**
* The mail message body content. Only present when `include_body=1` is passed.
* @type {string}
*/
'body'?: string;
/**
* The connection account ID
* @type {string}
*/
Expand Down
Loading