Pipedrive

Sales CRM and pipeline management

developers.pipedrive.com/docs/api ↗
Version
1.0.0
OpenAPI
3.0.1
Endpoints
278
Schemas
418
87
Quality
Updated
3 days ago
Crm crm sales pipeline
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.pipedrive.com/v1

Endpoints

Clear filters

Activities 3 endpoints

GET /activities

Returns all activities assigned to a particular user.

operationId: Activities_listUserActivities

Parameters

Name In Required Type Description
user_id query optional integer

The ID of the user whose activities will be fetched. If omitted, the user associated with the API token will be used. If 0, activities for all company users will be fetched based on the permission sets.

filter_id query optional integer

The ID of the filter to use (will narrow down results if used together with user_id parameter)

type query optional string

The type of the activity, can be one type or multiple types separated by a comma. This is in correlation with the key_string parameter of ActivityTypes.

limit query optional integer

For pagination, the limit of entries to be returned. If not provided, 100 items will be returned.

start query optional integer

For pagination, the position that represents the first result for the page

start_date query optional string

Use the activity due date where you wish to begin fetching activities from. Insert due date in YYYY-MM-DD format.

end_date query optional string

Use the activity due date where you wish to stop fetching activities from. Insert due date in YYYY-MM-DD format.

done query optional number

Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted returns both done and not done activities.

Responses

200

A list of activities

GET /activities
GET /activities/collection

Returns all activities. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.

operationId: Activities_getAllActivities

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

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.

since query optional string

The time boundary that points to the start of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

until query optional string

The time boundary that points to the end of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

user_id query optional integer

The ID of the user whose activities will be fetched. If omitted, all activities are returned.

done query optional boolean

Whether the activity is done or not. false = Not done, true = Done. If omitted, returns both done and not done activities.

type query optional string

The type of the activity, can be one type or multiple types separated by a comma. This is in correlation with the key_string parameter of ActivityTypes.

Responses

200

A list of activities

403

Forbidden response

GET /activities/collection
GET /activities/{id}

Returns the details of a specific activity.

operationId: Activities_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the activity

Responses

200

The request was successful

GET /activities/{id}

Activityfields 1 endpoints

GET /activityFields

Returns all activity fields.

operationId: ActivityFields_getAll

Responses

200

Success

GET /activityFields

Activitytypes 1 endpoints

GET /activityTypes

Returns all activity types.

operationId: ActivityTypes_listAllActivityTypes

Responses

200

A list of activity types

GET /activityTypes

Billing 1 endpoints

GET /billing/subscriptions/addons

Returns the add-ons for a single company.

operationId: Billing_getAddonsForSingleCompany

Responses

200

Success

GET /billing/subscriptions/addons

Calllogs 2 endpoints

GET /callLogs

Returns all call logs assigned to a particular user.

operationId: CallLogs_getAllLogs

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

For pagination, the limit of entries to be returned. The upper limit is 50.

Responses

200

A list of call logs.

GET /callLogs
GET /callLogs/{id}

Returns details of a specific call log.

operationId: CallLogs_getDetails

Parameters

Name In Required Type Description
id path required string

The ID received when you create the call log

Responses

200

The requested call log object.

404

A resource required to process the request was not found.

GET /callLogs/{id}

Currencies 1 endpoints

GET /currencies

Returns all supported currencies in given account which should be used when saving monetary values with other objects. The code parameter of the returning objects is the currency code according to ISO 4217 for all non-custom currencies.

operationId: Currencies_getAllSupported

Parameters

Name In Required Type Description
term query optional string

Optional search term that is searched for from currency’s name and/or code

Responses

200

The list of supported currencies

GET /currencies

Dealfields 2 endpoints

GET /dealFields

Returns data about all deal fields.

operationId: DealFields_getAllFields

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /dealFields
GET /dealFields/{id}

Returns data about a specific deal field.

operationId: DealFields_getOneField

Parameters

Name In Required Type Description
id path required integer

The ID of the field

Responses

200

Success

GET /dealFields/{id}

Deals 17 endpoints

GET /deals

Returns all deals. For more information, see the tutorial for getting all deals.

operationId: Deals_getAllDeals

Parameters

Name In Required Type Description
user_id query optional integer

If supplied, only deals matching the given user will be returned. However, filter_id and owned_by_you takes precedence over user_id when supplied.

filter_id query optional integer

The ID of the filter to use

stage_id query optional integer

If supplied, only deals within the given stage will be returned

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

owned_by_you query optional number

When supplied, only deals owned by you are returned. However, filter_id takes precedence over owned_by_you when both are supplied.

Responses

200

Get all deals

GET /deals
GET /deals/collection

Returns all deals. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.

operationId: Deals_getAllDeals

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

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.

since query optional string

The time boundary that points to the start of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

until query optional string

The time boundary that points to the end of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

user_id query optional integer

If supplied, only deals matching the given user will be returned

stage_id query optional integer

If supplied, only deals within the given stage will be returned

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

Responses

200

Get all deals

403

Forbidden response

GET /deals/collection
GET /deals/search

Searches all deals by title, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found deals can be filtered by the person ID and the organization ID.

operationId: Deals_searchByTitleAndNotes

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

fields query optional string

A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

person_id query optional integer

Will filter deals by the provided person ID. The upper limit of found deals associated with the person is 2000.

organization_id query optional integer

Will filter deals by the provided organization ID. The upper limit of found deals associated with the organization is 2000.

status query optional string

Will filter deals by the provided specific status. open = Open, won = Won, lost = Lost. The upper limit of found deals associated with the status is 2000.

include_fields query optional string

Supports including optional fields in the results which are not provided by default

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /deals/search
GET /deals/summary

Returns a summary of all the deals.

operationId: Deals_getSummary

Parameters

Name In Required Type Description
status query optional string

Only fetch deals with a specific status. open = Open, won = Won, lost = Lost.

filter_id query optional integer

user_id will not be considered. Only deals matching the given filter will be returned.

user_id query optional integer

Only deals matching the given user will be returned. user_id will not be considered if you use filter_id.

stage_id query optional integer

Only deals within the given stage will be returned

Responses

200

Get the summary of the deals

GET /deals/summary
GET /deals/timeline

Returns open and won deals, grouped by a defined interval of time set in a date-type dealField (field_key) — e.g. when month is the chosen interval, and 3 months are asked starting from January 1st, 2012, deals are returned grouped into 3 groups — January, February and March — based on the value of the given field_key.

operationId: Deals_getTimelineData

Parameters

Name In Required Type Description
start_date query required string

The date when the first interval starts. Format: YYYY-MM-DD.

interval query required string

The type of the interval<table><tr><th>Value</th><th>Description</th></tr><tr><td>day</td><td>Day</td></tr><tr><td>week</td><td>A full week (7 days) starting from start_date</td></tr><tr><td>month</td><td>A full month (depending on the number of days in given month) starting from start_date</td></tr><tr><td>quarter</td><td>A full quarter (3 months) starting from start_date</td></tr></table>

amount query required integer

The number of given intervals, starting from start_date, to fetch. E.g. 3 (months).

field_key query required string

The date field key which deals will be retrieved from

user_id query optional integer

If supplied, only deals matching the given user will be returned

pipeline_id query optional integer

If supplied, only deals matching the given pipeline will be returned

filter_id query optional integer

If supplied, only deals matching the given filter will be returned

exclude_deals query optional number

Whether to exclude deals list (1) or not (0). Note that when deals are excluded, the timeline summary (counts and values) is still returned.

totals_convert_currency query optional string

The 3-letter currency code of any of the supported currencies. When supplied, totals_converted is returned per each interval which contains the currency-converted total amounts in the given currency. You may also set this parameter to default_currency in which case the user’s default currency is used.

Responses

200

Get open and won deals, grouped by the defined interval of time

GET /deals/timeline
GET /deals/{id}

Returns the details of a specific deal. Note that this also returns some additional fields which are not present when asking for all deals – such as deal age and stay in pipeline stages. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of dealFields. For more information, see the tutorial for getting details of a deal.

operationId: Deals_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

Responses

200

Get a deal by its ID

GET /deals/{id}
GET /deals/{id}/activities

Lists activities associated with a deal.

operationId: Deals_listActivities

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

done query optional number

Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted, returns both Done and Not done activities.

exclude query optional string

A comma-separated string of activity IDs to exclude from result

Responses

200

Success

GET /deals/{id}/activities
GET /deals/{id}/changelog

Lists updates about field values of a deal.

operationId: Deals_listChangelog

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

Items shown per page

Responses

200

Get changelog of a deal

GET /deals/{id}/changelog
GET /deals/{id}/files

Lists files associated with a deal.

operationId: Deals_listDealFiles

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys). Supported fields: id, user_id, deal_id, person_id, org_id, product_id, add_time, update_time, file_name, file_type, file_size, comment.

Responses

200

Success

GET /deals/{id}/files
GET /deals/{id}/flow

Lists updates about a deal.

operationId: Deals_listDealUpdates

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

all_changes query optional string

Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates.

items query optional string

A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change).

Responses

200

Get the deal updates

GET /deals/{id}/flow
GET /deals/{id}/followers

Lists the followers of a deal.

operationId: Deals_listFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

Responses

200

Success

GET /deals/{id}/followers
GET /deals/{id}/mailMessages

Lists mail messages associated with a deal.

operationId: Deals_listMailMessages

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /deals/{id}/mailMessages
GET /deals/{id}/participants

Lists the participants associated with a deal.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: Deals_listParticipants

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get all deal participants by the DealID

GET /deals/{id}/participants
GET /deals/{id}/participantsChangelog

List updates about participants of a deal. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.

operationId: Deals_listParticipantsChangelog

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

limit query optional integer

Items shown per page

cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

Responses

200

Get participant changelogs for a given deal

GET /deals/{id}/participantsChangelog
GET /deals/{id}/permittedUsers

Lists the users permitted to access a deal.

operationId: Deals_listPermittedUsers

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

Responses

200

Success

GET /deals/{id}/permittedUsers
GET /deals/{id}/persons

Lists all persons associated with a deal, regardless of whether the person is the primary contact of the deal, or added as a participant.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: Deals_listPersonsAssociated

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /deals/{id}/persons
GET /deals/{id}/products

Lists products attached to a deal.

operationId: Deals_listDealProducts

Parameters

Name In Required Type Description
id path required integer

The ID of the deal

start query optional integer

Pagination start

limit query optional integer

Items shown per page

include_product_data query optional number

Whether to fetch product data along with each attached product (1) or not (0, default)

Responses

200

Success

GET /deals/{id}/products

Files 3 endpoints

GET /files

Returns data about all files.

operationId: Files_getAllFiles

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys). Supported fields: id, user_id, deal_id, person_id, org_id, product_id, add_time, update_time, file_name, file_type, file_size, comment.

Responses

200

Get data about all files uploaded to Pipedrive

GET /files
GET /files/{id}

Returns data about a specific file.

operationId: Files_getOneFile

Parameters

Name In Required Type Description
id path required integer

The ID of the file

Responses

200

Get data about one specific file uploaded to Pipedrive

GET /files/{id}
GET /files/{id}/download

Initializes a file download.

operationId: Files_downloadFile

Parameters

Name In Required Type Description
id path required integer

The ID of the file

Responses

200

success

GET /files/{id}/download

Filters 3 endpoints

GET /filters

Returns data about all filters.

operationId: Filters_getAll

Parameters

Name In Required Type Description
type query optional string

The types of filters to fetch

Responses

200

Success

GET /filters
GET /filters/helpers

Returns all supported filter helpers. It helps to know what conditions and helpers are available when you want to add or update filters. For more information, see the tutorial for adding a filter.

operationId: Filters_getHelpers

Responses

200

Success

GET /filters/helpers
GET /filters/{id}

Returns data about a specific filter. Note that this also returns the condition lines of the filter.

operationId: Filters_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the filter

Responses

200

Success

GET /filters/{id}

Goals 2 endpoints

GET /goals/find

Returns data about goals based on criteria. For searching, append {searchField}={searchValue} to the URL, where searchField can be any one of the lowest-level fields in dot-notation (e.g. type.params.pipeline_id; title). searchValue should be the value you are looking for on that field. Additionally, is_active=<true|false> can be provided to search for only active/inactive goals. When providing period.start, period.end must also be provided and vice versa.

operationId: Goals_getByCriteria

Parameters

Name In Required Type Description
type.name query optional string

The type of the goal. If provided, everyone’s goals will be returned.

title query optional string

The title of the goal

is_active query optional boolean

Whether the goal is active or not

assignee.id query optional integer

The ID of the user who’s goal to fetch. When omitted, only your goals will be returned.

assignee.type query optional string

The type of the goal’s assignee. If provided, everyone’s goals will be returned.

expected_outcome.target query optional number

The numeric value of the outcome. If provided, everyone’s goals will be returned.

expected_outcome.tracking_metric query optional string

The tracking metric of the expected outcome of the goal. If provided, everyone’s goals will be returned.

expected_outcome.currency_id query optional integer

The numeric ID of the goal’s currency. Only applicable to goals with expected_outcome.tracking_metric with value sum. If provided, everyone’s goals will be returned.

type.params.pipeline_id query optional array

An array of pipeline IDs or null for all pipelines. If provided, everyone’s goals will be returned.

type.params.stage_id query optional integer

The ID of the stage. Applicable to only deals_progressed type of goals. If provided, everyone’s goals will be returned.

type.params.activity_type_id query optional array

An array of IDs or null for all activity types. Only applicable for activities_completed and/or activities_added types of goals. If provided, everyone’s goals will be returned.

period.start query optional string

The start date of the period for which to find goals. Date in format of YYYY-MM-DD. When period.start is provided, period.end must be provided too.

period.end query optional string

The end date of the period for which to find goals. Date in format of YYYY-MM-DD.

Responses

200

Successful response containing payload in the data.goal object

GET /goals/find
GET /goals/{id}/results

Gets the progress of a goal for the specified period.

operationId: Goals_getResult

Parameters

Name In Required Type Description
id path required string

The ID of the goal that the results are looked for

period.start query required string

The start date of the period for which to find the goal’s progress. Format: YYYY-MM-DD. This date must be the same or after the goal duration start date.

period.end query required string

The end date of the period for which to find the goal’s progress. Format: YYYY-MM-DD. This date must be the same or before the goal duration end date.

Responses

200

Successful response containing payload in the data.goal object

GET /goals/{id}/results

Itemsearch 2 endpoints

GET /itemSearch

Performs a search from your choice of item types and fields.

operationId: ItemSearch_searchMultipleItems

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

item_types query optional string

A comma-separated string array. The type of items to perform the search from. Defaults to all.

fields query optional string

A comma-separated string array. The fields to perform the search from. Defaults to all. Relevant for each item type are:
<table> <tr><th>Item type</th><th>Field</th></tr> <tr><td>Deal</td><td>custom_fields, notes, title</td></tr> <tr><td>Person</td><td>custom_fields, email, name, notes, phone</td></tr> <tr><td>Organization</td><td>address, custom_fields, name, notes</td></tr> <tr><td>Product</td><td>code, custom_fields, name</td></tr> <tr><td>Lead</td><td>custom_fields, notes, email, organization_name, person_name, phone, title</td></tr> <tr><td>File</td><td>name</td></tr> <tr><td>Mail attachment</td><td>name</td></tr> <tr><td>Project</td><td> custom_fields, notes, title, description </td></tr> </table>
Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.
When searching for leads, the email, organization_name, person_name, and phone fields will return results only for leads not linked to contacts. For searching leads by person or organization values, please use search_for_related_items.

search_for_related_items query optional boolean

When enabled, the response will include up to 100 newest related leads and 100 newest related deals for each found person and organization and up to 100 newest related persons for each found organization

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

include_fields query optional string

A comma-separated string array. Supports including optional fields in the results which are not provided by default.

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /itemSearch
GET /itemSearch/field

Performs a search from the values of a specific field. Results can either be the distinct values of the field (useful for searching autocomplete field values), or the IDs of actual items (deals, leads, persons, organizations or products).

operationId: ItemSearch_byFieldValues

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

field_type query required string

The type of the field to perform the search from

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. The search is case sensitive.

field_key query required string

The key of the field to search from. The field key can be obtained by fetching the list of the fields using any of the fields’ API GET methods (dealFields, personFields, etc.). Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

return_item_ids query optional boolean

Whether to return the IDs of the matching items or not. When not set or set to 0 or false, only distinct values of the searched field are returned. When set to 1 or true, the ID of each found item is returned.

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /itemSearch/field

Leadlabels 1 endpoints

GET /leadLabels

Returns details of all lead labels. This endpoint does not support pagination and all labels are always returned.

operationId: LeadLabels_getAll

Responses

200

Successful response containing payload in the data field

GET /leadLabels

