Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.pipedrive.com/v1
/activities
Marks multiple activities as deleted. After 30 days, the activities will be permanently deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | required | string | The comma-separated IDs of activities that will be deleted |
The activities were successfully deleted
DELETE /activities
/activities
Returns all activities assigned to a particular user.
| 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 |
| 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 |
| 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. |
A list of activities
GET /activities
/activities
Adds a new activity. Includes more_activities_scheduled_in_context property in response’s additional_data which indicates whether there are more undone activities scheduled with the same deal, person or organization (depending on the supplied data). For more information, see the tutorial for adding an activity.
application/json
ActivitiesAddNewActivityRequest
| Property | Type | Required |
|---|---|---|
| org_id | integer | optional |
| deal_id | integer | optional |
| lead_id | string | optional |
| due_date | string | optional |
| due_time | string | optional |
| duration | string | optional |
| location | string | optional |
| person_id | integer | optional |
| project_id | integer | optional |
| public_description | string | optional |
| done | number | optional |
| note | string | optional |
| type | string | optional |
| subject | string | optional |
| user_id | integer | optional |
| attendees | array | optional |
| busy_flag | boolean | optional |
| participants | array | optional |
Created
POST /activities
/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.
| 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 |
| 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 |
| 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. |
| 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 |
A list of activities
Forbidden response
GET /activities/collection
/activities/{id}
Marks an activity as deleted. After 30 days, the activity will be permanently deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the activity |
The activity was successfully deleted
DELETE /activities/{id}
/activities/{id}
Returns the details of a specific activity.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the activity |
The request was successful
GET /activities/{id}
/activities/{id}
Updates an activity. Includes more_activities_scheduled_in_context property in response’s additional_data which indicates whether there are more undone activities scheduled with the same deal, person or organization (depending on the supplied data).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the activity |
application/json
ActivitiesUpdateActivityDetailsRequest
| Property | Type | Required |
|---|---|---|
| org_id | integer | optional |
| deal_id | integer | optional |
| lead_id | string | optional |
| due_date | string | optional |
| due_time | string | optional |
| duration | string | optional |
| location | string | optional |
| person_id | integer | optional |
| project_id | integer | optional |
| public_description | string | optional |
| done | number | optional |
| note | string | optional |
| type | string | optional |
| subject | string | optional |
| user_id | integer | optional |
| attendees | array | optional |
| busy_flag | boolean | optional |
| participants | array | optional |
The request was successful
PUT /activities/{id}
/activityFields
Returns all activity fields.
Success
GET /activityFields
/activityTypes
Marks multiple activity types as deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | required | string | The comma-separated activity type IDs |
The activity types were successfully deleted
DELETE /activityTypes
/activityTypes
Returns all activity types.
A list of activity types
GET /activityTypes
/activityTypes
Adds a new activity type.
application/json
ActivityTypesAddNewTypeRequest
| Property | Type | Required |
|---|---|---|
| name | string | required |
| color | string | optional |
| icon_key | string | required |
The activity type was successfully created
POST /activityTypes
/activityTypes/{id}
Marks an activity type as deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the activity type |
The activity type was successfully deleted
DELETE /activityTypes/{id}
/activityTypes/{id}
Updates an activity type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the activity type |
application/json
ActivityTypesUpdateTypeRequest
| Property | Type | Required |
|---|---|---|
| name | string | optional |
| color | string | optional |
| icon_key | string | optional |
| order_nr | integer | optional |
The activity type was successfully updated
PUT /activityTypes/{id}
/billing/subscriptions/addons
Returns the add-ons for a single company.
Success
GET /billing/subscriptions/addons
/callLogs
Returns all call logs assigned to a particular user.
| 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. |
A list of call logs.
GET /callLogs
/callLogs
Adds a new call log.
application/json
CallLogsAddNewLogRequest
| Property | Type | Required |
|---|---|---|
| note | string | optional |
| org_id | integer | optional |
| deal_id | integer | optional |
| lead_id | string | optional |
| outcome | string | required |
| subject | string | optional |
| user_id | integer | optional |
| duration | string | optional |
| end_time | string | required |
| person_id | integer | optional |
| start_time | string | required |
| activity_id | integer | optional |
| to_phone_number | string | required |
| from_phone_number | string | optional |
The call log was successfully created.
The request contains wrong or incorrectly formatted arguments.
You don’t have permission to access the resource.
A resource required to process the request was not found.
There was an error processing the request.
POST /callLogs
/callLogs/{id}
Deletes a call log. If there is an audio recording attached to it, it will also be deleted. The related activity will not be removed by this request. If you want to remove the related activities, please use the endpoint which is specific for activities.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID received when you create the call log |
The call log was successfully deleted.
You don’t have permission to access the resource.
A resource required to process the request was not found.
The callLog you are trying to access is no longer available.
There was an error processing the request.
DELETE /callLogs/{id}
/callLogs/{id}
Returns details of a specific call log.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID received when you create the call log |
The requested call log object.
A resource required to process the request was not found.
GET /callLogs/{id}
/callLogs/{id}/recordings
Adds an audio recording to the call log. That audio can be played by those who have access to the call log object.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID received when you create the call log |
multipart/form-data
CallLogsAttachRecordingRequest
| Property | Type | Required |
|---|---|---|
| file | string | required |
The audio recording was successfully added to the log.
A resource required to process the request was not found.
Recording for this call already exists.
There was an error processing the request.
POST /callLogs/{id}/recordings
/channels
Adds a new messaging channel, only admins are able to register new channels. It will use the getConversations endpoint to fetch conversations, participants and messages afterward. To use the endpoint, you need to have Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension.
application/json
ChannelsCreateNewChannelRequest
| Property | Type | Required |
|---|---|---|
| name | string | required |
| avatar_url | string | optional |
| provider_type | string | optional |
| template_support | boolean | optional |
| provider_channel_id | string | required |
The channel registered
Bad Request
Forbidden
POST /channels
/channels/messages/receive
Adds a message to a conversation. To use the endpoint, you need to have Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension.
application/json
ChannelsReceiveMessageRequest
| Property | Type | Required |
|---|---|---|
| id | string | required |
| status | string | required |
| message | string | required |
| reply_by | string | optional |
| sender_id | string | required |
| channel_id | string | required |
| created_at | string | required |
| attachments | array | optional |
| └ id | string | required |
| └ url | string | required |
| └ name | string | optional |
| └ size | number | optional |
| └ type | string | required |
| └ preview_url | string | optional |
| └ link_expires | boolean | optional |
| conversation_id | string | required |
| conversation_link | string | optional |
The message was registered in the conversation
Bad Request
POST /channels/messages/receive
/channels/{channel-id}/conversations/{conversation-id}
Deletes an existing conversation. To use the endpoint, you need to have Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| channel-id | path | required | string | The ID of the channel provided by the integration |
| conversation-id | path | required | string | The ID of the conversation provided by the integration |
The conversation was deleted
Forbidden
Not Found
DELETE /channels/{channel-id}/conversations/{conversation-id}
/channels/{id}
Deletes an existing messenger’s channel and all related entities (conversations and messages). To use the endpoint, you need to have Messengers integration OAuth scope enabled and the Messaging manifest ready for the Messaging app extension.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the channel provided by the integration |
The channel was deleted
Bad Request
DELETE /channels/{id}
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| term | query | optional | string | Optional search term that is searched for from currency’s name and/or code |
The list of supported currencies
GET /currencies
/dealFields
Marks multiple deal fields as deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | required | string | The comma-separated field IDs to delete |
Success
DELETE /dealFields
/dealFields
Returns data about all deal fields.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /dealFields
/dealFields
Adds a new deal field. For more information, see the tutorial for adding a new custom field.
application/json
DealFieldsAddNewFieldRequest
| Property | Type | Required |
|---|---|---|
| name | string | required |
| options | array | optional |
| add_visible_flag | boolean | optional |
| field_type | string | required |
Success
POST /dealFields
/dealFields/{id}
Marks a field as deleted. For more information, see the tutorial for deleting a custom field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the field |
Success
DELETE /dealFields/{id}
/dealFields/{id}
Returns data about a specific deal field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the field |
Success
GET /dealFields/{id}
/dealFields/{id}
Updates a deal field. For more information, see the tutorial for updating custom fields’ values.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the field |
application/json
DealFieldsUpdateFieldRequest
| Property | Type | Required |
|---|---|---|
| name | string | optional |
| options | array | optional |
| add_visible_flag | boolean | optional |
Success
PUT /dealFields/{id}
/deals
Marks multiple deals as deleted. After 30 days, the deals will be permanently deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | required | string | The comma-separated IDs that will be deleted |
Delete multiple deals in bulk
DELETE /deals
/deals
Returns all deals. For more information, see the tutorial for getting all deals.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | query | optional | integer | If supplied, only deals matching the given user will be returned. However, |
| 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 ( |
| owned_by_you | query | optional | number | When supplied, only deals owned by you are returned. However, |
Get all deals
GET /deals
/deals
Adds a new deal. Note that you can supply additional custom fields along with the request that are not described here. These custom fields are different for each Pipedrive account and can be recognized by long hashes as keys. To determine which custom fields exists, fetch the dealFields and look for key values. For more information, see the tutorial for adding a deal.
application/json
DealsCreateDealRequest
| Property | Type | Required |
|---|---|---|
| title | string | required |
| label | array | optional |
| value | string | optional |
| org_id | integer | optional |
| status | string | optional |
| user_id | integer | optional |
| add_time | string | optional |
| currency | string | optional |
| stage_id | integer | optional |
| person_id | integer | optional |
| pipeline_id | integer | optional |
| won_time | string | optional |
| lost_time | string | optional |
| close_time | string | optional |
| visible_to | string | optional |
| lost_reason | string | optional |
| probability | number | optional |
| expected_close_date | string | optional |
Add a deal
POST /deals
/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.
| 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 |
| 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 |
| 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. |
Get all deals
Forbidden response
GET /deals/collection
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| term | query | required | string | The search term to look for. Minimum 2 characters (or 1 if using |
| 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: |
| 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 |
| limit | query | optional | integer | Items shown per page |
Success
GET /deals/search
/deals/summary
Returns a summary of all the deals.
| 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 | query | optional | integer | Only deals matching the given user will be returned. |
| stage_id | query | optional | integer | Only deals within the given stage will be returned |
Get the summary of the deals
GET /deals/summary
/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.
| 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> |
| amount | query | required | integer | The number of given intervals, starting from |
| 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, |
Get open and won deals, grouped by the defined interval of time
GET /deals/timeline
/deals/{id}
Marks a deal as deleted. After 30 days, the deal will be permanently deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
Delete a deal
DELETE /deals/{id}
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
Get a deal by its ID
GET /deals/{id}
/deals/{id}
Updates the properties of a deal. For more information, see the tutorial for updating a deal.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
application/json
DealsUpdatePropertiesRequest
| Property | Type | Required |
|---|---|---|
| title | string | optional |
| label | array | optional |
| value | string | optional |
| org_id | integer | optional |
| status | string | optional |
| user_id | integer | optional |
| currency | string | optional |
| stage_id | integer | optional |
| person_id | integer | optional |
| pipeline_id | integer | optional |
| won_time | string | optional |
| lost_time | string | optional |
| close_time | string | optional |
| visible_to | string | optional |
| lost_reason | string | optional |
| probability | number | optional |
| expected_close_date | string | optional |
Add a deal
PUT /deals/{id}
/deals/{id}/activities
Lists activities associated with a deal.
| 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 |
Success
GET /deals/{id}/activities
/deals/{id}/changelog
Lists updates about field values of a deal.
| 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 |
Get changelog of a deal
GET /deals/{id}/changelog
/deals/{id}/duplicate
Duplicates a deal.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
Duplicate a deal
POST /deals/{id}/duplicate
/deals/{id}/files
Lists files associated with a deal.
| 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 ( |
Success
GET /deals/{id}/files
/deals/{id}/flow
Lists updates about a deal.
| 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). |
Get the deal updates
GET /deals/{id}/flow
/deals/{id}/followers
Lists the followers of a deal.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
Success
GET /deals/{id}/followers
/deals/{id}/followers
Adds a follower to a deal.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
application/json
DealsAddFollowerRequest
| Property | Type | Required |
|---|---|---|
| user_id | integer | required |
Add a follower to a deal
POST /deals/{id}/followers
/deals/{id}/followers/{follower_id}
Deletes a follower from a deal.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
| follower_id | path | required | integer | The ID of the follower |
Delete a follower from a deal
DELETE /deals/{id}/followers/{follower_id}
/deals/{id}/mailMessages
Lists mail messages associated with a deal.
| 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 |
Success
GET /deals/{id}/mailMessages
/deals/{id}/merge
Merges a deal with another deal. For more information, see the tutorial for merging two deals.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
application/json
DealsMergeDealsRequest
| Property | Type | Required |
|---|---|---|
| merge_with_id | integer | required |
Merges a deal with another deal
PUT /deals/{id}/merge
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"
}
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"
}
}
}
}
}
}
}
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"
}
}
}
ActivitiesGetAllActivities403Response
{
"type": "object",
"title": "failResponse",
"properties": {
"error": {
"type": "string",
"description": "The error message"
},
"success": {
"type": "boolean",
"description": "If the response is successful or not"
}
}
}
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"
}
}
}
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"
}
}
}
}
}
}
}
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"
}
}
}
}
}
}
}
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"
}
}
}
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"
}
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"
}
}
}
}
}
}
}
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"
}
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"
}
}
}
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"
}
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"
}
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"
}
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"
}
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."
}
}
}
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"
}
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"
}
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
}
}
}
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
}
}
}
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
}
}
}
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
}
}
}
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"
}
}
}
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"
}
}
}
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
}
}
}
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
}
}
}
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
}
}
}
CallLogsAttachRecordingRequest
{
"type": "object",
"title": "addCallLogAudioFileRequest",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "Audio file supported by the HTML5 specification"
}
}
}
CallLogsAttachRecordingResponse
{
"type": "object",
"title": "baseResponse",
"properties": {
"success": {
"type": "boolean",
"description": "If the response is successful or not"
}
}
}
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
}
}
}
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
}
}
}
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
}
}
}
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
}
}
}
CallLogsDeleteLogResponse
{
"type": "object",
"title": "baseResponse",
"properties": {
"success": {
"type": "boolean",
"description": "If the response is successful or not"
}
}
}
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"
}
}
}
}
}
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
}
}
}
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"
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
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
}
}
}
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"
}
}
}
}
}
ChannelsDeleteChannelByIdResponse
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
ChannelsDeleteConversationResponse
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
}
}
}
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"
}
}
}
}
}
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"
}
}
}
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"
}
}
}