Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.pipedrive.com/v1
/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/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}
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}
/activityFields
Returns all activity fields.
Success
GET /activityFields
/activityTypes
Returns all activity types.
A list of activity types
GET /activityTypes
/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/{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}
/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
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/{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}
/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/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}
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}/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}/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}/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}/participants
Lists the participants associated with a deal.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.
| 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 |
Get all deal participants by the DealID
GET /deals/{id}/participants
/deals/{id}/participantsChangelog
List updates about participants of a deal. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
| limit | query | optional | integer | Items shown per page |
| cursor | query | optional | string | For pagination, the marker (an opaque string value) representing the first item on the next page |
Get participant changelogs for a given deal
GET /deals/{id}/participantsChangelog
/deals/{id}/permittedUsers
Lists the users permitted to access a deal.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the deal |
Success
GET /deals/{id}/permittedUsers
/deals/{id}/persons
Lists all persons associated with a deal, regardless of whether the person is the primary contact of the deal, or added as a participant.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.
| 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}/persons
/deals/{id}/products
Lists products attached to 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 |
| include_product_data | query | optional | number | Whether to fetch product data along with each attached product (1) or not (0, default) |
Success
GET /deals/{id}/products
/files
Returns data about all files.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Get data about all files uploaded to Pipedrive
GET /files
/files/{id}
Returns data about a specific file.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the file |
Get data about one specific file uploaded to Pipedrive
GET /files/{id}
/files/{id}/download
Initializes a file download.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the file |
success
GET /files/{id}/download
/filters
Returns data about all filters.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| type | query | optional | string | The types of filters to fetch |
Success
GET /filters
/filters/helpers
Returns all supported filter helpers. It helps to know what conditions and helpers are available when you want to add or update filters. For more information, see the tutorial for adding a filter.
Success
GET /filters/helpers
/filters/{id}
Returns data about a specific filter. Note that this also returns the condition lines of the filter.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the filter |
Success
GET /filters/{id}
/goals/find
Returns data about goals based on criteria. For searching, append {searchField}={searchValue} to the URL, where searchField can be any one of the lowest-level fields in dot-notation (e.g. type.params.pipeline_id; title). searchValue should be the value you are looking for on that field. Additionally, is_active=<true|false> can be provided to search for only active/inactive goals. When providing period.start, period.end must also be provided and vice versa.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| type.name | query | optional | string | The type of the goal. If provided, everyone’s goals will be returned. |
| title | query | optional | string | The title of the goal |
| is_active | query | optional | boolean | Whether the goal is active or not |
| assignee.id | query | optional | integer | The ID of the user who’s goal to fetch. When omitted, only your goals will be returned. |
| assignee.type | query | optional | string | The type of the goal’s assignee. If provided, everyone’s goals will be returned. |
| expected_outcome.target | query | optional | number | The numeric value of the outcome. If provided, everyone’s goals will be returned. |
| expected_outcome.tracking_metric | query | optional | string | The tracking metric of the expected outcome of the goal. If provided, everyone’s goals will be returned. |
| expected_outcome.currency_id | query | optional | integer | The numeric ID of the goal’s currency. Only applicable to goals with |
| type.params.pipeline_id | query | optional | array | An array of pipeline IDs or |
| type.params.stage_id | query | optional | integer | The ID of the stage. Applicable to only |
| type.params.activity_type_id | query | optional | array | An array of IDs or |
| period.start | query | optional | string | The start date of the period for which to find goals. Date in format of YYYY-MM-DD. When |
| period.end | query | optional | string | The end date of the period for which to find goals. Date in format of YYYY-MM-DD. |
Successful response containing payload in the data.goal object
GET /goals/find
/goals/{id}/results
Gets the progress of a goal for the specified period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the goal that the results are looked for |
| period.start | query | required | string | The start date of the period for which to find the goal’s progress. Format: YYYY-MM-DD. This date must be the same or after the goal duration start date. |
| period.end | query | required | string | The end date of the period for which to find the goal’s progress. Format: YYYY-MM-DD. This date must be the same or before the goal duration end date. |
Successful response containing payload in the data.goal object
GET /goals/{id}/results
/itemSearch
Performs a search from your choice of item types and fields.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| term | query | required | string | The search term to look for. Minimum 2 characters (or 1 if using |
| item_types | query | optional | string | A comma-separated string array. The type of items to perform the search from. Defaults to all. |
| fields | query | optional | string | A comma-separated string array. The fields to perform the search from. Defaults to all. Relevant for each item type are: |
| search_for_related_items | query | optional | boolean | When enabled, the response will include up to 100 newest related leads and 100 newest related deals for each found person and organization and up to 100 newest related persons for each found organization |
| exact_match | query | optional | boolean | When enabled, only full exact matches against the given term are returned. It is not case sensitive. |
| include_fields | query | optional | string | A comma-separated string array. Supports including optional fields in the results which are not provided by default. |
| start | query | optional | integer | Pagination start. Note that the pagination is based on main results and does not include related items when using |
| limit | query | optional | integer | Items shown per page |
Success
GET /itemSearch
/itemSearch/field
Performs a search from the values of a specific field. Results can either be the distinct values of the field (useful for searching autocomplete field values), or the IDs of actual items (deals, leads, persons, organizations or products).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| term | query | required | string | The search term to look for. Minimum 2 characters (or 1 if using |
| field_type | query | required | string | The type of the field to perform the search from |
| exact_match | query | optional | boolean | When enabled, only full exact matches against the given term are returned. The search is case sensitive. |
| field_key | query | required | string | The key of the field to search from. The field key can be obtained by fetching the list of the fields using any of the fields’ API GET methods (dealFields, personFields, etc.). Only the following custom field types are searchable: |
| return_item_ids | query | optional | boolean | Whether to return the IDs of the matching items or not. When not set or set to |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /itemSearch/field
/leadLabels
Returns details of all lead labels. This endpoint does not support pagination and all labels are always returned.
Successful response containing payload in the data field
GET /leadLabels
/leadSources
Returns all lead sources. Please note that the list of lead sources is fixed, it cannot be modified. All leads created through the Pipedrive API will have a lead source API assigned.
The successful response containing payload in the data field.
GET /leadSources
/leads
Returns multiple leads. Leads are sorted by the time they were created, from oldest to newest. Pagination can be controlled using limit and start query parameters. If a lead contains custom fields, the fields’ values will be included in the response in the same format as with the Deals endpoints. If a custom field’s value hasn’t been set for the lead, it won’t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields’ structure from deals.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. |
| start | query | optional | integer | For pagination, the position that represents the first result for the page |
| archived_status | query | optional | string | Filtering based on the archived status of a lead. If not provided, |
| owner_id | query | optional | integer | If supplied, only leads matching the given user will be returned. However, |
| person_id | query | optional | integer | If supplied, only leads matching the given person will be returned. However, |
| organization_id | query | optional | integer | If supplied, only leads matching the given organization will be returned. However, |
| filter_id | query | optional | integer | The ID of the filter to use |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Successful response containing payload in the data field
GET /leads
/leads/search
Searches all leads by title, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found leads can be filtered by the person ID and the organization ID.
| 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. |
| exact_match | query | optional | boolean | When enabled, only full exact matches against the given term are returned. It is not case sensitive. |
| person_id | query | optional | integer | Will filter leads by the provided person ID. The upper limit of found leads associated with the person is 2000. |
| organization_id | query | optional | integer | Will filter leads by the provided organization ID. The upper limit of found leads associated with the organization is 2000. |
| include_fields | query | optional | string | Supports including optional fields in the results which are not provided by default |
| start | query | optional | integer | Pagination start. Note that the pagination is based on main results and does not include related items when using |
| limit | query | optional | integer | Items shown per page |
Success
GET /leads/search
/leads/{id}
Returns details of a specific lead. If a lead contains custom fields, the fields’ values will be included in the response in the same format as with the Deals endpoints. If a custom field’s value hasn’t been set for the lead, it won’t appear in the response. Please note that leads do not have a separate set of custom fields, instead they inherit the custom fields’ structure from deals.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the lead |
Successful response containing payload in the data field
A resource describing an error
GET /leads/{id}
/leads/{id}/permittedUsers
Lists the users permitted to access a lead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the lead |
Lists users permitted to access a lead
GET /leads/{id}/permittedUsers
/mailbox/mailMessages/{id}
Returns data about a specific mail message.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the mail message to fetch |
| include_body | query | optional | number | Whether to include the full message body or not. |
The mail messages that are being synced with Pipedrive
GET /mailbox/mailMessages/{id}
/mailbox/mailThreads
Returns mail threads in a specified folder ordered by the most recent message within.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| folder | query | required | string | The type of folder to fetch |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Get mail threads
GET /mailbox/mailThreads
/mailbox/mailThreads/{id}
Returns a specific mail thread.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the mail thread |
Get mail threads
GET /mailbox/mailThreads/{id}
/mailbox/mailThreads/{id}/mailMessages
Returns all the mail messages inside a specified mail thread.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the mail thread |
Get mail messages from thread
GET /mailbox/mailThreads/{id}/mailMessages
/noteFields
Returns data about all note fields.
Success
GET /noteFields
/notes
Returns all notes.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | query | optional | integer | The ID of the user whose notes to fetch. If omitted, notes by all users will be returned. |
| lead_id | query | optional | string | The ID of the lead which notes to fetch. If omitted, notes about all leads will be returned. |
| deal_id | query | optional | integer | The ID of the deal which notes to fetch. If omitted, notes about all deals will be returned. |
| person_id | query | optional | integer | The ID of the person whose notes to fetch. If omitted, notes about all persons will be returned. |
| org_id | query | optional | integer | The ID of the organization which notes to fetch. If omitted, notes about all organizations will be returned. |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
| start_date | query | optional | string | The date in format of YYYY-MM-DD from which notes to fetch |
| end_date | query | optional | string | The date in format of YYYY-MM-DD until which notes to fetch to |
| pinned_to_lead_flag | query | optional | number | If set, the results are filtered by note to lead pinning state |
| pinned_to_deal_flag | query | optional | number | If set, the results are filtered by note to deal pinning state |
| pinned_to_organization_flag | query | optional | number | If set, the results are filtered by note to organization pinning state |
| pinned_to_person_flag | query | optional | number | If set, the results are filtered by note to person pinning state |
Get all notes
GET /notes
/notes/{id}
Returns details about a specific note.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the note |
Add, update or get a note
GET /notes/{id}
/notes/{id}/comments
Returns all comments associated with a note.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the note |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Get all comments
GET /notes/{id}/comments
/notes/{id}/comments/{commentId}
Returns the details of a comment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the note |
| commentId | path | required | string | The ID of the comment |
Add, update or get a comment
GET /notes/{id}/comments/{commentId}
/oauth/authorize
Authorize a user by redirecting them to the Pipedrive OAuth authorization page and request their permissions to act on their behalf. This step is necessary to implement only when you allow app installation outside of the Marketplace.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| client_id | query | required | string | The client ID provided to you by the Pipedrive Marketplace when you register your app |
| redirect_uri | query | required | string | The callback URL you provided when you registered your app. Authorization code will be sent to that URL (if it matches with the value you entered in the registration form) if a user approves the app install. Or, if a customer declines, the corresponding error will also be sent to this URL. |
| state | query | optional | string | You may pass any random string as the state parameter and the same string will be returned to your app after a user authorizes access. It may be used to store the user’s session ID from your app or distinguish different responses. Using state may increase security; see RFC-6749. The state parameter is not automatically available in Marketplace Manager. To enable it for your app, please write to us at marketplace.devs@pipedrive.com. |
Authorize user in the app.
GET /oauth/authorize
/organizationFields
Returns data about all organization fields.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /organizationFields
/organizationFields/{id}
Returns data about a specific organization field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the field |
Success
GET /organizationFields/{id}
/organizationRelationships
Gets all of the relationships for a supplied organization ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| org_id | query | required | integer | The ID of the organization to get relationships for |
Success
GET /organizationRelationships
/organizationRelationships/{id}
Finds and returns an organization relationship from its ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization relationship |
| org_id | query | optional | integer | The ID of the base organization for the returned calculated values |
Success
GET /organizationRelationships/{id}
/organizations
Returns all organizations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | query | optional | integer | If supplied, only organizations owned by the given user will be returned. However, |
| filter_id | query | optional | integer | The ID of the filter to use |
| first_char | query | optional | string | If supplied, only organizations whose name starts with the specified letter will be returned (case-insensitive) |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Success
GET /organizations
/organizations/collection
Returns all organizations. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.
| 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 |
| owner_id | query | optional | integer | If supplied, only organizations owned by the given user will be returned |
| first_char | query | optional | string | If supplied, only organizations whose name starts with the specified letter will be returned (case-insensitive) |
Success
Forbidden response
GET /organizations/collection
/organizations/search
Searches all organizations by name, address, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.
| 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. |
| 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 /organizations/search
/organizations/{id}
Returns the details of an organization. Note that this also returns some additional fields which are not present when asking for all organizations. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of organizationFields.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
Success
GET /organizations/{id}
/organizations/{id}/activities
Lists activities associated with an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| done | query | optional | number | Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted returns both Done and Not done activities. |
| exclude | query | optional | string | A comma-separated string of activity IDs to exclude from result |
Success
GET /organizations/{id}/activities
/organizations/{id}/changelog
Lists updates about field values of an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| cursor | query | optional | string | For pagination, the marker (an opaque string value) representing the first item on the next page |
| limit | query | optional | integer | Items shown per page |
Get changelog of an organization
GET /organizations/{id}/changelog
/organizations/{id}/deals
Lists deals associated with an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| status | query | optional | string | Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included. |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
| only_primary_association | query | optional | number | If set, only deals that are directly associated to the organization are fetched. If not set (default), all deals are fetched that are either directly or indirectly related to the organization. Indirect relations include relations through custom, organization-type fields and through persons of the given organization. |
Success
GET /organizations/{id}/deals
/organizations/{id}/files
Lists files associated with an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Success
GET /organizations/{id}/files
/organizations/{id}/flow
Lists updates about an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| all_changes | query | optional | string | Whether to show custom field updates or not. 1 = Include custom field changes. If omitted, returns changes without custom field updates. |
| items | query | optional | string | A comma-separated string for filtering out item specific updates. (Possible values - activity, plannedActivity, note, file, change, deal, follower, participant, mailMessage, mailMessageWithAttachment, invoice, activityFile, document). |
Get the organization updates
GET /organizations/{id}/flow
/organizations/{id}/followers
Lists the followers of an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
Success
GET /organizations/{id}/followers
/organizations/{id}/mailMessages
Lists mail messages associated with an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /organizations/{id}/mailMessages
/organizations/{id}/permittedUsers
List users permitted to access an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
Success
GET /organizations/{id}/permittedUsers
/organizations/{id}/persons
Lists persons associated with an organization.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the organization |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /organizations/{id}/persons
/permissionSets
Returns data about all permission sets.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| app | query | optional | string | The app to filter the permission sets by |
Get all permissions
GET /permissionSets
/permissionSets/{id}
Returns data about a specific permission set.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the permission set |
The permission set of a specific user ID
If the user ID has no assignments, then it will return NotFound
GET /permissionSets/{id}
/permissionSets/{id}/assignments
Returns the list of assignments for a permission set.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the permission set |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
The assignments of a specific user ID
If the user ID has no assignments, then it will return NotFound
GET /permissionSets/{id}/assignments
/personFields
Returns data about all person fields.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /personFields
/personFields/{id}
Returns data about a specific person field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the field |
Success
GET /personFields/{id}
/persons
Returns all persons.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | query | optional | integer | If supplied, only persons owned by the given user will be returned. However, |
| filter_id | query | optional | integer | The ID of the filter to use |
| first_char | query | optional | string | If supplied, only persons whose name starts with the specified letter will be returned (case-insensitive) |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Success
GET /persons
/persons/collection
Returns all persons. This is a cursor-paginated endpoint that is currently in BETA. For more information, please refer to our documentation on pagination. Please note that only global admins (those with global permissions) can access these endpoints. Users with regular permissions will receive a 403 response. Read more about global permissions here.
| 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 |
| owner_id | query | optional | integer | If supplied, only persons owned by the given user will be returned |
| first_char | query | optional | string | If supplied, only persons whose name starts with the specified letter will be returned (case-insensitive) |
Success
Forbidden response
GET /persons/collection
/persons/search
Searches all persons by name, email, phone, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found persons can be filtered by organization ID.
| 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. |
| organization_id | query | optional | integer | Will filter persons by the provided organization ID. The upper limit of found persons associated with the organization is 2000. |
| include_fields | query | optional | string | Supports including optional fields in the results which are not provided by default |
| start | query | optional | integer | Pagination start. Note that the pagination is based on main results and does not include related items when using |
| limit | query | optional | integer | Items shown per page |
Success
GET /persons/search
/persons/{id}
Returns the details of a person. Note that this also returns some additional fields which are not present when asking for all persons. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of personFields.
If a company uses the Campaigns product, then this endpoint will also return the data.marketing_status field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
Success
GET /persons/{id}
/persons/{id}/activities
Lists activities associated with a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| done | query | optional | number | Whether the activity is done or not. 0 = Not done, 1 = Done. If omitted, returns both Done and Not done activities. |
| exclude | query | optional | string | A comma-separated string of activity IDs to exclude from result |
Success
GET /persons/{id}/activities
/persons/{id}/changelog
Lists updates about field values of a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| cursor | query | optional | string | For pagination, the marker (an opaque string value) representing the first item on the next page |
| limit | query | optional | integer | Items shown per page |
Get changelog of a person
GET /persons/{id}/changelog
/persons/{id}/deals
Lists deals associated with a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| status | query | optional | string | Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included. |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Success
GET /persons/{id}/deals
/persons/{id}/files
Lists files associated with a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field names and sorting mode separated by a comma ( |
Success
GET /persons/{id}/files
/persons/{id}/flow
Lists updates about a person.
If a company uses the Campaigns product, then this endpoint’s response will also include updates for the marketing_status field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| all_changes | query | optional | string | Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates. |
| items | query | optional | string | A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change). |
Get the person updates
GET /persons/{id}/flow
/persons/{id}/followers
Lists the followers of a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
Success
GET /persons/{id}/followers
/persons/{id}/mailMessages
Lists mail messages associated with a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /persons/{id}/mailMessages
/persons/{id}/permittedUsers
List users permitted to access a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
Success
GET /persons/{id}/permittedUsers
/persons/{id}/products
Lists products associated with a person.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the person |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Success
GET /persons/{id}/products
/pipelines
Returns data about all pipelines.
Get all pipelines
GET /pipelines
/pipelines/{id}
Returns data about a specific pipeline. Also returns the summary of the deals in this pipeline across its stages.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the pipeline |
| totals_convert_currency | query | optional | string | The 3-letter currency code of any of the supported currencies. When supplied, |
Get pipeline
GET /pipelines/{id}
/pipelines/{id}/conversion_statistics
Returns all stage-to-stage conversion and pipeline-to-close rates for the given time period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the pipeline |
| start_date | query | required | string | The start of the period. Date in format of YYYY-MM-DD. |
| end_date | query | required | string | The end of the period. Date in format of YYYY-MM-DD. |
| user_id | query | optional | integer | The ID of the user who’s pipeline metrics statistics to fetch. If omitted, the authorized user will be used. |
Get pipeline deals conversion rates
GET /pipelines/{id}/conversion_statistics
/pipelines/{id}/deals
Lists deals in a specific pipeline across all its stages.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the pipeline |
| filter_id | query | optional | integer | If supplied, only deals matching the given filter will be returned |
| user_id | query | optional | integer | If supplied, |
| everyone | query | optional | number | If supplied, |
| stage_id | query | optional | integer | If supplied, only deals within the given stage will be returned |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| get_summary | query | optional | number | Whether to include a summary of the pipeline in the |
| totals_convert_currency | query | optional | string | The 3-letter currency code of any of the supported currencies. When supplied, |
Get deals in a stage
GET /pipelines/{id}/deals
/pipelines/{id}/movement_statistics
Returns statistics for deals movements for the given time period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the pipeline |
| start_date | query | required | string | The start of the period. Date in format of YYYY-MM-DD. |
| end_date | query | required | string | The end of the period. Date in format of YYYY-MM-DD. |
| user_id | query | optional | integer | The ID of the user who’s pipeline statistics to fetch. If omitted, the authorized user will be used. |
Get pipeline deals conversion rates
GET /pipelines/{id}/movement_statistics
/productFields
Returns data about all product fields.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Get data about all product fields
GET /productFields
/productFields/{id}
Returns data about a specific product field.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the product field |
Get the data for a single product field
The product field with the specified ID does not exist or is inaccessible
GET /productFields/{id}
/products
Returns data about all products.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | query | optional | integer | If supplied, only products owned by the given user will be returned |
| filter_id | query | optional | integer | The ID of the filter to use |
| ids | query | optional | array | An array of integers with the IDs of the products that should be returned in the response |
| first_char | query | optional | string | If supplied, only products whose name starts with the specified letter will be returned (case-insensitive) |
| get_summary | query | optional | boolean | If supplied, the response will return the total numbers of products in the |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
List of products
GET /products
/products/search
Searches all products by name, code and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.
| 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. |
| 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 /products/search
/products/{id}
Returns data about a specific product.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the product |
Get product information by id
GET /products/{id}
/products/{id}/deals
Returns data about deals that have a product attached to it.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the product |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| status | query | optional | string | Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included. |
The data of deals that have a product attached
GET /products/{id}/deals
/products/{id}/files
Lists files associated with a product.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the product |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
| sort | query | optional | string | The field name and sorting mode ( |
Success
GET /products/{id}/files
/products/{id}/followers
Lists the followers of a product.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the product |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Lists the followers of a product
GET /products/{id}/followers
/products/{id}/permittedUsers
Lists users permitted to access a product.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the product |
Lists users permitted to access a product
GET /products/{id}/permittedUsers
/projectTemplates
Returns all not deleted project templates. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| cursor | query | optional | string | For pagination, the marker (an opaque string value) representing the first item on the next page |
| limit | query | optional | integer | For pagination, the limit of entries to be returned. If not provided, up to 500 items will be returned. |
A list of project template.
GET /projectTemplates
/projectTemplates/{id}
Returns the details of a specific project template.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project template |
Get a project template.
GET /projectTemplates/{id}
/projects/boards/{id}
Returns the details of a specific project board.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project board |
Get a project board.
GET /projects/boards/{id}
/projects/phases/{id}
Returns the details of a specific project phase.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project phase |
Get a project phase.
GET /projects/phases/{id}
/projects
Returns all projects. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| cursor | query | optional | string | For pagination, the marker (an opaque string value) representing the first item on the next page |
| limit | query | optional | integer | For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. |
| filter_id | query | optional | integer | The ID of the filter to use |
| status | query | optional | string | If supplied, includes only projects with the specified statuses. Possible values are |
| phase_id | query | optional | integer | If supplied, only projects in specified phase are returned |
| include_archived | query | optional | boolean | If supplied with |
A list of projects.
GET /projects
/projects/boards
Returns all projects boards that are not deleted.
A list of project board.
GET /projects/boards
/projects/phases
Returns all active project phases under a specific board.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| board_id | query | required | integer | ID of the board for which phases are requested |
A list of project phases.
GET /projects/phases
/projects/{id}
Returns the details of a specific project. Also note that custom fields appear as long hashes in the resulting data. These hashes can be mapped against the key value of project fields.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project |
Get a project.
GET /projects/{id}
/projects/{id}/activities
Returns activities linked to a specific project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project |
A list of activities
GET /projects/{id}/activities
/projects/{id}/groups
Returns all active groups under a specific project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project |
Get a project groups.
GET /projects/{id}/groups
/projects/{id}/plan
Returns information about items in a project plan. Items consists of tasks and activities and are linked to specific project phase and group.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project |
Get a project plan.
GET /projects/{id}/plan
/projects/{id}/tasks
Returns tasks linked to a specific project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the project |
A list of tasks.
GET /projects/{id}/tasks
/recents
Returns data about all recent changes occurred after the given timestamp.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| since_timestamp | query | required | string | The timestamp in UTC. Format: YYYY-MM-DD HH:MM:SS. |
| items | query | optional | string | Multiple selection of item types to include in the query (optional) |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
List of items changed since “since_timestamp”
GET /recents
/roles
Returns all the roles within the company.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Get all roles
GET /roles
/roles/{id}
Returns the details of a specific role.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the role |
Get one role
GET /roles/{id}
/roles/{id}/assignments
Returns all users assigned to a role.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the role |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
List assignments for a role
GET /roles/{id}/assignments
/roles/{id}/pipelines
Returns the list of either visible or hidden pipeline IDs for a specific role. For more information on pipeline visibility, please refer to the Visibility groups article.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the role |
| visible | query | optional | boolean | Whether to return the visible or hidden pipelines for the role |
Get either visible or hidden pipeline ids for a role
GET /roles/{id}/pipelines
/roles/{id}/settings
Returns the visibility settings of a specific role.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the role |
List role settings
GET /roles/{id}/settings
/stages
Returns data about all stages.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| pipeline_id | query | optional | integer | The ID of the pipeline to fetch stages for. If omitted, stages for all pipelines will be fetched. |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Get all stages
GET /stages
/stages/{id}
Returns data about a specific stage.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the stage |
| everyone | query | optional | number | If |
Get stage
GET /stages/{id}
/stages/{id}/deals
Lists deals in a specific stage.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the stage |
| filter_id | query | optional | integer | If supplied, only deals matching the given filter will be returned |
| user_id | query | optional | integer | If supplied, |
| everyone | query | optional | number | If supplied, |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
Get deals in a stage
GET /stages/{id}/deals
/subscriptions/find/{dealId}
Returns details of an installment or a recurring subscription by the deal ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dealId | path | required | integer | The ID of the deal |
Success
GET /subscriptions/find/{dealId}
/subscriptions/{id}
Returns details of an installment or a recurring subscription.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the subscription |
Success
GET /subscriptions/{id}
/subscriptions/{id}/payments
Returns all payments of an installment or recurring subscription.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the subscription |
Success
GET /subscriptions/{id}/payments
/tasks
Returns all tasks. This is a cursor-paginated endpoint. For more information, please refer to our documentation on pagination.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| cursor | query | optional | string | For pagination, the marker (an opaque string value) representing the first item on the next page |
| limit | query | optional | integer | For pagination, the limit of entries to be returned. If not provided, up to 500 items will be returned. |
| assignee_id | query | optional | integer | If supplied, only tasks that are assigned to this user are returned |
| project_id | query | optional | integer | If supplied, only tasks that are assigned to this project are returned |
| parent_task_id | query | optional | integer | If |
| done | query | optional | number | Whether the task is done or not. |
A list of tasks.
GET /tasks
/tasks/{id}
Returns the details of a specific task.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the task |
Get a task.
GET /tasks/{id}
/userConnections
Returns data about all connections for the authorized user.
The data of user connections
Unauthorized response
GET /userConnections
/userSettings
Lists the settings of an authorized user. Example response contains a shortened list of settings.
The list of user settings
Unauthorized response
GET /userSettings
/users
Returns data about all users within the company.
The list of user objects
GET /users
/users/find
Finds users by their name.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| term | query | required | string | The search term to look for |
| search_by_email | query | optional | number | When enabled, the term will only be matched against email addresses of users. Default: |
The list of user objects
GET /users/find
/users/me
Returns data about an authorized user within the company with bound company data: company ID, company name, and domain. Note that the locale property means ‘Date/number format’ in the Pipedrive account settings, not the chosen language.
The data of the logged in user
Unauthorized response
GET /users/me
/users/{id}
Returns data about a specific user within the company.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the user |
The data of the user
User with specified ID does not exist or is inaccessible
GET /users/{id}
/users/{id}/followers
Lists the followers of a specific user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the user |
The list of user IDs
Forbidden response
GET /users/{id}/followers
/users/{id}/permissions
Lists aggregated permissions over all assigned permission sets for a user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the user |
The list of user permissions
GET /users/{id}/permissions
/users/{id}/roleAssignments
Lists role assignments for a user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the user |
| start | query | optional | integer | Pagination start |
| limit | query | optional | integer | Items shown per page |
List assignments for a role
GET /users/{id}/roleAssignments
/users/{id}/roleSettings
Lists the settings of user’s assigned role.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the user |
List role settings
GET /users/{id}/roleSettings
/webhooks
Returns data about all the Webhooks of a company.
The list of webhooks objects from the logged in company and user
Unauthorized response
GET /webhooks
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"
}
}
}