Leadsources 1 endpoints

GET /leadSources

Returns all lead sources. Please note that the list of lead sources is fixed, it cannot be modified. All leads created through the Pipedrive API will have a lead source API assigned.

operationId: LeadSources_getAll

Responses

200

The successful response containing payload in the data field.

GET /leadSources

Leads 4 endpoints

GET /leads

Returns multiple leads. Leads are sorted by the time they were created, from oldest to newest. Pagination can be controlled using limit and start query parameters. If a lead contains custom fields, the fields’ values will be included in the response in the same format as with the Deals endpoints. If a custom field’s value hasn’t been set for the lead, it won’t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields’ structure from deals.

operationId: Leads_getAll

Parameters

Name In Required Type Description
limit query optional integer

For pagination, the limit of entries to be returned. If not provided, 100 items will be returned.

start query optional integer

For pagination, the position that represents the first result for the page

archived_status query optional string

Filtering based on the archived status of a lead. If not provided, All is used.

owner_id query optional integer

If supplied, only leads matching the given user will be returned. However, filter_id takes precedence over owner_id when supplied.

person_id query optional integer

If supplied, only leads matching the given person will be returned. However, filter_id takes precedence over person_id when supplied.

organization_id query optional integer

If supplied, only leads matching the given organization will be returned. However, filter_id takes precedence over organization_id when supplied.

filter_id query optional integer

The ID of the filter to use

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

Responses

200

Successful response containing payload in the data field

GET /leads
GET /leads/search

Searches all leads by title, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found leads can be filtered by the person ID and the organization ID.

operationId: Leads_searchLeads

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

fields query optional string

A comma-separated string array. The fields to perform the search from. Defaults to all of them.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

person_id query optional integer

Will filter leads by the provided person ID. The upper limit of found leads associated with the person is 2000.

organization_id query optional integer

Will filter leads by the provided organization ID. The upper limit of found leads associated with the organization is 2000.

include_fields query optional string

Supports including optional fields in the results which are not provided by default

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /leads/search
GET /leads/{id}

Returns details of a specific lead. If a lead contains custom fields, the fields’ values will be included in the response in the same format as with the Deals endpoints. If a custom field’s value hasn’t been set for the lead, it won’t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields’ structure from deals.

operationId: Leads_getDetails

Parameters

Name In Required Type Description
id path required string

The ID of the lead

Responses

200

Successful response containing payload in the data field

404

A resource describing an error

GET /leads/{id}
GET /leads/{id}/permittedUsers

Lists the users permitted to access a lead.

operationId: Leads_listPermittedUsers

Parameters

Name In Required Type Description
id path required string

The ID of the lead

Responses

200

Lists users permitted to access a lead

GET /leads/{id}/permittedUsers

Mailbox 4 endpoints

GET /mailbox/mailMessages/{id}

Returns data about a specific mail message.

operationId: Mailbox_getMailMessage

Parameters

Name In Required Type Description
id path required integer

The ID of the mail message to fetch

include_body query optional number

Whether to include the full message body or not. 0 = Don’t include, 1 = Include.

Responses

200

The mail messages that are being synced with Pipedrive

GET /mailbox/mailMessages/{id}
GET /mailbox/mailThreads

Returns mail threads in a specified folder ordered by the most recent message within.

operationId: Mailbox_getMailThreads

Parameters

Name In Required Type Description
folder query required string

The type of folder to fetch

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get mail threads

GET /mailbox/mailThreads
GET /mailbox/mailThreads/{id}

Returns a specific mail thread.

operationId: Mailbox_getMailThread

Parameters

Name In Required Type Description
id path required integer

The ID of the mail thread

Responses

200

Get mail threads

GET /mailbox/mailThreads/{id}
GET /mailbox/mailThreads/{id}/mailMessages

Returns all the mail messages inside a specified mail thread.

operationId: Mailbox_getAllMailMessages

Parameters

Name In Required Type Description
id path required integer

The ID of the mail thread

Responses

200

Get mail messages from thread

GET /mailbox/mailThreads/{id}/mailMessages

Notefields 1 endpoints

GET /noteFields

Returns data about all note fields.

operationId: NoteFields_getAllNoteFields

Responses

200

Success

GET /noteFields

Notes 4 endpoints

GET /notes

Returns all notes.

operationId: Notes_getAll

Parameters

Name In Required Type Description
user_id query optional integer

The ID of the user whose notes to fetch. If omitted, notes by all users will be returned.

lead_id query optional string

The ID of the lead which notes to fetch. If omitted, notes about all leads will be returned.

deal_id query optional integer

The ID of the deal which notes to fetch. If omitted, notes about all deals will be returned.

person_id query optional integer

The ID of the person whose notes to fetch. If omitted, notes about all persons will be returned.

org_id query optional integer

The ID of the organization which notes to fetch. If omitted, notes about all organizations will be returned.

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys). Supported fields: id, user_id, deal_id, person_id, org_id, content, add_time, update_time.

start_date query optional string

The date in format of YYYY-MM-DD from which notes to fetch

end_date query optional string

The date in format of YYYY-MM-DD until which notes to fetch to

pinned_to_lead_flag query optional number

If set, the results are filtered by note to lead pinning state

pinned_to_deal_flag query optional number

If set, the results are filtered by note to deal pinning state

pinned_to_organization_flag query optional number

If set, the results are filtered by note to organization pinning state

pinned_to_person_flag query optional number

If set, the results are filtered by note to person pinning state

Responses

200

Get all notes

GET /notes
GET /notes/{id}

Returns details about a specific note.

operationId: Notes_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the note

Responses

200

Add, update or get a note

GET /notes/{id}
GET /notes/{id}/comments

Returns all comments associated with a note.

operationId: Notes_getAllComments

Parameters

Name In Required Type Description
id path required integer

The ID of the note

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get all comments

GET /notes/{id}/comments
GET /notes/{id}/comments/{commentId}

Returns the details of a comment.

operationId: Notes_getCommentDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the note

commentId path required string

The ID of the comment

Responses

200

Add, update or get a comment

GET /notes/{id}/comments/{commentId}

Oauth 1 endpoints

GET /oauth/authorize

Authorize a user by redirecting them to the Pipedrive OAuth authorization page and request their permissions to act on their behalf. This step is necessary to implement only when you allow app installation outside of the Marketplace.

operationId: Oauth_requestAuthorization

Parameters

Name In Required Type Description
client_id query required string

The client ID provided to you by the Pipedrive Marketplace when you register your app

redirect_uri query required string

The callback URL you provided when you registered your app. Authorization code will be sent to that URL (if it matches with the value you entered in the registration form) if a user approves the app install. Or, if a customer declines, the corresponding error will also be sent to this URL.

state query optional string

You may pass any random string as the state parameter and the same string will be returned to your app after a user authorizes access. It may be used to store the user’s session ID from your app or distinguish different responses. Using state may increase security; see RFC-6749. The state parameter is not automatically available in Marketplace Manager. To enable it for your app, please write to us at marketplace.devs@pipedrive.com.

Responses

200

Authorize user in the app.

GET /oauth/authorize

Organizationfields 2 endpoints

GET /organizationFields

Returns data about all organization fields.

operationId: OrganizationFields_getAllFields

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /organizationFields
GET /organizationFields/{id}

Returns data about a specific organization field.

operationId: OrganizationFields_getSpecificField

Parameters

Name In Required Type Description
id path required integer

The ID of the field

Responses

200

Success

GET /organizationFields/{id}

Organizationrelationships 2 endpoints

GET /organizationRelationships

Gets all of the relationships for a supplied organization ID.

operationId: OrganizationRelationships_getAllRelationships

Parameters

Name In Required Type Description
org_id query required integer

The ID of the organization to get relationships for

Responses

200

Success

GET /organizationRelationships
GET /organizationRelationships/{id}

Finds and returns an organization relationship from its ID.

operationId: OrganizationRelationships_getById

Parameters

Name In Required Type Description
id path required integer

The ID of the organization relationship

org_id query optional integer

The ID of the base organization for the returned calculated values

Responses

200

Success

GET /organizationRelationships/{id}

Organizations 13 endpoints

GET /organizations

Returns all organizations.

operationId: Organizations_getAll

Parameters

Name In Required Type Description
user_id query optional integer

If supplied, only organizations owned by the given user will be returned. However, filter_id takes precedence over user_id when both are supplied.

filter_id query optional integer

The ID of the filter to use

first_char query optional string

If supplied, only organizations whose name starts with the specified letter will be returned (case-insensitive)

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

Responses

200

Success

GET /organizations
GET /organizations/collection

Returns all organizations. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.

operationId: Organizations_listAllOrganizations

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

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.

since query optional string

The time boundary that points to the start of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

until query optional string

The time boundary that points to the end of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

owner_id query optional integer

If supplied, only organizations owned by the given user will be returned

first_char query optional string

If supplied, only organizations whose name starts with the specified letter will be returned (case-insensitive)

Responses

200

Success

403

Forbidden response

GET /organizations/collection
GET /organizations/search

Searches all organizations by name, address, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.

operationId: Organizations_searchByCriteria

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

fields query optional string

A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /organizations/search
GET /organizations/{id}

Returns the details of an organization. Note that this also returns some additional fields which are not present when asking for all organizations. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of organizationFields.

operationId: Organizations_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

Responses

200

Success

GET /organizations/{id}
GET /organizations/{id}/activities

Lists activities associated with an organization.

operationId: Organizations_listActivities

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

start query optional integer

Pagination start

limit query optional integer

Items shown per page

done query optional number

Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted returns both Done and Not done activities.

exclude query optional string

A comma-separated string of activity IDs to exclude from result

Responses

200

Success

GET /organizations/{id}/activities
GET /organizations/{id}/changelog

Lists updates about field values of an organization.

operationId: Organizations_listFieldUpdates

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

Items shown per page

Responses

200

Get changelog of an organization

GET /organizations/{id}/changelog
GET /organizations/{id}/deals

Lists deals associated with an organization.

operationId: Organizations_listDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

start query optional integer

Pagination start

limit query optional integer

Items shown per page

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

only_primary_association query optional number

If set, only deals that are directly associated to the organization are fetched. If not set (default), all deals are fetched that are either directly or indirectly related to the organization. Indirect relations include relations through custom, organization-type fields and through persons of the given organization.

Responses

200

Success

GET /organizations/{id}/deals
GET /organizations/{id}/files

Lists files associated with an organization.

operationId: Organizations_listAttachedFiles

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys). Supported fields: id, user_id, deal_id, person_id, org_id, product_id, add_time, update_time, file_name, file_type, file_size, comment.

Responses

200

Success

GET /organizations/{id}/files
GET /organizations/{id}/flow

Lists updates about an organization.

operationId: Organizations_listUpdatesAbout

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

start query optional integer

Pagination start

limit query optional integer

Items shown per page

all_changes query optional string

Whether to show custom field updates or not. 1 = Include custom field changes. If omitted, returns changes without custom field updates.

items query optional string

A comma-separated string for filtering out item specific updates. (Possible values - activity, plannedActivity, note, file, change, deal, follower, participant, mailMessage, mailMessageWithAttachment, invoice, activityFile, document).

Responses

200

Get the organization updates

GET /organizations/{id}/flow
GET /organizations/{id}/followers

Lists the followers of an organization.

operationId: Organizations_listFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

Responses

200

Success

GET /organizations/{id}/followers
GET /organizations/{id}/mailMessages

Lists mail messages associated with an organization.

operationId: Organizations_listMailMessages

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /organizations/{id}/mailMessages
GET /organizations/{id}/permittedUsers

List users permitted to access an organization.

operationId: Organizations_listPermittedUsers

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

Responses

200

Success

GET /organizations/{id}/permittedUsers
GET /organizations/{id}/persons

Lists persons associated with an organization.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: Organizations_listPersons

Parameters

Name In Required Type Description
id path required integer

The ID of the organization

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /organizations/{id}/persons

Permissionsets 3 endpoints

GET /permissionSets

Returns data about all permission sets.

operationId: PermissionSets_getAll

Parameters

Name In Required Type Description
app query optional string

The app to filter the permission sets by

Responses

200

Get all permissions

GET /permissionSets
GET /permissionSets/{id}

Returns data about a specific permission set.

operationId: PermissionSets_getOne

Parameters

Name In Required Type Description
id path required string

The ID of the permission set

Responses

200

The permission set of a specific user ID

404

If the user ID has no assignments, then it will return NotFound

GET /permissionSets/{id}
GET /permissionSets/{id}/assignments

Returns the list of assignments for a permission set.

operationId: PermissionSets_listAssignments

Parameters

Name In Required Type Description
id path required string

The ID of the permission set

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

The assignments of a specific user ID

404

If the user ID has no assignments, then it will return NotFound

GET /permissionSets/{id}/assignments

Personfields 2 endpoints

GET /personFields

Returns data about all person fields.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: PersonFields_getAllFields

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /personFields
GET /personFields/{id}

Returns data about a specific person field.

operationId: PersonFields_getSpecificField

Parameters

Name In Required Type Description
id path required integer

The ID of the field

Responses

200

Success

GET /personFields/{id}

Persons 13 endpoints

GET /persons

Returns all persons.

operationId: Persons_listAllPersons

Parameters

Name In Required Type Description
user_id query optional integer

If supplied, only persons owned by the given user will be returned. However, filter_id takes precedence over user_id when both are supplied.

filter_id query optional integer

The ID of the filter to use

first_char query optional string

If supplied, only persons whose name starts with the specified letter will be returned (case-insensitive)

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

Responses

200

Success

GET /persons
GET /persons/collection

Returns all persons. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.

operationId: Persons_getAll

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

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.

since query optional string

The time boundary that points to the start of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

until query optional string

The time boundary that points to the end of the range of data. Datetime in ISO 8601 format. E.g. 2022-11-01 08:55:59. Operates on the update_time field.

owner_id query optional integer

If supplied, only persons owned by the given user will be returned

first_char query optional string

If supplied, only persons whose name starts with the specified letter will be returned (case-insensitive)

Responses

200

Success

403

Forbidden response

GET /persons/collection
GET /persons/search

Searches all persons by name, email, phone, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found persons can be filtered by organization ID.

operationId: Persons_searchByCriteria

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

fields query optional string

A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

organization_id query optional integer

Will filter persons by the provided organization ID. The upper limit of found persons associated with the organization is 2000.

include_fields query optional string

Supports including optional fields in the results which are not provided by default

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /persons/search
GET /persons/{id}

Returns the details of a person. Note that this also returns some additional fields which are not present when asking for all persons. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of personFields.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.

operationId: Persons_getPersonDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

GET /persons/{id}
GET /persons/{id}/activities

Lists activities associated with a person.

operationId: Persons_listActivities

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

done query optional number

Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted, returns both Done and Not done activities.

exclude query optional string

A comma-separated string of activity IDs to exclude from result

Responses

200

Success

GET /persons/{id}/activities
GET /persons/{id}/changelog

Lists updates about field values of a person.

operationId: Persons_listChangelog

Parameters

Name In Required Type Description
id path required integer

The ID of the person

cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

Items shown per page

Responses

200

Get changelog of a person

GET /persons/{id}/changelog
GET /persons/{id}/deals

Lists deals associated with a person.

operationId: Persons_listDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).

Responses

200

Success

GET /persons/{id}/deals
GET /persons/{id}/files

Lists files associated with a person.

operationId: Persons_listPersonFiles

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys). Supported fields: id, user_id, deal_id, person_id, org_id, product_id, add_time, update_time, file_name, file_type, file_size, comment.

Responses

200

Success

GET /persons/{id}/files
GET /persons/{id}/flow

Lists updates about a person.
If a company uses the Campaigns product, then this endpoint’s response will also include updates for the marketing_status field.

operationId: Persons_listUpdatesAbout

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

all_changes query optional string

Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates.

items query optional string

A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change).

Responses

200

Get the person updates

GET /persons/{id}/flow
GET /persons/{id}/followers

Lists the followers of a person.

operationId: Persons_listFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

GET /persons/{id}/followers
GET /persons/{id}/mailMessages

Lists mail messages associated with a person.

operationId: Persons_listMailMessages

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /persons/{id}/mailMessages
GET /persons/{id}/permittedUsers

List users permitted to access a person.

operationId: Persons_listPermittedUsers

Parameters

Name In Required Type Description
id path required integer

The ID of the person

Responses

200

Success

GET /persons/{id}/permittedUsers
GET /persons/{id}/products

Lists products associated with a person.

operationId: Persons_listProducts

Parameters

Name In Required Type Description
id path required integer

The ID of the person

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Success

GET /persons/{id}/products

Pipelines 5 endpoints

GET /pipelines

Returns data about all pipelines.

operationId: Pipelines_getAll

Responses

200

Get all pipelines

GET /pipelines
GET /pipelines/{id}

Returns data about a specific pipeline. Also returns the summary of the deals in this pipeline across its stages.

operationId: Pipelines_getOnePipelineSummary

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

totals_convert_currency query optional string

The 3-letter currency code of any of the supported currencies. When supplied, per_stages_converted is returned in deals_summary which contains the currency-converted total amounts in the given currency per each stage. You may also set this parameter to default_currency in which case users default currency is used.

Responses

200

Get pipeline

GET /pipelines/{id}
GET /pipelines/{id}/conversion_statistics

Returns all stage-to-stage conversion and pipeline-to-close rates for the given time period.

operationId: Pipelines_getConversionStatistics

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

start_date query required string

The start of the period. Date in format of YYYY-MM-DD.

end_date query required string

The end of the period. Date in format of YYYY-MM-DD.

user_id query optional integer

The ID of the user who’s pipeline metrics statistics to fetch. If omitted, the authorized user will be used.

Responses

200

Get pipeline deals conversion rates

GET /pipelines/{id}/conversion_statistics
GET /pipelines/{id}/deals

Lists deals in a specific pipeline across all its stages.

operationId: Pipelines_listDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

filter_id query optional integer

If supplied, only deals matching the given filter will be returned

user_id query optional integer

If supplied, filter_id will not be considered and only deals owned by the given user will be returned. If omitted, deals owned by the authorized user will be returned.

everyone query optional number

If supplied, filter_id and user_id will not be considered – instead, deals owned by everyone will be returned

stage_id query optional integer

If supplied, only deals within the given stage will be returned

start query optional integer

Pagination start

limit query optional integer

Items shown per page

get_summary query optional number

Whether to include a summary of the pipeline in the additional_data or not

totals_convert_currency query optional string

The 3-letter currency code of any of the supported currencies. When supplied, per_stages_converted is returned inside deals_summary inside additional_data which contains the currency-converted total amounts in the given currency per each stage. You may also set this parameter to default_currency in which case users default currency is used. Only works when get_summary parameter flag is enabled.

Responses

200

Get deals in a stage

GET /pipelines/{id}/deals
GET /pipelines/{id}/movement_statistics

Returns statistics for deals movements for the given time period.

operationId: Pipelines_getMovementStatistics

Parameters

Name In Required Type Description
id path required integer

The ID of the pipeline

start_date query required string

The start of the period. Date in format of YYYY-MM-DD.

end_date query required string

The end of the period. Date in format of YYYY-MM-DD.

user_id query optional integer

The ID of the user who’s pipeline statistics to fetch. If omitted, the authorized user will be used.

Responses

200

Get pipeline deals conversion rates

GET /pipelines/{id}/movement_statistics

Productfields 2 endpoints

GET /productFields

Returns data about all product fields.

operationId: ProductFields_getAllFields

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get data about all product fields

GET /productFields
GET /productFields/{id}

Returns data about a specific product field.

operationId: ProductFields_getOneField

Parameters

Name In Required Type Description
id path required integer

The ID of the product field

Responses

200

Get the data for a single product field

410

The product field with the specified ID does not exist or is inaccessible

GET /productFields/{id}

Products 7 endpoints

GET /products

Returns data about all products.

operationId: Products_getAllProducts

Parameters

Name In Required Type Description
user_id query optional integer

If supplied, only products owned by the given user will be returned

filter_id query optional integer

The ID of the filter to use

ids query optional array

An array of integers with the IDs of the products that should be returned in the response

first_char query optional string

If supplied, only products whose name starts with the specified letter will be returned (case-insensitive)

get_summary query optional boolean

If supplied, the response will return the total numbers of products in the additional_data.summary.total_count property

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

List of products

GET /products
GET /products/search

Searches all products by name, code and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.

operationId: Products_searchByFields

Parameters

Name In Required Type Description
term query required string

The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

fields query optional string

A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

exact_match query optional boolean

When enabled, only full exact matches against the given term are returned. It is not case sensitive.

include_fields query optional string

Supports including optional fields in the results which are not provided by default

start query optional integer

Pagination start. Note that the pagination is based on main results and does not include related items when using search_for_related_items parameter.

limit query optional integer

Items shown per page

Responses

200

Success

GET /products/search
GET /products/{id}

Returns data about a specific product.

operationId: Products_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the product

Responses

200

Get product information by id

GET /products/{id}
GET /products/{id}/deals

Returns data about deals that have a product attached to it.

operationId: Products_getDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the product

start query optional integer

Pagination start

limit query optional integer

Items shown per page

status query optional string

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

Responses

200

The data of deals that have a product attached

GET /products/{id}/deals
GET /products/{id}/files

Lists files associated with a product.

operationId: Products_listProductFiles

Parameters

Name In Required Type Description
id path required integer

The ID of the product

start query optional integer

Pagination start

limit query optional integer

Items shown per page

sort query optional string

The field name and sorting mode (field_name_1 ASC or field_name_1 DESC). Supported fields: update_time, id.

Responses

200

Success

GET /products/{id}/files
GET /products/{id}/followers

Lists the followers of a product.

operationId: Products_listProductFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the product

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Lists the followers of a product

GET /products/{id}/followers
GET /products/{id}/permittedUsers

Lists users permitted to access a product.

operationId: Products_listPermittedUsers

Parameters

Name In Required Type Description
id path required integer

The ID of the product

Responses

200

Lists users permitted to access a product

GET /products/{id}/permittedUsers

Projecttemplates 4 endpoints

GET /projectTemplates

Returns all not deleted project templates. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.

operationId: ProjectTemplates_getAllTemplates

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

For pagination, the limit of entries to be returned. If not provided, up to 500 items will be returned.

Responses

200

A list of project template.

GET /projectTemplates
GET /projectTemplates/{id}

Returns the details of a specific project template.

operationId: ProjectTemplates_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the project template

Responses

200

Get a project template.

GET /projectTemplates/{id}
GET /projects/boards/{id}

Returns the details of a specific project board.

operationId: ProjectTemplates_getBoardDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the project board

Responses

200

Get a project board.

GET /projects/boards/{id}
GET /projects/phases/{id}

Returns the details of a specific project phase.

operationId: ProjectTemplates_getPhaseDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the project phase

Responses

200

Get a project phase.

GET /projects/phases/{id}

Projects 8 endpoints

GET /projects

Returns all projects. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.

operationId: Projects_getAllProjects

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

For pagination, the limit of entries to be returned. If not provided, 100 items will be returned.

filter_id query optional integer

The ID of the filter to use

status query optional string

If supplied, includes only projects with the specified statuses. Possible values are open, completed, canceled and deleted. By default deleted projects are not returned.

phase_id query optional integer

If supplied, only projects in specified phase are returned

include_archived query optional boolean

If supplied with true then archived projects are also included in the response. By default only not archived projects are returned.

Responses

200

A list of projects.

GET /projects
GET /projects/boards

Returns all projects boards that are not deleted.

operationId: Projects_getAllBoards

Responses

200

A list of project board.

GET /projects/boards
GET /projects/phases

Returns all active project phases under a specific board.

operationId: Projects_getPhases

Parameters

Name In Required Type Description
board_id query required integer

ID of the board for which phases are requested

Responses

200

A list of project phases.

GET /projects/phases
GET /projects/{id}

Returns the details of a specific project. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of project fields.

operationId: Projects_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the project

Responses

200

Get a project.

GET /projects/{id}
GET /projects/{id}/activities

Returns activities linked to a specific project.

operationId: Projects_getProjectActivities

Parameters

Name In Required Type Description
id path required integer

The ID of the project

Responses

200

A list of activities

GET /projects/{id}/activities
GET /projects/{id}/groups

Returns all active groups under a specific project.

operationId: Projects_getGroups

Parameters

Name In Required Type Description
id path required integer

The ID of the project

Responses

200

Get a project groups.

GET /projects/{id}/groups
GET /projects/{id}/plan

Returns information about items in a project plan. Items consists of tasks and activities and are linked to specific project phase and group.

operationId: Projects_getProjectPlan

Parameters

Name In Required Type Description
id path required integer

The ID of the project

Responses

200

Get a project plan.

GET /projects/{id}/plan
GET /projects/{id}/tasks

Returns tasks linked to a specific project.

operationId: Projects_getProjectTasks

Parameters

Name In Required Type Description
id path required integer

The ID of the project

Responses

200

A list of tasks.

GET /projects/{id}/tasks

Recents 1 endpoints

GET /recents

Returns data about all recent changes occurred after the given timestamp.

operationId: Recents_getChangesAfter

Parameters

Name In Required Type Description
since_timestamp query required string

The timestamp in UTC. Format: YYYY-MM-DD HH:MM:SS.

items query optional string

Multiple selection of item types to include in the query (optional)

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

List of items changed since “since_timestamp”

GET /recents

Roles 5 endpoints

GET /roles

Returns all the roles within the company.

operationId: Roles_getAllRoles

Parameters

Name In Required Type Description
start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get all roles

GET /roles
GET /roles/{id}

Returns the details of a specific role.

operationId: Roles_getOneRole

Parameters

Name In Required Type Description
id path required integer

The ID of the role

Responses

200

Get one role

GET /roles/{id}
GET /roles/{id}/assignments

Returns all users assigned to a role.

operationId: Roles_listRoleAssignments

Parameters

Name In Required Type Description
id path required integer

The ID of the role

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

List assignments for a role

GET /roles/{id}/assignments
GET /roles/{id}/pipelines

Returns the list of either visible or hidden pipeline IDs for a specific role. For more information on pipeline visibility, please refer to the Visibility groups article.

operationId: Roles_listPipelineVisibility

Parameters

Name In Required Type Description
id path required integer

The ID of the role

visible query optional boolean

Whether to return the visible or hidden pipelines for the role

Responses

200

Get either visible or hidden pipeline ids for a role

GET /roles/{id}/pipelines
GET /roles/{id}/settings

Returns the visibility settings of a specific role.

operationId: Roles_getRoleSettings

Parameters

Name In Required Type Description
id path required integer

The ID of the role

Responses

200

List role settings

GET /roles/{id}/settings

Stages 3 endpoints

GET /stages

Returns data about all stages.

operationId: Stages_getAll

Parameters

Name In Required Type Description
pipeline_id query optional integer

The ID of the pipeline to fetch stages for. If omitted, stages for all pipelines will be fetched.

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get all stages

GET /stages
GET /stages/{id}

Returns data about a specific stage.

operationId: Stages_getOneStage

Parameters

Name In Required Type Description
id path required integer

The ID of the stage

everyone query optional number

If everyone=1 is provided, deals summary will return deals owned by every user

Responses

200

Get stage

GET /stages/{id}
GET /stages/{id}/deals

Lists deals in a specific stage.

operationId: Stages_getStageDeals

Parameters

Name In Required Type Description
id path required integer

The ID of the stage

filter_id query optional integer

If supplied, only deals matching the given filter will be returned

user_id query optional integer

If supplied, filter_id will not be considered and only deals owned by the given user will be returned. If omitted, deals owned by the authorized user will be returned.

everyone query optional number

If supplied, filter_id and user_id will not be considered – instead, deals owned by everyone will be returned

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

Get deals in a stage

GET /stages/{id}/deals

Subscriptions 3 endpoints

GET /subscriptions/find/{dealId}

Returns details of an installment or a recurring subscription by the deal ID.

operationId: Subscriptions_findByDealId

Parameters

Name In Required Type Description
dealId path required integer

The ID of the deal

Responses

200

Success

GET /subscriptions/find/{dealId}
GET /subscriptions/{id}

Returns details of an installment or a recurring subscription.

operationId: Subscriptions_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the subscription

Responses

200

Success

GET /subscriptions/{id}
GET /subscriptions/{id}/payments

Returns all payments of an installment or recurring subscription.

operationId: Subscriptions_getPayments

Parameters

Name In Required Type Description
id path required integer

The ID of the subscription

Responses

200

Success

GET /subscriptions/{id}/payments

Tasks 2 endpoints

GET /tasks

Returns all tasks. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.

operationId: Tasks_listAllTasks

Parameters

Name In Required Type Description
cursor query optional string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit query optional integer

For pagination, the limit of entries to be returned. If not provided, up to 500 items will be returned.

assignee_id query optional integer

If supplied, only tasks that are assigned to this user are returned

project_id query optional integer

If supplied, only tasks that are assigned to this project are returned

parent_task_id query optional integer

If null is supplied then only parent tasks are returned. If integer is supplied then only subtasks of a specific task are returned. By default all tasks are returned.

done query optional number

Whether the task is done or not. 0 = Not done, 1 = Done. If not omitted then returns both done and not done tasks.

Responses

200

A list of tasks.

GET /tasks
GET /tasks/{id}

Returns the details of a specific task.

operationId: Tasks_getDetails

Parameters

Name In Required Type Description
id path required integer

The ID of the task

Responses

200

Get a task.

GET /tasks/{id}

Userconnections 1 endpoints

GET /userConnections

Returns data about all connections for the authorized user.

operationId: UserConnections_getAllConnections

Responses

200

The data of user connections

401

Unauthorized response

GET /userConnections

Usersettings 1 endpoints

GET /userSettings

Lists the settings of an authorized user. Example response contains a shortened list of settings.

operationId: UserSettings_listAuthorizedSettings

Responses

200

The list of user settings

401

Unauthorized response

GET /userSettings

Users 8 endpoints

GET /users

Returns data about all users within the company.

operationId: Users_getAll

Responses

200

The list of user objects

GET /users
GET /users/find

Finds users by their name.

operationId: Users_findByName

Parameters

Name In Required Type Description
term query required string

The search term to look for

search_by_email query optional number

When enabled, the term will only be matched against email addresses of users. Default: false.

Responses

200

The list of user objects

GET /users/find
GET /users/me

Returns data about an authorized user within the company with bound company data: company ID, company name, and domain. Note that the locale property means ‘Date/number format’ in the Pipedrive account settings, not the chosen language.

operationId: Users_getCurrentUserData

Responses

200

The data of the logged in user

401

Unauthorized response

GET /users/me
GET /users/{id}

Returns data about a specific user within the company.

operationId: Users_getUser

Parameters

Name In Required Type Description
id path required integer

The ID of the user

Responses

200

The data of the user

404

User with specified ID does not exist or is inaccessible

GET /users/{id}
GET /users/{id}/followers

Lists the followers of a specific user.

operationId: Users_listFollowers

Parameters

Name In Required Type Description
id path required integer

The ID of the user

Responses

200

The list of user IDs

403

Forbidden response

GET /users/{id}/followers
GET /users/{id}/permissions

Lists aggregated permissions over all assigned permission sets for a user.

operationId: Users_listPermissions

Parameters

Name In Required Type Description
id path required integer

The ID of the user

Responses

200

The list of user permissions

GET /users/{id}/permissions
GET /users/{id}/roleAssignments

Lists role assignments for a user.

operationId: Users_listRoleAssignments

Parameters

Name In Required Type Description
id path required integer

The ID of the user

start query optional integer

Pagination start

limit query optional integer

Items shown per page

Responses

200

List assignments for a role

GET /users/{id}/roleAssignments
GET /users/{id}/roleSettings

Lists the settings of user’s assigned role.

operationId: Users_listRoleSettings

Parameters

Name In Required Type Description
id path required integer

The ID of the user

Responses

200

List role settings

GET /users/{id}/roleSettings

Webhooks 1 endpoints

GET /webhooks

Returns data about all the Webhooks of a company.

operationId: Webhooks_getAll

Responses

200

The list of webhooks objects from the logged in company and user

401

Unauthorized response

GET /webhooks

Schemas

object ActivitiesAddNewActivityRequest
{
  "allOf": [
    {
      "type": "object",
      "properties": {
        "org_id": {
          "type": "integer",
          "description": "The ID of the organization this activity is associated with"
        },
        "deal_id": {
          "type": "integer",
          "description": "The ID of the deal this activity is associated with"
        },
        "lead_id": {
          "type": "string",
          "format": "uuid",
          "nullable": true,
          "description": "The ID of the lead in the UUID format this activity is associated with"
        },
        "due_date": {
          "type": "string",
          "format": "date",
          "description": "The due date of the activity. Format: YYYY-MM-DD"
        },
        "due_time": {
          "type": "string",
          "description": "The due time of the activity in UTC. Format: HH:MM"
        },
        "duration": {
          "type": "string",
          "description": "The duration of the activity. Format: HH:MM"
        },
        "location": {
          "type": "string",
          "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
        },
        "person_id": {
          "type": "integer",
          "description": "The ID of the person this activity is associated with"
        },
        "project_id": {
          "type": "integer",
          "nullable": true,
          "description": "The ID of the project this activity is associated with"
        },
        "public_description": {
          "type": "string",
          "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "done": {
          "allOf": [
            {
              "enum": [
                0,
                1
              ],
              "type": "number",
              "title": "numberBoolean"
            }
          ],
          "description": "Whether the activity is done or not. 0 = Not done, 1 = Done"
        },
        "note": {
          "type": "string",
          "description": "The note of the activity (HTML format)"
        },
        "type": {
          "type": "string",
          "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes. When value for type is not set, it will be given a default value `Call`."
        },
        "subject": {
          "type": "string",
          "description": "The subject of the activity. When value for subject is not set, it will be given a default value `Call`."
        },
        "user_id": {
          "type": "integer",
          "description": "The ID of the user whom the activity is assigned to. If omitted, the activity is assigned to the authorized user."
        },
        "attendees": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address. It requires a structure as follows: `[{\"email_address\":\"mail@example.org\"}]` or `[{\"person_id\":1, \"email_address\":\"mail@example.org\"}]`"
        },
        "busy_flag": {
          "type": "boolean",
          "description": "Set the activity as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset by never setting it or overriding it with `null`. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
        },
        "participants": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "List of multiple persons (participants) this activity is associated with. If omitted, single participant from `person_id` field is used. It requires a structure as follows: `[{\"person_id\":1,\"primary_flag\":true}]`"
        }
      }
    }
  ],
  "title": "addActivityRequest"
}
object ActivitiesAddNewActivityResponse
{
  "type": "object",
  "title": "addActivityResponse200",
  "properties": {
    "data": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "org_id": {
              "type": "integer",
              "description": "The ID of the organization this activity is associated with"
            },
            "deal_id": {
              "type": "integer",
              "description": "The ID of the deal this activity is associated with"
            },
            "lead_id": {
              "type": "string",
              "format": "uuid",
              "nullable": true,
              "description": "The ID of the lead in the UUID format this activity is associated with"
            },
            "due_date": {
              "type": "string",
              "format": "date",
              "description": "The due date of the activity. Format: YYYY-MM-DD"
            },
            "due_time": {
              "type": "string",
              "description": "The due time of the activity in UTC. Format: HH:MM"
            },
            "duration": {
              "type": "string",
              "description": "The duration of the activity. Format: HH:MM"
            },
            "location": {
              "type": "string",
              "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
            },
            "person_id": {
              "type": "integer",
              "description": "The ID of the person this activity is associated with"
            },
            "project_id": {
              "type": "integer",
              "nullable": true,
              "description": "The ID of the project this activity is associated with"
            },
            "public_description": {
              "type": "string",
              "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The ID of the activity, generated when the activity was created"
            },
            "done": {
              "type": "boolean",
              "description": "Whether the activity is done or not"
            },
            "file": {
              "type": "object",
              "description": "The file that is attached to this activity. For example, this can be a reference to an audio note file generated with Pipedrive mobile app."
            },
            "note": {
              "type": "string",
              "description": "The note of the activity (HTML format)"
            },
            "type": {
              "type": "string",
              "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes."
            },
            "series": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": "The list of recurring activity instances. It is in a structure as follows: `[{due_date: \"2020-06-24\", due_time: \"10:00:00\"}]`"
            },
            "subject": {
              "type": "string",
              "description": "The subject of the activity"
            },
            "user_id": {
              "type": "integer",
              "description": "The ID of the user whom the activity is assigned to"
            },
            "add_time": {
              "type": "string",
              "description": "The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "org_name": {
              "type": "string",
              "description": "The name of the organization this activity is associated with"
            },
            "rec_rule": {
              "type": "string",
              "description": "The rule for the recurrence of the activity. Is important for activities synced into Pipedrive from an external calendar. Example: \"RRULE:FREQ=WEEKLY;BYDAY=WE\""
            },
            "attendees": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "nullable": true,
              "description": "The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address."
            },
            "busy_flag": {
              "type": "boolean",
              "description": "Marks if the activity is set as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
            },
            "company_id": {
              "type": "integer",
              "description": "The user's company ID"
            },
            "deal_title": {
              "type": "string",
              "description": "The name of the deal this activity is associated with"
            },
            "owner_name": {
              "type": "string",
              "description": "The name of the user this activity is owned by"
            },
            "active_flag": {
              "type": "boolean",
              "description": "Whether the activity is active or not"
            },
            "person_name": {
              "type": "string",
              "description": "The name of the person this activity is associated with"
            },
            "update_time": {
              "type": "string",
              "description": "The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS."
            },
            "participants": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "nullable": true,
              "description": "List of multiple persons (participants) this activity is associated with"
            },
            "reference_id": {
              "type": "integer",
              "description": "Together with the `reference_type`, gives the ID of the other object"
            },
            "gcal_event_id": {
              "type": "string",
              "description": "For the activity which syncs to Google calendar, this is the Google event ID. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "location_route": {
              "type": "string",
              "description": "A subfield of the location field. Indicates street name."
            },
            "reference_type": {
              "type": "string",
              "description": "If the activity references some other object, it is indicated here. For example, value `Salesphone` refers to activities created with Caller."
            },
            "update_user_id": {
              "type": "integer",
              "description": "The ID of the user who was the last to update this activity"
            },
            "source_timezone": {
              "type": "string",
              "description": "The timezone the activity was created in an external calendar"
            },
            "deal_dropbox_bcc": {
              "type": "string",
              "description": "The BCC email address of the deal"
            },
            "location_country": {
              "type": "string",
              "description": "A subfield of the location field. Indicates country."
            },
            "location_locality": {
              "type": "string",
              "description": "A subfield of the location field. Indicates city/town/village/locality."
            },
            "created_by_user_id": {
              "type": "integer",
              "description": "The ID of the user who created the activity"
            },
            "google_calendar_id": {
              "type": "string",
              "description": "The Google calendar ID that this activity syncs to. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "person_dropbox_bcc": {
              "type": "string",
              "description": "The BCC email address of the person"
            },
            "rec_rule_extension": {
              "type": "string",
              "description": "Additional rules for the recurrence of the activity, extend the `rec_rule`. Is important for activities synced into Pipedrive from an external calendar."
            },
            "assigned_to_user_id": {
              "type": "integer",
              "description": "The ID of the user to whom the activity is assigned to. Equal to `user_id`."
            },
            "location_subpremise": {
              "type": "string",
              "description": "A subfield of the location field. Indicates apartment/suite number."
            },
            "marked_as_done_time": {
              "type": "string",
              "description": "The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS."
            },
            "google_calendar_etag": {
              "type": "string",
              "description": "The Google calendar API etag (version) that is used for syncing this activity. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "location_postal_code": {
              "type": "string",
              "description": "A subfield of the location field. Indicates ZIP/postal code."
            },
            "location_sublocality": {
              "type": "string",
              "description": "A subfield of the location field. Indicates district/sublocality."
            },
            "conference_meeting_id": {
              "type": "string",
              "description": "The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity"
            },
            "conference_meeting_url": {
              "type": "string",
              "description": "The link to join the meeting which is associated with this activity"
            },
            "last_notification_time": {
              "type": "string",
              "description": "The date and time of latest notifications sent about this activity to the participants or the attendees of this activity"
            },
            "location_street_number": {
              "type": "string",
              "description": "A subfield of the location field. Indicates house number."
            },
            "rec_master_activity_id": {
              "type": "integer",
              "description": "The ID of parent activity for a recurrent activity if the current activity is an exception to recurrence rules"
            },
            "notification_language_id": {
              "type": "integer",
              "description": "The ID of the language the notifications are sent in"
            },
            "conference_meeting_client": {
              "type": "string",
              "description": "The ID of the Marketplace app, which is connected to this activity"
            },
            "last_notification_user_id": {
              "type": "integer",
              "description": "The ID of the user who triggered the sending of the latest notifications about this activity to the participants or the attendees of this activity"
            },
            "location_formatted_address": {
              "type": "string",
              "description": "A subfield of the location field. Indicates full/combined address."
            },
            "location_admin_area_level_1": {
              "type": "string",
              "description": "A subfield of the location field. Indicates state/county."
            },
            "location_admin_area_level_2": {
              "type": "string",
              "description": "A subfield of the location field. Indicates region."
            },
            "calendar_sync_include_context": {
              "type": "string",
              "description": "For activities that sync to an external calendar, this setting indicates if the activity syncs with context (what are the deals, persons, organizations this activity is related to)"
            }
          }
        }
      ],
      "title": "activityResponseObject"
    },
    "success": {
      "type": "boolean"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "updates_story_id": {
          "type": "integer",
          "description": "This field will be deprecated"
        }
      }
    },
    "related_objects": {
      "type": "object",
      "properties": {
        "deal": {
          "type": "object",
          "properties": {
            "DEAL_ID": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The ID of the deal associated with the item"
                },
                "title": {
                  "type": "string",
                  "description": "The title of the deal associated with the item"
                },
                "value": {
                  "type": "number",
                  "description": "The value of the deal that is associated with the item"
                },
                "status": {
                  "type": "string",
                  "description": "The status of the deal associated with the item"
                },
                "currency": {
                  "type": "string",
                  "description": "The currency of the deal value"
                },
                "stage_id": {
                  "type": "integer",
                  "description": "The ID of the stage the deal is currently at"
                },
                "pipeline_id": {
                  "type": "integer",
                  "description": "The ID of the pipeline the deal is in"
                }
              },
              "description": "The ID of the deal which is associated with the item"
            }
          }
        },
        "user": {
          "type": "object",
          "properties": {
            "USER_ID": {
              "type": "object",
              "allOf": [
                {
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the user"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the user"
                    },
                    "email": {
                      "type": "string",
                      "description": "The email of the user"
                    },
                    "has_pic": {
                      "type": "integer",
                      "description": "Whether the user has picture or not. 0 = No picture, 1 = Has picture."
                    },
                    "pic_hash": {
                      "type": "string",
                      "nullable": true,
                      "description": "The user picture hash"
                    },
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the user is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "description": "The ID of the user"
                }
              ],
              "title": "userDataWithId"
            }
          }
        },
        "person": {
          "type": "object",
          "properties": {
            "PERSON_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the associated person is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the person associated with the item"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the person associated with the item"
                    },
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the email"
                          },
                          "value": {
                            "type": "string",
                            "description": "The email of the associated person"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary email or not"
                          }
                        }
                      },
                      "description": "The emails of the person associated with the item"
                    },
                    "phone": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the phone number"
                          },
                          "value": {
                            "type": "string",
                            "description": "The phone number of the person associated with the item"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary phone number or not"
                          }
                        }
                      },
                      "description": "The phone numbers of the person associated with the item"
                    },
                    "owner_id": {
                      "type": "integer",
                      "description": "The ID of the owner of the person that is associated with the item"
                    }
                  }
                }
              ],
              "description": "The ID of the person associated with the item"
            }
          }
        },
        "organization": {
          "type": "object",
          "properties": {
            "ORGANIZATION_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the associated organization is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "The ID of the organization associated with the item"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name of the organization associated with the item"
                        },
                        "address": {
                          "type": "string",
                          "description": "The address of the organization"
                        },
                        "cc_email": {
                          "type": "string",
                          "description": "The BCC email of the organization associated with the item"
                        },
                        "owner_id": {
                          "type": "integer",
                          "description": "The ID of the owner of the organization that is associated with the item"
                        },
                        "people_count": {
                          "type": "integer",
                          "description": "The number of people connected with the organization that is associated with the item"
                        }
                      }
                    }
                  ],
                  "description": "The ID of the organization associated with the item"
                }
              ],
              "description": "The ID of the organization associated with the item"
            }
          }
        }
      }
    }
  }
}
object ActivitiesDeleteBulkResponse
{
  "type": "object",
  "title": "deleteActivitiesResponse200",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "An array of the IDs of activities that were deleted"
        }
      }
    },
    "success": {
      "type": "boolean"
    }
  }
}
object ActivitiesGetAllActivities403Response
{
  "type": "object",
  "title": "failResponse",
  "properties": {
    "error": {
      "type": "string",
      "description": "The error message"
    },
    "success": {
      "type": "boolean",
      "description": "If the response is successful or not"
    }
  }
}
object ActivitiesGetAllActivitiesResponse
{
  "type": "object",
  "title": "getActivitiesCollectionResponse200",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "org_id": {
                "type": "integer",
                "description": "The ID of the organization this activity is associated with"
              },
              "deal_id": {
                "type": "integer",
                "description": "The ID of the deal this activity is associated with"
              },
              "lead_id": {
                "type": "string",
                "format": "uuid",
                "nullable": true,
                "description": "The ID of the lead in the UUID format this activity is associated with"
              },
              "due_date": {
                "type": "string",
                "format": "date",
                "description": "The due date of the activity. Format: YYYY-MM-DD"
              },
              "due_time": {
                "type": "string",
                "description": "The due time of the activity in UTC. Format: HH:MM"
              },
              "duration": {
                "type": "string",
                "description": "The duration of the activity. Format: HH:MM"
              },
              "location": {
                "type": "string",
                "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
              },
              "person_id": {
                "type": "integer",
                "description": "The ID of the person this activity is associated with"
              },
              "project_id": {
                "type": "integer",
                "nullable": true,
                "description": "The ID of the project this activity is associated with"
              },
              "public_description": {
                "type": "string",
                "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
              }
            }
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The ID of the activity, generated when the activity was created"
              },
              "done": {
                "type": "boolean",
                "description": "Whether the activity is done or not"
              },
              "type": {
                "type": "string",
                "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes."
              },
              "subject": {
                "type": "string",
                "description": "The subject of the activity"
              },
              "user_id": {
                "type": "integer",
                "description": "The ID of the user whom the activity is assigned to"
              },
              "add_time": {
                "type": "string",
                "description": "The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS."
              },
              "busy_flag": {
                "type": "boolean",
                "description": "Marks if the activity is set as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
              },
              "company_id": {
                "type": "integer",
                "description": "The user's company ID"
              },
              "active_flag": {
                "type": "boolean",
                "description": "Whether the activity is active or not"
              },
              "update_time": {
                "type": "string",
                "description": "The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS."
              },
              "location_route": {
                "type": "string",
                "description": "A subfield of the location field. Indicates street name."
              },
              "update_user_id": {
                "type": "integer",
                "description": "The ID of the user who was the last to update this activity"
              },
              "source_timezone": {
                "type": "string",
                "description": "The timezone the activity was created in an external calendar"
              },
              "location_country": {
                "type": "string",
                "description": "A subfield of the location field. Indicates country."
              },
              "location_locality": {
                "type": "string",
                "description": "A subfield of the location field. Indicates city/town/village/locality."
              },
              "location_subpremise": {
                "type": "string",
                "description": "A subfield of the location field. Indicates apartment/suite number."
              },
              "marked_as_done_time": {
                "type": "string",
                "description": "The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS."
              },
              "location_postal_code": {
                "type": "string",
                "description": "A subfield of the location field. Indicates ZIP/postal code."
              },
              "location_sublocality": {
                "type": "string",
                "description": "A subfield of the location field. Indicates district/sublocality."
              },
              "conference_meeting_id": {
                "type": "string",
                "description": "The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity"
              },
              "conference_meeting_url": {
                "type": "string",
                "description": "The link to join the meeting which is associated with this activity"
              },
              "location_street_number": {
                "type": "string",
                "description": "A subfield of the location field. Indicates house number."
              },
              "conference_meeting_client": {
                "type": "string",
                "description": "The ID of the Marketplace app, which is connected to this activity"
              },
              "location_formatted_address": {
                "type": "string",
                "description": "A subfield of the location field. Indicates full/combined address."
              },
              "location_admin_area_level_1": {
                "type": "string",
                "description": "A subfield of the location field. Indicates state/county."
              },
              "location_admin_area_level_2": {
                "type": "string",
                "description": "A subfield of the location field. Indicates region."
              }
            }
          }
        ],
        "title": "activityCollectionResponseObject"
      }
    },
    "success": {
      "type": "boolean"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": "string",
          "description": "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."
        }
      },
      "description": "The additional data of the list"
    }
  }
}
object ActivitiesGetDetailsResponse
{
  "type": "object",
  "title": "getActivityResponse200",
  "properties": {
    "data": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "org_id": {
              "type": "integer",
              "description": "The ID of the organization this activity is associated with"
            },
            "deal_id": {
              "type": "integer",
              "description": "The ID of the deal this activity is associated with"
            },
            "lead_id": {
              "type": "string",
              "format": "uuid",
              "nullable": true,
              "description": "The ID of the lead in the UUID format this activity is associated with"
            },
            "due_date": {
              "type": "string",
              "format": "date",
              "description": "The due date of the activity. Format: YYYY-MM-DD"
            },
            "due_time": {
              "type": "string",
              "description": "The due time of the activity in UTC. Format: HH:MM"
            },
            "duration": {
              "type": "string",
              "description": "The duration of the activity. Format: HH:MM"
            },
            "location": {
              "type": "string",
              "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
            },
            "person_id": {
              "type": "integer",
              "description": "The ID of the person this activity is associated with"
            },
            "project_id": {
              "type": "integer",
              "nullable": true,
              "description": "The ID of the project this activity is associated with"
            },
            "public_description": {
              "type": "string",
              "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The ID of the activity, generated when the activity was created"
            },
            "done": {
              "type": "boolean",
              "description": "Whether the activity is done or not"
            },
            "file": {
              "type": "object",
              "description": "The file that is attached to this activity. For example, this can be a reference to an audio note file generated with Pipedrive mobile app."
            },
            "note": {
              "type": "string",
              "description": "The note of the activity (HTML format)"
            },
            "type": {
              "type": "string",
              "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes."
            },
            "series": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": "The list of recurring activity instances. It is in a structure as follows: `[{due_date: \"2020-06-24\", due_time: \"10:00:00\"}]`"
            },
            "subject": {
              "type": "string",
              "description": "The subject of the activity"
            },
            "user_id": {
              "type": "integer",
              "description": "The ID of the user whom the activity is assigned to"
            },
            "add_time": {
              "type": "string",
              "description": "The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "org_name": {
              "type": "string",
              "description": "The name of the organization this activity is associated with"
            },
            "rec_rule": {
              "type": "string",
              "description": "The rule for the recurrence of the activity. Is important for activities synced into Pipedrive from an external calendar. Example: \"RRULE:FREQ=WEEKLY;BYDAY=WE\""
            },
            "attendees": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "nullable": true,
              "description": "The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address."
            },
            "busy_flag": {
              "type": "boolean",
              "description": "Marks if the activity is set as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
            },
            "company_id": {
              "type": "integer",
              "description": "The user's company ID"
            },
            "deal_title": {
              "type": "string",
              "description": "The name of the deal this activity is associated with"
            },
            "owner_name": {
              "type": "string",
              "description": "The name of the user this activity is owned by"
            },
            "active_flag": {
              "type": "boolean",
              "description": "Whether the activity is active or not"
            },
            "person_name": {
              "type": "string",
              "description": "The name of the person this activity is associated with"
            },
            "update_time": {
              "type": "string",
              "description": "The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS."
            },
            "participants": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "nullable": true,
              "description": "List of multiple persons (participants) this activity is associated with"
            },
            "reference_id": {
              "type": "integer",
              "description": "Together with the `reference_type`, gives the ID of the other object"
            },
            "gcal_event_id": {
              "type": "string",
              "description": "For the activity which syncs to Google calendar, this is the Google event ID. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "location_route": {
              "type": "string",
              "description": "A subfield of the location field. Indicates street name."
            },
            "reference_type": {
              "type": "string",
              "description": "If the activity references some other object, it is indicated here. For example, value `Salesphone` refers to activities created with Caller."
            },
            "update_user_id": {
              "type": "integer",
              "description": "The ID of the user who was the last to update this activity"
            },
            "source_timezone": {
              "type": "string",
              "description": "The timezone the activity was created in an external calendar"
            },
            "deal_dropbox_bcc": {
              "type": "string",
              "description": "The BCC email address of the deal"
            },
            "location_country": {
              "type": "string",
              "description": "A subfield of the location field. Indicates country."
            },
            "location_locality": {
              "type": "string",
              "description": "A subfield of the location field. Indicates city/town/village/locality."
            },
            "created_by_user_id": {
              "type": "integer",
              "description": "The ID of the user who created the activity"
            },
            "google_calendar_id": {
              "type": "string",
              "description": "The Google calendar ID that this activity syncs to. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "person_dropbox_bcc": {
              "type": "string",
              "description": "The BCC email address of the person"
            },
            "rec_rule_extension": {
              "type": "string",
              "description": "Additional rules for the recurrence of the activity, extend the `rec_rule`. Is important for activities synced into Pipedrive from an external calendar."
            },
            "assigned_to_user_id": {
              "type": "integer",
              "description": "The ID of the user to whom the activity is assigned to. Equal to `user_id`."
            },
            "location_subpremise": {
              "type": "string",
              "description": "A subfield of the location field. Indicates apartment/suite number."
            },
            "marked_as_done_time": {
              "type": "string",
              "description": "The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS."
            },
            "google_calendar_etag": {
              "type": "string",
              "description": "The Google calendar API etag (version) that is used for syncing this activity. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "location_postal_code": {
              "type": "string",
              "description": "A subfield of the location field. Indicates ZIP/postal code."
            },
            "location_sublocality": {
              "type": "string",
              "description": "A subfield of the location field. Indicates district/sublocality."
            },
            "conference_meeting_id": {
              "type": "string",
              "description": "The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity"
            },
            "conference_meeting_url": {
              "type": "string",
              "description": "The link to join the meeting which is associated with this activity"
            },
            "last_notification_time": {
              "type": "string",
              "description": "The date and time of latest notifications sent about this activity to the participants or the attendees of this activity"
            },
            "location_street_number": {
              "type": "string",
              "description": "A subfield of the location field. Indicates house number."
            },
            "rec_master_activity_id": {
              "type": "integer",
              "description": "The ID of parent activity for a recurrent activity if the current activity is an exception to recurrence rules"
            },
            "notification_language_id": {
              "type": "integer",
              "description": "The ID of the language the notifications are sent in"
            },
            "conference_meeting_client": {
              "type": "string",
              "description": "The ID of the Marketplace app, which is connected to this activity"
            },
            "last_notification_user_id": {
              "type": "integer",
              "description": "The ID of the user who triggered the sending of the latest notifications about this activity to the participants or the attendees of this activity"
            },
            "location_formatted_address": {
              "type": "string",
              "description": "A subfield of the location field. Indicates full/combined address."
            },
            "location_admin_area_level_1": {
              "type": "string",
              "description": "A subfield of the location field. Indicates state/county."
            },
            "location_admin_area_level_2": {
              "type": "string",
              "description": "A subfield of the location field. Indicates region."
            },
            "calendar_sync_include_context": {
              "type": "string",
              "description": "For activities that sync to an external calendar, this setting indicates if the activity syncs with context (what are the deals, persons, organizations this activity is related to)"
            }
          }
        }
      ],
      "title": "activityResponseObject"
    },
    "success": {
      "type": "boolean"
    },
    "related_objects": {
      "type": "object",
      "properties": {
        "deal": {
          "type": "object",
          "properties": {
            "DEAL_ID": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The ID of the deal associated with the item"
                },
                "title": {
                  "type": "string",
                  "description": "The title of the deal associated with the item"
                },
                "value": {
                  "type": "number",
                  "description": "The value of the deal that is associated with the item"
                },
                "status": {
                  "type": "string",
                  "description": "The status of the deal associated with the item"
                },
                "currency": {
                  "type": "string",
                  "description": "The currency of the deal value"
                },
                "stage_id": {
                  "type": "integer",
                  "description": "The ID of the stage the deal is currently at"
                },
                "pipeline_id": {
                  "type": "integer",
                  "description": "The ID of the pipeline the deal is in"
                }
              },
              "description": "The ID of the deal which is associated with the item"
            }
          }
        },
        "user": {
          "type": "object",
          "properties": {
            "USER_ID": {
              "type": "object",
              "allOf": [
                {
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the user"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the user"
                    },
                    "email": {
                      "type": "string",
                      "description": "The email of the user"
                    },
                    "has_pic": {
                      "type": "integer",
                      "description": "Whether the user has picture or not. 0 = No picture, 1 = Has picture."
                    },
                    "pic_hash": {
                      "type": "string",
                      "nullable": true,
                      "description": "The user picture hash"
                    },
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the user is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "description": "The ID of the user"
                }
              ],
              "title": "userDataWithId"
            }
          }
        },
        "person": {
          "type": "object",
          "properties": {
            "PERSON_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the person associated with the item"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the person associated with the item"
                    },
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the email"
                          },
                          "value": {
                            "type": "string",
                            "description": "The email of the associated person"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary email or not"
                          }
                        }
                      },
                      "description": "The emails of the person associated with the item"
                    },
                    "phone": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the phone number"
                          },
                          "value": {
                            "type": "string",
                            "description": "The phone number of the person associated with the item"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary phone number or not"
                          }
                        }
                      },
                      "description": "The phone numbers of the person associated with the item"
                    },
                    "owner_id": {
                      "type": "integer",
                      "description": "The ID of the owner of the person that is associated with the item"
                    }
                  }
                }
              ],
              "description": "The ID of the person associated with the item"
            }
          }
        },
        "organization": {
          "type": "object",
          "properties": {
            "ORGANIZATION_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the organization associated with the item"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the organization associated with the item"
                    },
                    "address": {
                      "type": "string",
                      "description": "The address of the organization"
                    },
                    "cc_email": {
                      "type": "string",
                      "description": "The BCC email of the organization associated with the item"
                    },
                    "owner_id": {
                      "type": "integer",
                      "description": "The ID of the owner of the organization that is associated with the item"
                    },
                    "people_count": {
                      "type": "integer",
                      "description": "The number of people connected with the organization that is associated with the item"
                    }
                  }
                }
              ],
              "description": "The ID of the organization associated with the item"
            }
          }
        }
      }
    }
  }
}
object ActivitiesListUserActivitiesResponse
{
  "type": "object",
  "title": "getActivitiesResponse200",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "org_id": {
                "type": "integer",
                "description": "The ID of the organization this activity is associated with"
              },
              "deal_id": {
                "type": "integer",
                "description": "The ID of the deal this activity is associated with"
              },
              "lead_id": {
                "type": "string",
                "format": "uuid",
                "nullable": true,
                "description": "The ID of the lead in the UUID format this activity is associated with"
              },
              "due_date": {
                "type": "string",
                "format": "date",
                "description": "The due date of the activity. Format: YYYY-MM-DD"
              },
              "due_time": {
                "type": "string",
                "description": "The due time of the activity in UTC. Format: HH:MM"
              },
              "duration": {
                "type": "string",
                "description": "The duration of the activity. Format: HH:MM"
              },
              "location": {
                "type": "string",
                "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
              },
              "person_id": {
                "type": "integer",
                "description": "The ID of the person this activity is associated with"
              },
              "project_id": {
                "type": "integer",
                "nullable": true,
                "description": "The ID of the project this activity is associated with"
              },
              "public_description": {
                "type": "string",
                "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
              }
            }
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The ID of the activity, generated when the activity was created"
              },
              "done": {
                "type": "boolean",
                "description": "Whether the activity is done or not"
              },
              "file": {
                "type": "object",
                "description": "The file that is attached to this activity. For example, this can be a reference to an audio note file generated with Pipedrive mobile app."
              },
              "note": {
                "type": "string",
                "description": "The note of the activity (HTML format)"
              },
              "type": {
                "type": "string",
                "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes."
              },
              "series": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": "The list of recurring activity instances. It is in a structure as follows: `[{due_date: \"2020-06-24\", due_time: \"10:00:00\"}]`"
              },
              "subject": {
                "type": "string",
                "description": "The subject of the activity"
              },
              "user_id": {
                "type": "integer",
                "description": "The ID of the user whom the activity is assigned to"
              },
              "add_time": {
                "type": "string",
                "description": "The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS."
              },
              "org_name": {
                "type": "string",
                "description": "The name of the organization this activity is associated with"
              },
              "rec_rule": {
                "type": "string",
                "description": "The rule for the recurrence of the activity. Is important for activities synced into Pipedrive from an external calendar. Example: \"RRULE:FREQ=WEEKLY;BYDAY=WE\""
              },
              "attendees": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "nullable": true,
                "description": "The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address."
              },
              "busy_flag": {
                "type": "boolean",
                "description": "Marks if the activity is set as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
              },
              "company_id": {
                "type": "integer",
                "description": "The user's company ID"
              },
              "deal_title": {
                "type": "string",
                "description": "The name of the deal this activity is associated with"
              },
              "owner_name": {
                "type": "string",
                "description": "The name of the user this activity is owned by"
              },
              "active_flag": {
                "type": "boolean",
                "description": "Whether the activity is active or not"
              },
              "person_name": {
                "type": "string",
                "description": "The name of the person this activity is associated with"
              },
              "update_time": {
                "type": "string",
                "description": "The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS."
              },
              "participants": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "nullable": true,
                "description": "List of multiple persons (participants) this activity is associated with"
              },
              "reference_id": {
                "type": "integer",
                "description": "Together with the `reference_type`, gives the ID of the other object"
              },
              "gcal_event_id": {
                "type": "string",
                "description": "For the activity which syncs to Google calendar, this is the Google event ID. NB! This field is related to old Google calendar sync and will be deprecated soon."
              },
              "location_route": {
                "type": "string",
                "description": "A subfield of the location field. Indicates street name."
              },
              "reference_type": {
                "type": "string",
                "description": "If the activity references some other object, it is indicated here. For example, value `Salesphone` refers to activities created with Caller."
              },
              "update_user_id": {
                "type": "integer",
                "description": "The ID of the user who was the last to update this activity"
              },
              "source_timezone": {
                "type": "string",
                "description": "The timezone the activity was created in an external calendar"
              },
              "deal_dropbox_bcc": {
                "type": "string",
                "description": "The BCC email address of the deal"
              },
              "location_country": {
                "type": "string",
                "description": "A subfield of the location field. Indicates country."
              },
              "location_locality": {
                "type": "string",
                "description": "A subfield of the location field. Indicates city/town/village/locality."
              },
              "created_by_user_id": {
                "type": "integer",
                "description": "The ID of the user who created the activity"
              },
              "google_calendar_id": {
                "type": "string",
                "description": "The Google calendar ID that this activity syncs to. NB! This field is related to old Google calendar sync and will be deprecated soon."
              },
              "person_dropbox_bcc": {
                "type": "string",
                "description": "The BCC email address of the person"
              },
              "rec_rule_extension": {
                "type": "string",
                "description": "Additional rules for the recurrence of the activity, extend the `rec_rule`. Is important for activities synced into Pipedrive from an external calendar."
              },
              "assigned_to_user_id": {
                "type": "integer",
                "description": "The ID of the user to whom the activity is assigned to. Equal to `user_id`."
              },
              "location_subpremise": {
                "type": "string",
                "description": "A subfield of the location field. Indicates apartment/suite number."
              },
              "marked_as_done_time": {
                "type": "string",
                "description": "The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS."
              },
              "google_calendar_etag": {
                "type": "string",
                "description": "The Google calendar API etag (version) that is used for syncing this activity. NB! This field is related to old Google calendar sync and will be deprecated soon."
              },
              "location_postal_code": {
                "type": "string",
                "description": "A subfield of the location field. Indicates ZIP/postal code."
              },
              "location_sublocality": {
                "type": "string",
                "description": "A subfield of the location field. Indicates district/sublocality."
              },
              "conference_meeting_id": {
                "type": "string",
                "description": "The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity"
              },
              "conference_meeting_url": {
                "type": "string",
                "description": "The link to join the meeting which is associated with this activity"
              },
              "last_notification_time": {
                "type": "string",
                "description": "The date and time of latest notifications sent about this activity to the participants or the attendees of this activity"
              },
              "location_street_number": {
                "type": "string",
                "description": "A subfield of the location field. Indicates house number."
              },
              "rec_master_activity_id": {
                "type": "integer",
                "description": "The ID of parent activity for a recurrent activity if the current activity is an exception to recurrence rules"
              },
              "notification_language_id": {
                "type": "integer",
                "description": "The ID of the language the notifications are sent in"
              },
              "conference_meeting_client": {
                "type": "string",
                "description": "The ID of the Marketplace app, which is connected to this activity"
              },
              "last_notification_user_id": {
                "type": "integer",
                "description": "The ID of the user who triggered the sending of the latest notifications about this activity to the participants or the attendees of this activity"
              },
              "location_formatted_address": {
                "type": "string",
                "description": "A subfield of the location field. Indicates full/combined address."
              },
              "location_admin_area_level_1": {
                "type": "string",
                "description": "A subfield of the location field. Indicates state/county."
              },
              "location_admin_area_level_2": {
                "type": "string",
                "description": "A subfield of the location field. Indicates region."
              },
              "calendar_sync_include_context": {
                "type": "string",
                "description": "For activities that sync to an external calendar, this setting indicates if the activity syncs with context (what are the deals, persons, organizations this activity is related to)"
              }
            }
          }
        ],
        "title": "activityResponseObject"
      }
    },
    "success": {
      "type": "boolean"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "description": "Items shown per page"
            },
            "start": {
              "type": "integer",
              "description": "Pagination start"
            },
            "next_start": {
              "type": "integer",
              "description": "Next pagination start"
            },
            "more_items_in_collection": {
              "type": "boolean",
              "description": "Whether there are more list items in the collection than displayed"
            }
          },
          "description": "Pagination details of the list"
        }
      }
    },
    "related_objects": {
      "type": "object",
      "properties": {
        "deal": {
          "type": "object",
          "properties": {
            "DEAL_ID": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The ID of the deal associated with the item"
                },
                "title": {
                  "type": "string",
                  "description": "The title of the deal associated with the item"
                },
                "value": {
                  "type": "number",
                  "description": "The value of the deal that is associated with the item"
                },
                "status": {
                  "type": "string",
                  "description": "The status of the deal associated with the item"
                },
                "currency": {
                  "type": "string",
                  "description": "The currency of the deal value"
                },
                "stage_id": {
                  "type": "integer",
                  "description": "The ID of the stage the deal is currently at"
                },
                "pipeline_id": {
                  "type": "integer",
                  "description": "The ID of the pipeline the deal is in"
                }
              },
              "description": "The ID of the deal which is associated with the item"
            }
          }
        },
        "user": {
          "type": "object",
          "properties": {
            "USER_ID": {
              "type": "object",
              "allOf": [
                {
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the user"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the user"
                    },
                    "email": {
                      "type": "string",
                      "description": "The email of the user"
                    },
                    "has_pic": {
                      "type": "integer",
                      "description": "Whether the user has picture or not. 0 = No picture, 1 = Has picture."
                    },
                    "pic_hash": {
                      "type": "string",
                      "nullable": true,
                      "description": "The user picture hash"
                    },
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the user is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "description": "The ID of the user"
                }
              ],
              "title": "userDataWithId"
            }
          }
        },
        "person": {
          "type": "object",
          "properties": {
            "PERSON_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the person associated with the item"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the person associated with the item"
                    },
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the email"
                          },
                          "value": {
                            "type": "string",
                            "description": "The email of the associated person"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary email or not"
                          }
                        }
                      },
                      "description": "The emails of the person associated with the item"
                    },
                    "phone": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the phone number"
                          },
                          "value": {
                            "type": "string",
                            "description": "The phone number of the person associated with the item"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary phone number or not"
                          }
                        }
                      },
                      "description": "The phone numbers of the person associated with the item"
                    },
                    "owner_id": {
                      "type": "integer",
                      "description": "The ID of the owner of the person that is associated with the item"
                    }
                  }
                }
              ],
              "description": "The ID of the person associated with the item"
            }
          }
        },
        "organization": {
          "type": "object",
          "properties": {
            "ORGANIZATION_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the organization associated with the item"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the organization associated with the item"
                    },
                    "address": {
                      "type": "string",
                      "description": "The address of the organization"
                    },
                    "cc_email": {
                      "type": "string",
                      "description": "The BCC email of the organization associated with the item"
                    },
                    "owner_id": {
                      "type": "integer",
                      "description": "The ID of the owner of the organization that is associated with the item"
                    },
                    "people_count": {
                      "type": "integer",
                      "description": "The number of people connected with the organization that is associated with the item"
                    }
                  }
                }
              ],
              "description": "The ID of the organization associated with the item"
            }
          }
        }
      }
    }
  }
}
object ActivitiesMarkAsDeletedResponse
{
  "type": "object",
  "title": "deleteActivityResponse200",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The ID of the activity that was deleted"
        }
      }
    },
    "success": {
      "type": "boolean"
    }
  }
}
object ActivitiesUpdateActivityDetailsRequest
{
  "allOf": [
    {
      "type": "object",
      "properties": {
        "org_id": {
          "type": "integer",
          "description": "The ID of the organization this activity is associated with"
        },
        "deal_id": {
          "type": "integer",
          "description": "The ID of the deal this activity is associated with"
        },
        "lead_id": {
          "type": "string",
          "format": "uuid",
          "nullable": true,
          "description": "The ID of the lead in the UUID format this activity is associated with"
        },
        "due_date": {
          "type": "string",
          "format": "date",
          "description": "The due date of the activity. Format: YYYY-MM-DD"
        },
        "due_time": {
          "type": "string",
          "description": "The due time of the activity in UTC. Format: HH:MM"
        },
        "duration": {
          "type": "string",
          "description": "The duration of the activity. Format: HH:MM"
        },
        "location": {
          "type": "string",
          "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
        },
        "person_id": {
          "type": "integer",
          "description": "The ID of the person this activity is associated with"
        },
        "project_id": {
          "type": "integer",
          "nullable": true,
          "description": "The ID of the project this activity is associated with"
        },
        "public_description": {
          "type": "string",
          "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "done": {
          "allOf": [
            {
              "enum": [
                0,
                1
              ],
              "type": "number",
              "title": "numberBoolean"
            }
          ],
          "description": "Whether the activity is done or not. 0 = Not done, 1 = Done"
        },
        "note": {
          "type": "string",
          "description": "The note of the activity (HTML format)"
        },
        "type": {
          "type": "string",
          "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes."
        },
        "subject": {
          "type": "string",
          "description": "The subject of the activity"
        },
        "user_id": {
          "type": "integer",
          "description": "The ID of the user whom the activity is assigned to"
        },
        "attendees": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address. It requires a structure as follows: `[{\"email_address\":\"mail@example.org\"}]` or `[{\"person_id\":1, \"email_address\":\"mail@example.org\"}]`"
        },
        "busy_flag": {
          "type": "boolean",
          "description": "Set the activity as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset by never setting it or overriding it with `null`. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
        },
        "participants": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "List of multiple persons (participants) this activity is associated with. It requires a structure as follows: `[{\"person_id\":1,\"primary_flag\":true}]`"
        }
      }
    }
  ],
  "title": "updateActivityRequest"
}
object ActivitiesUpdateActivityDetailsResponse
{
  "type": "object",
  "title": "updateActivityResponse200",
  "properties": {
    "data": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "org_id": {
              "type": "integer",
              "description": "The ID of the organization this activity is associated with"
            },
            "deal_id": {
              "type": "integer",
              "description": "The ID of the deal this activity is associated with"
            },
            "lead_id": {
              "type": "string",
              "format": "uuid",
              "nullable": true,
              "description": "The ID of the lead in the UUID format this activity is associated with"
            },
            "due_date": {
              "type": "string",
              "format": "date",
              "description": "The due date of the activity. Format: YYYY-MM-DD"
            },
            "due_time": {
              "type": "string",
              "description": "The due time of the activity in UTC. Format: HH:MM"
            },
            "duration": {
              "type": "string",
              "description": "The duration of the activity. Format: HH:MM"
            },
            "location": {
              "type": "string",
              "description": "The address of the activity. Pipedrive will automatically check if the location matches a geo-location on Google maps."
            },
            "person_id": {
              "type": "integer",
              "description": "The ID of the person this activity is associated with"
            },
            "project_id": {
              "type": "integer",
              "nullable": true,
              "description": "The ID of the project this activity is associated with"
            },
            "public_description": {
              "type": "string",
              "description": "Additional details about the activity that is synced to your external calendar. Unlike the note added to the activity, the description is publicly visible to any guests added to the activity."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The ID of the activity, generated when the activity was created"
            },
            "done": {
              "type": "boolean",
              "description": "Whether the activity is done or not"
            },
            "file": {
              "type": "object",
              "description": "The file that is attached to this activity. For example, this can be a reference to an audio note file generated with Pipedrive mobile app."
            },
            "note": {
              "type": "string",
              "description": "The note of the activity (HTML format)"
            },
            "type": {
              "type": "string",
              "description": "The type of the activity. This is in correlation with the `key_string` parameter of ActivityTypes."
            },
            "series": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": "The list of recurring activity instances. It is in a structure as follows: `[{due_date: \"2020-06-24\", due_time: \"10:00:00\"}]`"
            },
            "subject": {
              "type": "string",
              "description": "The subject of the activity"
            },
            "user_id": {
              "type": "integer",
              "description": "The ID of the user whom the activity is assigned to"
            },
            "add_time": {
              "type": "string",
              "description": "The creation date and time of the activity in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "org_name": {
              "type": "string",
              "description": "The name of the organization this activity is associated with"
            },
            "rec_rule": {
              "type": "string",
              "description": "The rule for the recurrence of the activity. Is important for activities synced into Pipedrive from an external calendar. Example: \"RRULE:FREQ=WEEKLY;BYDAY=WE\""
            },
            "attendees": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "nullable": true,
              "description": "The attendees of the activity. This can be either your existing Pipedrive contacts or an external email address."
            },
            "busy_flag": {
              "type": "boolean",
              "description": "Marks if the activity is set as 'Busy' or 'Free'. If the flag is set to `true`, your customers will not be able to book that time slot through any Scheduler links. The flag can also be unset. When the value of the flag is unset (`null`), the flag defaults to 'Busy' if it has a time set, and 'Free' if it is an all-day event without specified time."
            },
            "company_id": {
              "type": "integer",
              "description": "The user's company ID"
            },
            "deal_title": {
              "type": "string",
              "description": "The name of the deal this activity is associated with"
            },
            "owner_name": {
              "type": "string",
              "description": "The name of the user this activity is owned by"
            },
            "active_flag": {
              "type": "boolean",
              "description": "Whether the activity is active or not"
            },
            "person_name": {
              "type": "string",
              "description": "The name of the person this activity is associated with"
            },
            "update_time": {
              "type": "string",
              "description": "The last update date and time of the activity. Format: YYYY-MM-DD HH:MM:SS."
            },
            "participants": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "nullable": true,
              "description": "List of multiple persons (participants) this activity is associated with"
            },
            "reference_id": {
              "type": "integer",
              "description": "Together with the `reference_type`, gives the ID of the other object"
            },
            "gcal_event_id": {
              "type": "string",
              "description": "For the activity which syncs to Google calendar, this is the Google event ID. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "location_route": {
              "type": "string",
              "description": "A subfield of the location field. Indicates street name."
            },
            "reference_type": {
              "type": "string",
              "description": "If the activity references some other object, it is indicated here. For example, value `Salesphone` refers to activities created with Caller."
            },
            "update_user_id": {
              "type": "integer",
              "description": "The ID of the user who was the last to update this activity"
            },
            "source_timezone": {
              "type": "string",
              "description": "The timezone the activity was created in an external calendar"
            },
            "deal_dropbox_bcc": {
              "type": "string",
              "description": "The BCC email address of the deal"
            },
            "location_country": {
              "type": "string",
              "description": "A subfield of the location field. Indicates country."
            },
            "location_locality": {
              "type": "string",
              "description": "A subfield of the location field. Indicates city/town/village/locality."
            },
            "created_by_user_id": {
              "type": "integer",
              "description": "The ID of the user who created the activity"
            },
            "google_calendar_id": {
              "type": "string",
              "description": "The Google calendar ID that this activity syncs to. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "person_dropbox_bcc": {
              "type": "string",
              "description": "The BCC email address of the person"
            },
            "rec_rule_extension": {
              "type": "string",
              "description": "Additional rules for the recurrence of the activity, extend the `rec_rule`. Is important for activities synced into Pipedrive from an external calendar."
            },
            "assigned_to_user_id": {
              "type": "integer",
              "description": "The ID of the user to whom the activity is assigned to. Equal to `user_id`."
            },
            "location_subpremise": {
              "type": "string",
              "description": "A subfield of the location field. Indicates apartment/suite number."
            },
            "marked_as_done_time": {
              "type": "string",
              "description": "The date and time this activity was marked as done. Format: YYYY-MM-DD HH:MM:SS."
            },
            "google_calendar_etag": {
              "type": "string",
              "description": "The Google calendar API etag (version) that is used for syncing this activity. NB! This field is related to old Google calendar sync and will be deprecated soon."
            },
            "location_postal_code": {
              "type": "string",
              "description": "A subfield of the location field. Indicates ZIP/postal code."
            },
            "location_sublocality": {
              "type": "string",
              "description": "A subfield of the location field. Indicates district/sublocality."
            },
            "conference_meeting_id": {
              "type": "string",
              "description": "The meeting ID of the meeting provider (Zoom, MS Teams etc.) that is associated with this activity"
            },
            "conference_meeting_url": {
              "type": "string",
              "description": "The link to join the meeting which is associated with this activity"
            },
            "last_notification_time": {
              "type": "string",
              "description": "The date and time of latest notifications sent about this activity to the participants or the attendees of this activity"
            },
            "location_street_number": {
              "type": "string",
              "description": "A subfield of the location field. Indicates house number."
            },
            "rec_master_activity_id": {
              "type": "integer",
              "description": "The ID of parent activity for a recurrent activity if the current activity is an exception to recurrence rules"
            },
            "notification_language_id": {
              "type": "integer",
              "description": "The ID of the language the notifications are sent in"
            },
            "conference_meeting_client": {
              "type": "string",
              "description": "The ID of the Marketplace app, which is connected to this activity"
            },
            "last_notification_user_id": {
              "type": "integer",
              "description": "The ID of the user who triggered the sending of the latest notifications about this activity to the participants or the attendees of this activity"
            },
            "location_formatted_address": {
              "type": "string",
              "description": "A subfield of the location field. Indicates full/combined address."
            },
            "location_admin_area_level_1": {
              "type": "string",
              "description": "A subfield of the location field. Indicates state/county."
            },
            "location_admin_area_level_2": {
              "type": "string",
              "description": "A subfield of the location field. Indicates region."
            },
            "calendar_sync_include_context": {
              "type": "string",
              "description": "For activities that sync to an external calendar, this setting indicates if the activity syncs with context (what are the deals, persons, organizations this activity is related to)"
            }
          }
        }
      ],
      "title": "activityResponseObject"
    },
    "success": {
      "type": "boolean"
    },
    "related_objects": {
      "type": "object",
      "properties": {
        "deal": {
          "type": "object",
          "properties": {
            "DEAL_ID": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The ID of the deal associated with the item"
                },
                "title": {
                  "type": "string",
                  "description": "The title of the deal associated with the item"
                },
                "value": {
                  "type": "number",
                  "description": "The value of the deal that is associated with the item"
                },
                "status": {
                  "type": "string",
                  "description": "The status of the deal associated with the item"
                },
                "currency": {
                  "type": "string",
                  "description": "The currency of the deal value"
                },
                "stage_id": {
                  "type": "integer",
                  "description": "The ID of the stage the deal is currently at"
                },
                "pipeline_id": {
                  "type": "integer",
                  "description": "The ID of the pipeline the deal is in"
                }
              },
              "description": "The ID of the deal which is associated with the item"
            }
          }
        },
        "user": {
          "type": "object",
          "properties": {
            "USER_ID": {
              "type": "object",
              "allOf": [
                {
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the user"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the user"
                    },
                    "email": {
                      "type": "string",
                      "description": "The email of the user"
                    },
                    "has_pic": {
                      "type": "integer",
                      "description": "Whether the user has picture or not. 0 = No picture, 1 = Has picture."
                    },
                    "pic_hash": {
                      "type": "string",
                      "nullable": true,
                      "description": "The user picture hash"
                    },
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the user is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "description": "The ID of the user"
                }
              ],
              "title": "userDataWithId"
            }
          }
        },
        "person": {
          "type": "object",
          "properties": {
            "PERSON_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the associated person is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the person associated with the item"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the person associated with the item"
                    },
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the email"
                          },
                          "value": {
                            "type": "string",
                            "description": "The email of the associated person"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary email or not"
                          }
                        }
                      },
                      "description": "The emails of the person associated with the item"
                    },
                    "phone": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string",
                            "description": "The type of the phone number"
                          },
                          "value": {
                            "type": "string",
                            "description": "The phone number of the person associated with the item"
                          },
                          "primary": {
                            "type": "boolean",
                            "description": "Whether this is the primary phone number or not"
                          }
                        }
                      },
                      "description": "The phone numbers of the person associated with the item"
                    },
                    "owner_id": {
                      "type": "integer",
                      "description": "The ID of the owner of the person that is associated with the item"
                    }
                  }
                }
              ],
              "description": "The ID of the person associated with the item"
            }
          }
        },
        "organization": {
          "type": "object",
          "properties": {
            "ORGANIZATION_ID": {
              "type": "object",
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "active_flag": {
                      "type": "boolean",
                      "description": "Whether the associated organization is active or not"
                    }
                  }
                },
                {
                  "type": "object",
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "The ID of the organization associated with the item"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name of the organization associated with the item"
                        },
                        "address": {
                          "type": "string",
                          "description": "The address of the organization"
                        },
                        "cc_email": {
                          "type": "string",
                          "description": "The BCC email of the organization associated with the item"
                        },
                        "owner_id": {
                          "type": "integer",
                          "description": "The ID of the owner of the organization that is associated with the item"
                        },
                        "people_count": {
                          "type": "integer",
                          "description": "The number of people connected with the organization that is associated with the item"
                        }
                      }
                    }
                  ],
                  "description": "The ID of the organization associated with the item"
                }
              ],
              "description": "The ID of the organization associated with the item"
            }
          }
        }
      }
    }
  }
}
object ActivityFieldsGetAllResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The ID of the field. Value is `null` in case of subfields."
              },
              "key": {
                "type": "string",
                "description": "The key of the field. For custom fields this is generated upon creation."
              },
              "name": {
                "type": "string",
                "description": "The name of the field"
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "nullable": true,
                "description": "The options of the field. When there are no options, `null` is returned."
              },
              "add_time": {
                "type": "string",
                "format": "date-time",
                "description": "The creation time of the field"
              },
              "order_nr": {
                "type": "integer",
                "description": "The order number of the field"
              },
              "edit_flag": {
                "type": "boolean",
                "description": "The edit flag of the field"
              },
              "subfields": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": "The subfields of the field. Only present when the field has subfields."
              },
              "field_type": {
                "allOf": [
                  {
                    "enum": [
                      "address",
                      "date",
                      "daterange",
                      "double",
                      "enum",
                      "monetary",
                      "org",
                      "people",
                      "phone",
                      "set",
                      "text",
                      "time",
                      "timerange",
                      "user",
                      "varchar",
                      "varchar_auto",
                      "visible_to"
                    ],
                    "type": "string",
                    "description": "The type of the field<table><tr><th>Value</th><th>Description</th></tr><tr><td>`address`</td><td>Address field (has multiple subfields, autocompleted by Google Maps)</td></tr><tr><td>`date`</td><td>Date (format YYYY-MM-DD)</td></tr><tr><td>`daterange`</td><td>Date-range field (has a start date and end date value, both YYYY-MM-DD)</td></tr><tr><td>`double`</td><td>Numeric value</td></tr><tr><td>`enum`</td><td>Options field with a single possible chosen option</td></tr><tr></tr><tr><td>`monetary`</td><td>Monetary field (has a numeric value and a currency value)</td></tr><tr><td>`org`</td><td>Organization field (contains an organization ID which is stored on the same account)</td></tr><tr><td>`people`</td><td>Person field (contains a person ID which is stored on the same account)</td></tr><tr><td>`phone`</td><td>Phone field (up to 255 numbers and/or characters)</td></tr><tr><td>`set`</td><td>Options field with a possibility of having multiple chosen options</td></tr><tr><td>`text`</td><td>Long text (up to 65k characters)</td></tr><tr><td>`time`</td><td>Time field (format HH:MM:SS)</td></tr><tr><td>`timerange`</td><td>Time-range field (has a start time and end time value, both HH:MM:SS)</td></tr><tr><td>`user`</td><td>User field (contains a user ID of another Pipedrive user)</td></tr><tr><td>`varchar`</td><td>Text (up to 255 characters)</td></tr><tr><td>`varchar_auto`</td><td>Autocomplete text (up to 255 characters)</td></tr><tr><td>`visible_to`</td><td>System field that keeps item's visibility setting</td></tr></table>"
                  }
                ]
              },
              "active_flag": {
                "type": "boolean",
                "description": "The active flag of the field"
              },
              "is_subfield": {
                "type": "boolean",
                "description": "Whether or not the field is a subfield of another field. Only present if field is subfield."
              },
              "update_time": {
                "type": "string",
                "format": "date-time",
                "description": "The update time of the field"
              },
              "sortable_flag": {
                "type": "boolean",
                "description": "Whether or not items can be sorted by this field"
              },
              "important_flag": {
                "type": "boolean",
                "description": "Not used"
              },
              "mandatory_flag": {
                "type": "boolean",
                "description": "Whether or not the field is mandatory"
              },
              "options_deleted": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": "The deleted options of the field. Only present when there is at least 1 deleted option."
              },
              "searchable_flag": {
                "type": "boolean",
                "description": "Whether or not items can be searched by this field"
              },
              "add_visible_flag": {
                "type": "boolean",
                "description": "Not used"
              },
              "bulk_edit_allowed": {
                "type": "boolean",
                "description": "Whether or not the field of an item can be edited in bulk"
              },
              "filtering_allowed": {
                "type": "boolean",
                "description": "Whether or not items can be filtered by this field"
              },
              "index_visible_flag": {
                "type": "boolean",
                "description": "Not used"
              },
              "details_visible_flag": {
                "type": "boolean",
                "description": "Not used"
              },
              "last_updated_by_user_id": {
                "type": "integer",
                "description": "The ID of the user who created or most recently updated the field, only applicable for custom fields"
              }
            }
          }
        },
        "additional_data": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "description": "Items shown per page"
            },
            "start": {
              "type": "integer",
              "description": "Pagination start"
            },
            "more_items_in_collection": {
              "type": "boolean",
              "description": "If there are more list items in the collection than displayed or not"
            }
          },
          "description": "The additional data of the list"
        }
      }
    }
  ],
  "title": "fieldsResponse200"
}
object ActivityTypesAddNewTypeRequest
{
  "type": "object",
  "title": "addActivityTypeRequest",
  "required": [
    "name",
    "icon_key"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "call",
      "description": "The name of the activity type"
    },
    "color": {
      "type": "string",
      "example": "FFFFFF",
      "description": "A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)"
    },
    "icon_key": {
      "enum": [
        "task",
        "email",
        "meeting",
        "deadline",
        "call",
        "lunch",
        "calendar",
        "downarrow",
        "document",
        "smartphone",
        "camera",
        "scissors",
        "cogs",
        "bubble",
        "uparrow",
        "checkbox",
        "signpost",
        "shuffle",
        "addressbook",
        "linegraph",
        "picture",
        "car",
        "world",
        "search",
        "clip",
        "sound",
        "brush",
        "key",
        "padlock",
        "pricetag",
        "suitcase",
        "finish",
        "plane",
        "loop",
        "wifi",
        "truck",
        "cart",
        "bulb",
        "bell",
        "presentation"
      ],
      "type": "string",
      "description": "Icon graphic to use for representing this activity type"
    }
  }
}
object ActivityTypesAddNewTypeResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The ID of the activity type"
            },
            "name": {
              "type": "string",
              "description": "The name of the activity type"
            },
            "color": {
              "type": "string",
              "description": "A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)"
            },
            "add_time": {
              "type": "string",
              "format": "date-time",
              "description": "The creation time of the activity type"
            },
            "icon_key": {
              "enum": [
                "task",
                "email",
                "meeting",
                "deadline",
                "call",
                "lunch",
                "calendar",
                "downarrow",
                "document",
                "smartphone",
                "camera",
                "scissors",
                "cogs",
                "bubble",
                "uparrow",
                "checkbox",
                "signpost",
                "shuffle",
                "addressbook",
                "linegraph",
                "picture",
                "car",
                "world",
                "search",
                "clip",
                "sound",
                "brush",
                "key",
                "padlock",
                "pricetag",
                "suitcase",
                "finish",
                "plane",
                "loop",
                "wifi",
                "truck",
                "cart",
                "bulb",
                "bell",
                "presentation"
              ],
              "type": "string",
              "description": "Icon graphic to use for representing this activity type"
            },
            "order_nr": {
              "type": "integer",
              "description": "An order number for the activity type. Order numbers should be used to order the types in the activity type selections."
            },
            "key_string": {
              "type": "string",
              "description": "A string that is generated by the API based on the given name of the activity type upon creation"
            },
            "active_flag": {
              "type": "boolean",
              "description": "The active flag of the activity type"
            },
            "update_time": {
              "type": "string",
              "format": "date-time",
              "description": "The update time of the activity type"
            },
            "is_custom_flag": {
              "type": "boolean",
              "description": "Whether the activity type is a custom one or not"
            }
          }
        }
      }
    }
  ],
  "title": "createUpdateDeleteActivityTypeResponse200"
}
object ActivityTypesListAllActivityTypesResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The ID of the activity type"
              },
              "name": {
                "type": "string",
                "description": "The name of the activity type"
              },
              "color": {
                "type": "string",
                "description": "A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)"
              },
              "add_time": {
                "type": "string",
                "format": "date-time",
                "description": "The creation time of the activity type"
              },
              "icon_key": {
                "enum": [
                  "task",
                  "email",
                  "meeting",
                  "deadline",
                  "call",
                  "lunch",
                  "calendar",
                  "downarrow",
                  "document",
                  "smartphone",
                  "camera",
                  "scissors",
                  "cogs",
                  "bubble",
                  "uparrow",
                  "checkbox",
                  "signpost",
                  "shuffle",
                  "addressbook",
                  "linegraph",
                  "picture",
                  "car",
                  "world",
                  "search",
                  "clip",
                  "sound",
                  "brush",
                  "key",
                  "padlock",
                  "pricetag",
                  "suitcase",
                  "finish",
                  "plane",
                  "loop",
                  "wifi",
                  "truck",
                  "cart",
                  "bulb",
                  "bell",
                  "presentation"
                ],
                "type": "string",
                "description": "Icon graphic to use for representing this activity type"
              },
              "order_nr": {
                "type": "integer",
                "description": "An order number for the activity type. Order numbers should be used to order the types in the activity type selections."
              },
              "key_string": {
                "type": "string",
                "description": "A string that is generated by the API based on the given name of the activity type upon creation"
              },
              "active_flag": {
                "type": "boolean",
                "description": "The active flag of the activity type"
              },
              "update_time": {
                "type": "string",
                "format": "date-time",
                "description": "The update time of the activity type"
              },
              "is_custom_flag": {
                "type": "boolean",
                "description": "Whether the activity type is a custom one or not"
              }
            }
          },
          "description": "The array of activity types"
        }
      }
    }
  ],
  "title": "getActivityTypesResponse200"
}
object ActivityTypesMarkAsDeletedBulkResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "id": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The IDs of the deleted activity types"
            }
          }
        }
      }
    }
  ],
  "title": "deleteActivityTypesResponse200"
}
object ActivityTypesMarkAsDeletedResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The ID of the activity type"
            },
            "name": {
              "type": "string",
              "description": "The name of the activity type"
            },
            "color": {
              "type": "string",
              "description": "A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)"
            },
            "add_time": {
              "type": "string",
              "format": "date-time",
              "description": "The creation time of the activity type"
            },
            "icon_key": {
              "enum": [
                "task",
                "email",
                "meeting",
                "deadline",
                "call",
                "lunch",
                "calendar",
                "downarrow",
                "document",
                "smartphone",
                "camera",
                "scissors",
                "cogs",
                "bubble",
                "uparrow",
                "checkbox",
                "signpost",
                "shuffle",
                "addressbook",
                "linegraph",
                "picture",
                "car",
                "world",
                "search",
                "clip",
                "sound",
                "brush",
                "key",
                "padlock",
                "pricetag",
                "suitcase",
                "finish",
                "plane",
                "loop",
                "wifi",
                "truck",
                "cart",
                "bulb",
                "bell",
                "presentation"
              ],
              "type": "string",
              "description": "Icon graphic to use for representing this activity type"
            },
            "order_nr": {
              "type": "integer",
              "description": "An order number for the activity type. Order numbers should be used to order the types in the activity type selections."
            },
            "key_string": {
              "type": "string",
              "description": "A string that is generated by the API based on the given name of the activity type upon creation"
            },
            "active_flag": {
              "type": "boolean",
              "description": "The active flag of the activity type"
            },
            "update_time": {
              "type": "string",
              "format": "date-time",
              "description": "The update time of the activity type"
            },
            "is_custom_flag": {
              "type": "boolean",
              "description": "Whether the activity type is a custom one or not"
            }
          }
        }
      }
    }
  ],
  "title": "createUpdateDeleteActivityTypeResponse200"
}
object ActivityTypesUpdateTypeRequest
{
  "type": "object",
  "title": "updateActivityTypeRequest",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the activity type"
    },
    "color": {
      "type": "string",
      "description": "A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)"
    },
    "icon_key": {
      "enum": [
        "task",
        "email",
        "meeting",
        "deadline",
        "call",
        "lunch",
        "calendar",
        "downarrow",
        "document",
        "smartphone",
        "camera",
        "scissors",
        "cogs",
        "bubble",
        "uparrow",
        "checkbox",
        "signpost",
        "shuffle",
        "addressbook",
        "linegraph",
        "picture",
        "car",
        "world",
        "search",
        "clip",
        "sound",
        "brush",
        "key",
        "padlock",
        "pricetag",
        "suitcase",
        "finish",
        "plane",
        "loop",
        "wifi",
        "truck",
        "cart",
        "bulb",
        "bell",
        "presentation"
      ],
      "type": "string",
      "description": "Icon graphic to use for representing this activity type"
    },
    "order_nr": {
      "type": "integer",
      "description": "An order number for this activity type. Order numbers should be used to order the types in the activity type selections."
    }
  }
}
object ActivityTypesUpdateTypeResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "The ID of the activity type"
            },
            "name": {
              "type": "string",
              "description": "The name of the activity type"
            },
            "color": {
              "type": "string",
              "description": "A designated color for the activity type in 6-character HEX format (e.g. `FFFFFF` for white, `000000` for black)"
            },
            "add_time": {
              "type": "string",
              "format": "date-time",
              "description": "The creation time of the activity type"
            },
            "icon_key": {
              "enum": [
                "task",
                "email",
                "meeting",
                "deadline",
                "call",
                "lunch",
                "calendar",
                "downarrow",
                "document",
                "smartphone",
                "camera",
                "scissors",
                "cogs",
                "bubble",
                "uparrow",
                "checkbox",
                "signpost",
                "shuffle",
                "addressbook",
                "linegraph",
                "picture",
                "car",
                "world",
                "search",
                "clip",
                "sound",
                "brush",
                "key",
                "padlock",
                "pricetag",
                "suitcase",
                "finish",
                "plane",
                "loop",
                "wifi",
                "truck",
                "cart",
                "bulb",
                "bell",
                "presentation"
              ],
              "type": "string",
              "description": "Icon graphic to use for representing this activity type"
            },
            "order_nr": {
              "type": "integer",
              "description": "An order number for the activity type. Order numbers should be used to order the types in the activity type selections."
            },
            "key_string": {
              "type": "string",
              "description": "A string that is generated by the API based on the given name of the activity type upon creation"
            },
            "active_flag": {
              "type": "boolean",
              "description": "The active flag of the activity type"
            },
            "update_time": {
              "type": "string",
              "format": "date-time",
              "description": "The update time of the activity type"
            },
            "is_custom_flag": {
              "type": "boolean",
              "description": "Whether the activity type is a custom one or not"
            }
          }
        }
      }
    }
  ],
  "title": "createUpdateDeleteActivityTypeResponse200"
}
object BillingGetAddonsForSingleCompanyResponse
{
  "allOf": [
    {
      "type": "object",
      "title": "baseResponse",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "If the response is successful or not"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "An array of add-ons that the company has."
        }
      }
    }
  ],
  "title": "subscriptionAddonsResponse200"
}
object CallLogsAddNewLog400Response
{
  "type": "object",
  "title": "callLogResponse400",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "\"outcome\" is required.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAddNewLog403Response
{
  "type": "object",
  "title": "callLogResponse403",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "You don't have permission to change this resource.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAddNewLog404Response
{
  "type": "object",
  "title": "callLogResponse404",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "A resource required for this operation was not found.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAddNewLog500Response
{
  "type": "object",
  "title": "callLogResponse500",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "An internal server error occurred",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAddNewLogRequest
{
  "type": "object",
  "title": "addCallLogRequest",
  "required": [
    "to_phone_number",
    "outcome",
    "start_time",
    "end_time"
  ],
  "properties": {
    "note": {
      "type": "string",
      "description": "The note for the call log in HTML format"
    },
    "org_id": {
      "type": "integer",
      "description": "The ID of the organization this call is associated with"
    },
    "deal_id": {
      "type": "integer",
      "description": "The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
    },
    "lead_id": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
    },
    "outcome": {
      "enum": [
        "connected",
        "no_answer",
        "left_message",
        "left_voicemail",
        "wrong_number",
        "busy"
      ],
      "type": "string",
      "description": "Describes the outcome of the call"
    },
    "subject": {
      "type": "string",
      "description": "The name of the activity this call is attached to"
    },
    "user_id": {
      "type": "integer",
      "description": "The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users."
    },
    "duration": {
      "type": "string",
      "description": "The duration of the call in seconds"
    },
    "end_time": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
    },
    "person_id": {
      "type": "integer",
      "description": "The ID of the person this call is associated with"
    },
    "start_time": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
    },
    "activity_id": {
      "type": "integer",
      "description": "If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don't need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity."
    },
    "to_phone_number": {
      "type": "string",
      "description": "The number called"
    },
    "from_phone_number": {
      "type": "string",
      "description": "The number that made the call"
    }
  }
}
object CallLogsAddNewLogResponse
{
  "type": "object",
  "title": "callLogResponse200",
  "properties": {
    "data": {
      "allOf": [
        {
          "type": "object",
          "title": "addCallLogRequest",
          "required": [
            "to_phone_number",
            "outcome",
            "start_time",
            "end_time"
          ],
          "properties": {
            "note": {
              "type": "string",
              "description": "The note for the call log in HTML format"
            },
            "org_id": {
              "type": "integer",
              "description": "The ID of the organization this call is associated with"
            },
            "deal_id": {
              "type": "integer",
              "description": "The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
            },
            "lead_id": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
            },
            "outcome": {
              "enum": [
                "connected",
                "no_answer",
                "left_message",
                "left_voicemail",
                "wrong_number",
                "busy"
              ],
              "type": "string",
              "description": "Describes the outcome of the call"
            },
            "subject": {
              "type": "string",
              "description": "The name of the activity this call is attached to"
            },
            "user_id": {
              "type": "integer",
              "description": "The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users."
            },
            "duration": {
              "type": "string",
              "description": "The duration of the call in seconds"
            },
            "end_time": {
              "type": "string",
              "format": "date-time",
              "description": "The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "person_id": {
              "type": "integer",
              "description": "The ID of the person this call is associated with"
            },
            "start_time": {
              "type": "string",
              "format": "date-time",
              "description": "The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "activity_id": {
              "type": "integer",
              "description": "If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don't need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity."
            },
            "to_phone_number": {
              "type": "string",
              "description": "The number called"
            },
            "from_phone_number": {
              "type": "string",
              "description": "The number that made the call"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The call log ID, generated when the call log was created"
            },
            "company_id": {
              "type": "integer",
              "description": "The company ID of the owner of the call log"
            },
            "has_recording": {
              "type": "boolean",
              "description": "If the call log has an audio recording attached, the value should be true"
            }
          }
        }
      ],
      "title": "responseCallLogObject"
    },
    "success": {
      "type": "boolean",
      "description": "If the response is successful or not"
    }
  }
}
object CallLogsAttachRecording404Response
{
  "type": "object",
  "title": "callLogResponse404",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "A resource required for this operation was not found.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAttachRecording409Response
{
  "type": "object",
  "title": "callLogResponse409",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "A recording for this call already exists",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAttachRecording500Response
{
  "type": "object",
  "title": "callLogResponse500",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "An internal server error occurred",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsAttachRecordingRequest
{
  "type": "object",
  "title": "addCallLogAudioFileRequest",
  "required": [
    "file"
  ],
  "properties": {
    "file": {
      "type": "string",
      "format": "binary",
      "description": "Audio file supported by the HTML5 specification"
    }
  }
}
object CallLogsAttachRecordingResponse
{
  "type": "object",
  "title": "baseResponse",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "If the response is successful or not"
    }
  }
}
object CallLogsDeleteLog403Response
{
  "type": "object",
  "title": "callLogResponse403",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "You don't have permission to change this resource.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsDeleteLog404Response
{
  "type": "object",
  "title": "callLogResponse404",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "A resource required for this operation was not found.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsDeleteLog410Response
{
  "type": "object",
  "title": "callLogResponse410",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "The callLog you are trying to access is no longer available",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsDeleteLog500Response
{
  "type": "object",
  "title": "callLogResponse500",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "An internal server error occurred",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsDeleteLogResponse
{
  "type": "object",
  "title": "baseResponse",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "If the response is successful or not"
    }
  }
}
object CallLogsGetAllLogsResponse
{
  "type": "object",
  "title": "callLogsResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "type": "object",
            "title": "addCallLogRequest",
            "required": [
              "to_phone_number",
              "outcome",
              "start_time",
              "end_time"
            ],
            "properties": {
              "note": {
                "type": "string",
                "description": "The note for the call log in HTML format"
              },
              "org_id": {
                "type": "integer",
                "description": "The ID of the organization this call is associated with"
              },
              "deal_id": {
                "type": "integer",
                "description": "The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
              },
              "lead_id": {
                "type": "string",
                "format": "uuid",
                "description": "The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
              },
              "outcome": {
                "enum": [
                  "connected",
                  "no_answer",
                  "left_message",
                  "left_voicemail",
                  "wrong_number",
                  "busy"
                ],
                "type": "string",
                "description": "Describes the outcome of the call"
              },
              "subject": {
                "type": "string",
                "description": "The name of the activity this call is attached to"
              },
              "user_id": {
                "type": "integer",
                "description": "The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users."
              },
              "duration": {
                "type": "string",
                "description": "The duration of the call in seconds"
              },
              "end_time": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
              },
              "person_id": {
                "type": "integer",
                "description": "The ID of the person this call is associated with"
              },
              "start_time": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
              },
              "activity_id": {
                "type": "integer",
                "description": "If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don't need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity."
              },
              "to_phone_number": {
                "type": "string",
                "description": "The number called"
              },
              "from_phone_number": {
                "type": "string",
                "description": "The number that made the call"
              }
            }
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The call log ID, generated when the call log was created"
              },
              "company_id": {
                "type": "integer",
                "description": "The company ID of the owner of the call log"
              },
              "has_recording": {
                "type": "boolean",
                "description": "If the call log has an audio recording attached, the value should be true"
              }
            }
          }
        ],
        "title": "responseCallLogObject"
      }
    },
    "success": {
      "type": "boolean",
      "description": "If the response is successful or not"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "pagination": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "description": "Items shown per page"
            },
            "start": {
              "type": "integer",
              "description": "Pagination start"
            },
            "more_items_in_collection": {
              "type": "boolean",
              "description": "If there are more list items in the collection than displayed or not"
            }
          },
          "description": "The additional data of the list"
        }
      }
    }
  }
}
object CallLogsGetDetails404Response
{
  "type": "object",
  "title": "callLogResponse404",
  "properties": {
    "data": {
      "type": "object",
      "example": null,
      "nullable": true
    },
    "error": {
      "type": "string",
      "example": "A resource required for this operation was not found.",
      "description": "The description of the error"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check developers.pipedrive.com for more information about Pipedrive API.",
      "description": "A message describing how to solve the problem"
    },
    "additional_data": {
      "type": "object",
      "example": null,
      "nullable": true
    }
  }
}
object CallLogsGetDetailsResponse
{
  "type": "object",
  "title": "callLogResponse200",
  "properties": {
    "data": {
      "allOf": [
        {
          "type": "object",
          "title": "addCallLogRequest",
          "required": [
            "to_phone_number",
            "outcome",
            "start_time",
            "end_time"
          ],
          "properties": {
            "note": {
              "type": "string",
              "description": "The note for the call log in HTML format"
            },
            "org_id": {
              "type": "integer",
              "description": "The ID of the organization this call is associated with"
            },
            "deal_id": {
              "type": "integer",
              "description": "The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
            },
            "lead_id": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once."
            },
            "outcome": {
              "enum": [
                "connected",
                "no_answer",
                "left_message",
                "left_voicemail",
                "wrong_number",
                "busy"
              ],
              "type": "string",
              "description": "Describes the outcome of the call"
            },
            "subject": {
              "type": "string",
              "description": "The name of the activity this call is attached to"
            },
            "user_id": {
              "type": "integer",
              "description": "The ID of the owner of the call log. Please note that a user without account settings access cannot create call logs for other users."
            },
            "duration": {
              "type": "string",
              "description": "The duration of the call in seconds"
            },
            "end_time": {
              "type": "string",
              "format": "date-time",
              "description": "The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "person_id": {
              "type": "integer",
              "description": "The ID of the person this call is associated with"
            },
            "start_time": {
              "type": "string",
              "format": "date-time",
              "description": "The date and time of the start of the call in UTC. Format: YYYY-MM-DD HH:MM:SS."
            },
            "activity_id": {
              "type": "integer",
              "description": "If specified, this activity will be converted into a call log, with the information provided. When this field is used, you don't need to specify `deal_id`, `person_id` or `org_id`, as they will be ignored in favor of the values already available in the activity. The `activity_id` must refer to a `call` type activity."
            },
            "to_phone_number": {
              "type": "string",
              "description": "The number called"
            },
            "from_phone_number": {
              "type": "string",
              "description": "The number that made the call"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The call log ID, generated when the call log was created"
            },
            "company_id": {
              "type": "integer",
              "description": "The company ID of the owner of the call log"
            },
            "has_recording": {
              "type": "boolean",
              "description": "If the call log has an audio recording attached, the value should be true"
            }
          }
        }
      ],
      "title": "responseCallLogObject"
    },
    "success": {
      "type": "boolean",
      "description": "If the response is successful or not"
    }
  }
}
object ChannelsCreateNewChannel400Response
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Expected { name: string; avatar_url?: string; provider_channel_id: string; }, but was incompatible",
      "description": "The error description"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check the reference docs in https://developers.pipedrive.com/docs/api/v1"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "INVALID_BODY",
          "description": "An error code sent by the API"
        }
      }
    }
  }
}
object ChannelsCreateNewChannel403Response
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Only admins can register channels",
      "description": "The error description"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check the reference docs in https://developers.pipedrive.com/docs/api/v1"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "ADMIN_ONLY",
          "description": "An error code sent by the API"
        }
      }
    }
  }
}
object ChannelsCreateNewChannelRequest
{
  "type": "object",
  "required": [
    "name",
    "provider_channel_id"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "My Channel",
      "description": "The name of the channel"
    },
    "avatar_url": {
      "type": "string",
      "format": "url",
      "description": "The URL for an icon that represents your channel"
    },
    "provider_type": {
      "enum": [
        "facebook",
        "whatsapp",
        "other"
      ],
      "type": "string",
      "default": "other",
      "description": "It controls the icons (like the icon next to the conversation)"
    },
    "template_support": {
      "type": "boolean",
      "default": false,
      "description": "If true, enables templates logic on UI. Requires getTemplates endpoint implemented. Find out more [here](https://pipedrive.readme.io/docs/implementing-messaging-app-extension)."
    },
    "provider_channel_id": {
      "type": "string",
      "description": "The channel ID"
    }
  }
}
object ChannelsCreateNewChannelResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique channel ID used internally in omnichannel-api and the frontend of the extension"
        },
        "name": {
          "type": "string",
          "example": "My Channel",
          "description": "The name of the channel"
        },
        "avatar_url": {
          "type": "string",
          "example": "http://some-domain.com/test.jpg",
          "description": "The URL for an icon that represents your channel"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time when your channel was created in the API"
        },
        "pd_user_id": {
          "type": "integer",
          "example": 1,
          "description": "The ID of the user in Pipedrive"
        },
        "pd_company_id": {
          "type": "integer",
          "example": 1,
          "description": "The ID of the user's company in Pipedrive"
        },
        "provider_type": {
          "enum": [
            "facebook",
            "whatsapp",
            "other"
          ],
          "type": "string",
          "description": "Value of the provider_type sent to this endpoint"
        },
        "template_support": {
          "type": "boolean",
          "description": "Value of the template_support sent to this endpoint"
        },
        "provider_channel_id": {
          "type": "string",
          "format": "string",
          "description": "The channel ID you specified while creating the channel"
        },
        "marketplace_client_id": {
          "type": "string",
          "description": "The client_id of your app in Pipedrive marketplace"
        }
      }
    },
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}
object ChannelsDeleteChannelById400Response
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Expected { name: string; avatar_url?: string; provider_channel_id: string; }, but was incompatible",
      "description": "The error description"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check the reference docs in https://developers.pipedrive.com/docs/api/v1"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "INVALID_BODY",
          "description": "An error code sent by the API"
        }
      }
    }
  }
}
object ChannelsDeleteChannelByIdResponse
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}
object ChannelsDeleteConversation403Response
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Only the app owner can delete conversations",
      "description": "The error description"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check the reference docs in https://developers.pipedrive.com/docs/api/v1"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "FORBIDDEN_USER_REQUEST",
          "description": "An error code sent by the API"
        }
      }
    }
  }
}
object ChannelsDeleteConversation404Response
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Channel not found.",
      "description": "The error description"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check the reference docs in https://developers.pipedrive.com/docs/api/v1"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "NOT_FOUND",
          "description": "An error code sent by the API"
        }
      }
    }
  }
}
object ChannelsDeleteConversationResponse
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}
object ChannelsReceiveMessage400Response
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Expected { id: string; sender_id: string; conversation_id: string; conversation_link?: string; channel_id: string; created_at: string; message: string; status: unknown; attachments: { id: string; type: string; name: string | null; size: number | null; url: string; preview_url: string | null; }[]; reply_by?: string | null; }, but was incompatible",
      "description": "The error description"
    },
    "success": {
      "type": "boolean",
      "example": false
    },
    "error_info": {
      "type": "string",
      "example": "Please check the reference docs in https://developers.pipedrive.com/docs/api/v1"
    },
    "additional_data": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "INVALID_RECEIVE_MESSAGE_PAYLOAD",
          "description": "An error code sent by the API"
        }
      }
    }
  }
}
object ChannelsReceiveMessageRequest
{
  "type": "object",
  "required": [
    "id",
    "channel_id",
    "sender_id",
    "conversation_id",
    "message",
    "status",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The ID of the message"
    },
    "status": {
      "enum": [
        "sent",
        "delivered",
        "read",
        "failed"
      ],
      "type": "string",
      "description": "The status of the message"
    },
    "message": {
      "type": "string",
      "description": "The body of the message"
    },
    "reply_by": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time when the message can no longer receive a reply, in UTC. Format: YYYY-MM-DD HH:MM"
    },
    "sender_id": {
      "type": "string",
      "description": "The ID of the provider's user that sent the message"
    },
    "channel_id": {
      "type": "string",
      "description": "The channel ID as in the provider"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time when the message was created in the provider, in UTC. Format: YYYY-MM-DD HH:MM"
    },
    "attachments": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "type",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the attachment"
          },
          "url": {
            "type": "string",
            "description": "A URL to the file"
          },
          "name": {
            "type": "string",
            "description": "The name of the attachment"
          },
          "size": {
            "type": "number",
            "description": "The size of the attachment"
          },
          "type": {
            "type": "string",
            "description": "The mime-type of the attachment"
          },
          "preview_url": {
            "type": "string",
            "description": "A URL to a preview picture of the file"
          },
          "link_expires": {
            "type": "boolean",
            "default": false,
            "description": "If true, it will use the getMessageById endpoint for fetching updated attachment's urls. Find out more [here](https://pipedrive.readme.io/docs/implementing-messaging-app-extension)"
          }
        }
      },
      "description": "The list of attachments available in the message"
    },
    "conversation_id": {
      "type": "string",
      "description": "The ID of the conversation"
    },
    "conversation_link": {
      "type": "string",
      "format": "url",
      "description": "A URL that can open the conversation in the provider's side"
    }
  }
}
object ChannelsReceiveMessageResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "id",
        "channel_id",
        "sender_id",
        "conversation_id",
        "message",
        "status",
        "created_at"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the message"
        },
        "status": {
          "enum": [
            "sent",
            "delivered",
            "read",
            "failed"
          ],
          "type": "string",
          "description": "The status of the message"
        },
        "message": {
          "type": "string",
          "description": "The body of the message"
        },
        "reply_by": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time when the message can no longer receive a reply, in UTC. Format: YYYY-MM-DD HH:MM"
        },
        "sender_id": {
          "type": "string",
          "description": "The ID of the provider's user that sent the message"
        },
        "channel_id": {
          "type": "string",
          "description": "The channel ID as in the provider"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time when the message was created in the provider, in UTC. Format: YYYY-MM-DD HH:MM"
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "type",
              "url"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "The ID of the attachment"
              },
              "url": {
                "type": "string",
                "description": "A URL to the file"
              },
              "name": {
                "type": "string",
                "description": "The name of the attachment"
              },
              "size": {
                "type": "number",
                "description": "The size of the attachment"
              },
              "type": {
                "type": "string",
                "description": "The mime-type of the attachment"
              },
              "preview_url": {
                "type": "string",
                "description": "A URL to a preview picture of the file"
              },
              "link_expires": {
                "type": "boolean",
                "default": false,
                "description": "If true, it will use the getMessageById endpoint for fetching updated attachment's urls. Find out more [here](https://pipedrive.readme.io/docs/implementing-messaging-app-extension)"
              }
            }
          },
          "description": "The list of attachments available in the message"
        },
        "conversation_id": {
          "type": "string",
          "description": "The ID of the conversation"
        },
        "conversation_link": {
          "type": "string",
          "format": "url",
          "description": "A URL that can open the conversation in the provider's side"
        }
      }
    },
    "success": {
      "type": "boolean",
      "description": "If the request was successful or not"
    }
  }
}