Need help with client-nodejs?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

pipedrive
154 Stars 65 Forks MIT License 602 Commits 10 Opened issues

Description

Pipedrive API client for NodeJS

Services available

!
?

Need anything else?

Contributors list

Pipedrive client for NodeJS based apps

Pipedrive is a sales pipeline software that gets you organized. It's a powerful sales CRM with effortless sales pipeline management. See www.pipedrive.com for details.

This is the official Pipedrive API wrapper-client for NodeJS based apps, distributed by Pipedrive Inc freely under the MIT licence. It provides convenient access to the Pipedrive API, allowing you to operate with objects such as Deals, Persons, Organizations, Products and much more.

Installation

npm install pipedrive

API Reference

The Pipedrive RESTful API Reference can be found at https://developers.pipedrive.com/docs/api/v1. Pipedrive API’s core concepts for its usage can be found in our Developer documentation.

How to use it?

With a pre-set API token

You can retrieve the api_token from your existing Pipedrive account’s settings page. A step-by-step guide is available here.

const express = require('express');
const app = express();
const pipedrive = require('pipedrive');

const PORT = 1800;

const defaultClient = pipedrive.ApiClient.instance;

// Configure API key authorization: apiToken let apiToken = defaultClient.authentications.api_key; apiToken.apiKey = 'YOUR_API_TOKEN_HERE';

app.listen(PORT, () => { console.log(Listening on port ${PORT}); });

app.get('/', async (req, res) => { const api = new pipedrive.DealsApi(); const deals = await api.getDeals();

res.send(deals);

});

With OAuth 2

If you would like to use an OAuth access token for making API calls, then make sure the API key described in the previous section is not set or is set to an empty string. If both API token and OAuth access token are set, then the API token takes precedence.

To set up authentication in the API client, you need the following information. You can receive the necessary client tokens through a Sandbox account (get it here) and generate the tokens (detailed steps here).

| Parameter | Description | |-----------|-------------| | clientId | OAuth 2 Client ID | | clientSecret | OAuth 2 Client Secret | | redirectUri | OAuth 2 Redirection endpoint or Callback Uri |

Next, initialize the API client as follows:

const pipedrive = require('pipedrive');

const apiClient = pipedrive.ApiClient.instance;

// Configuration parameters and credentials let oauth2 = apiClient.authentications.oauth2; oauth2.clientId = 'clientId'; // OAuth 2 Client ID oauth2.clientSecret = 'clientSecret'; // OAuth 2 Client Secret oauth2.redirectUri = 'redirectUri'; // OAuth 2 Redirection endpoint or Callback Uri

You must now authorize the client.

Authorizing your client

Your application must obtain user authorization before it can execute an endpoint call. The SDK uses OAuth 2.0 authorization to obtain a user's consent to perform an API request on the user's behalf. Details about how the OAuth2.0 flow works in Pipedrive, how long tokens are valid, and more, can be found here.

1. Obtaining user consent

To obtain user's consent, you must redirect the user to the authorization page. The

buildAuthorizationUrl()
method creates the URL to the authorization page.
const authUrl = apiClient.buildAuthorizationUrl();
// open up the authUrl in the browser

2. Handle the OAuth server response

Once the user responds to the consent request, the OAuth 2.0 server responds to your application's access request by using the URL specified in the request.

If the user approves the request, the authorization code will be sent as the

code
query string:
https://example.com/oauth/callback?code=XXXXXXXXXXXXXXXXXXXXXXXXX

If the user does not approve the request, the response contains an

error
query string:
https://example.com/oauth/callback?error=access_denied

3. Authorize the client using the code

After the server receives the code, it can exchange this for an access token. The access token is an object containing information for authorizing the client and refreshing the token itself. In the API client all the access token fields are held separately in the

authentications.oauth2
object. Additionally access token expiration time as an
authentications.oauth2.expiresAt
field is calculated. It is measured in the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC.
const tokenPromise = apiClient.authorize(code);

The Node.js SDK supports only promises. So, the authorize call returns a promise.

Refreshing token

Access tokens may expire after sometime. To extend its lifetime, you must refresh the token.

const refreshPromise = apiClient.refreshToken();
refreshPromise.then(() => {
    // token has been refreshed
} , (exception) => {
    // error occurred, exception will be of type src/exceptions/OAuthProviderException
});

If the access token expires, the SDK will attempt to automatically refresh it before the next endpoint call which requires authentication.

Storing an access token for reuse

It is recommended that you store the access token for reuse.

This code snippet stores the access token in a session for an express application. It uses the cookie-parser and cookie-session npm packages for storing the access token.

const express = require('express');
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');

const app = express(); app.use(cookieParser()); app.use(cookieSession({ name: 'session', keys: ['key1'] }));

const lib = require('pipedrive'); ... // store access token in the session // note that this is only the access token field value not the whole token object req.session.accessToken = apiClient.authentications.oauth2.accessToken;

However, since the SDK will attempt to automatically refresh the access token when it expires, it is recommended that you register a token update callback to detect any change to the access token.

apiClient.authentications.oauth2.tokenUpdateCallback = function(token) {
    // getting the updated token
    // here the token is an object, you can store the whole object or extract fields into separate values
    req.session.token = token;
}

The token update callback will be fired upon authorization as well as token refresh.

To authorize a client from a stored access token, just set the access token in api client oauth2 authentication object along with the other configuration parameters before making endpoint calls:

NB! This code only supports one client and should not be used as production code. Please store a separate access token for each client.

const express = require('express');
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');

const app = express(); app.use(cookieParser()); app.use(cookieSession({ name: 'session', keys: ['key1'] }));

const lib = require('pipedrive');

app.get('/', (req, res) => { apiClient.authentications.oauth2.accessToken = req.session.accessToken; // the access token stored in the session });

Complete example

This example demonstrates an express application (which uses cookie-parser and cookie-session) for handling session persistence.

In this example, there are 2 endpoints. The base endpoint

'/'
first checks if the token is stored in the session. If it is, API endpoints can be called using the corresponding SDK controllers.

However, if the token is not set in the session, then authorization URL is built and opened up. The response comes back at the

'/callback'
endpoint, which uses the code to authorize the client and store the token in the session. It then redirects back to the base endpoint for calling endpoints from the SDK.
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');

app.use(cookieParser()); app.use(cookieSession({ name: 'session', keys: ['key1'] })); const PORT = 1800;

const lib = require('pipedrive');

const apiClient = lib.ApiClient.instance;

let oauth2 = apiClient.authentications.oauth2; oauth2.clientId = 'clientId'; // OAuth 2 Client ID oauth2.clientSecret = 'clientSecret'; // OAuth 2 Client Secret oauth2.redirectUri = 'http://localhost:1800/callback'; // OAuth 2 Redirection endpoint or Callback Uri

app.listen(PORT, () => { console.log(Listening on port ${PORT}); });

app.get('/', async (req, res) => { if (req.session.accessToken !== null && req.session.accessToken !== undefined) { // token is already set in the session // now make API calls as required // client will automatically refresh the token when it expires and call the token update callback const api = new lib.DealsApi(); const deals = await api.getDeals();

    res.send(deals);
} else {
    const authUrl = apiClient.buildAuthorizationUrl();;

    res.redirect(authUrl);
}

});

app.get('/callback', (req, res) => { const authCode = req.query.code; const promise = apiClient.authorize(code);

promise.then(() => {
    req.session.accessToken = apiClient.authentications.oauth2.accessToken;
    res.redirect('/');
}, (exception) => {
    // error occurred, exception will be of type src/exceptions/OAuthProviderException
});

});

Documentation for API Endpoints

All URIs are relative to https://api.pipedrive.com/v1

Class

Method HTTP request Description
Pipedrive.ActivitiesApi addActivity POST /activities Add an Activity
Pipedrive.ActivitiesApi deleteActivities DELETE /activities Delete multiple Activities in bulk
Pipedrive.ActivitiesApi deleteActivity DELETE /activities/{id} Delete an Activity
Pipedrive.ActivitiesApi getActivities GET /activities Get all Activities assigned to a particular User
Pipedrive.ActivitiesApi getActivity GET /activities/{id} Get details of an Activity
Pipedrive.ActivitiesApi updateActivity PUT /activities/{id} Edit an Activity
Pipedrive.ActivityFieldsApi getActivityFields GET /activityFields Get all activity fields
Pipedrive.ActivityTypesApi addActivityType POST /activityTypes Add new ActivityType
Pipedrive.ActivityTypesApi deleteActivityType DELETE /activityTypes/{id} Delete an ActivityType
Pipedrive.ActivityTypesApi deleteActivityTypes DELETE /activityTypes Delete multiple ActivityTypes in bulk
Pipedrive.ActivityTypesApi getActivityTypes GET /activityTypes Get all ActivityTypes
Pipedrive.ActivityTypesApi updateActivityType PUT /activityTypes/{id} Edit an ActivityType
Pipedrive.CallLogsApi addCallLog POST /callLogs Add a call log
Pipedrive.CallLogsApi addCallLogAudioFile POST /callLogs/{id}/recordings Attach an audio file to the call log
Pipedrive.CallLogsApi deleteCallLog DELETE /callLogs/{id} Delete a call log
Pipedrive.CallLogsApi getCallLog GET /callLogs/{id} Get details of a call log
Pipedrive.CallLogsApi getUserCallLogs GET /callLogs Get all call logs assigned to a particular user
Pipedrive.CurrenciesApi getCurrencies GET /currencies Get all supported currencies
Pipedrive.DealFieldsApi addDealField POST /dealFields Add a new deal field
Pipedrive.DealFieldsApi deleteDealField DELETE /dealFields/{id} Delete a deal field
Pipedrive.DealFieldsApi deleteDealFields DELETE /dealFields Delete multiple deal fields in bulk
Pipedrive.DealFieldsApi getDealField GET /dealFields/{id} Get one deal field
Pipedrive.DealFieldsApi getDealFields GET /dealFields Get all deal fields
Pipedrive.DealFieldsApi updateDealField PUT /dealFields/{id} Update a deal field
Pipedrive.DealsApi addDeal POST /deals Add a deal
Pipedrive.DealsApi addDealFollower POST /deals/{id}/followers Add a follower to a deal
Pipedrive.DealsApi addDealParticipant POST /deals/{id}/participants Add a participant to a deal
Pipedrive.DealsApi addDealProduct POST /deals/{id}/products Add a product to the deal, eventually creating a new item called a deal-product
Pipedrive.DealsApi deleteDeal DELETE /deals/{id} Delete a deal
Pipedrive.DealsApi deleteDealFollower DELETE /deals/{id}/followers/{followerid} Delete a follower from a deal
Pipedrive.DealsApi deleteDealParticipant DELETE /deals/{id}/participants/{dealparticipantid} Delete a participant from a deal
Pipedrive.DealsApi deleteDealProduct DELETE /deals/{id}/products/{productattachmentid} Delete an attached product from a deal
Pipedrive.DealsApi deleteDeals DELETE /deals Delete multiple deals in bulk
Pipedrive.DealsApi duplicateDeal POST /deals/{id}/duplicate Duplicate deal
Pipedrive.DealsApi getDeal GET /deals/{id} Get details of a deal
Pipedrive.DealsApi getDealActivities GET /deals/{id}/activities List activities associated with a deal
Pipedrive.DealsApi getDealFiles GET /deals/{id}/files List files attached to a deal
Pipedrive.DealsApi getDealFollowers GET /deals/{id}/followers List followers of a deal
Pipedrive.DealsApi getDealMailMessages GET /deals/{id}/mailMessages List mail messages associated with a deal
Pipedrive.DealsApi getDealParticipants GET /deals/{id}/participants List participants of a deal
Pipedrive.DealsApi getDealPersons GET /deals/{id}/persons List all persons associated with a deal
Pipedrive.DealsApi getDealProducts GET /deals/{id}/products List products attached to a deal
Pipedrive.DealsApi getDealUpdates GET /deals/{id}/flow List updates about a deal
Pipedrive.DealsApi getDealUsers GET /deals/{id}/permittedUsers List permitted users
Pipedrive.DealsApi getDeals GET /deals Get all deals
Pipedrive.DealsApi getDealsSummary GET /deals/summary Get deals summary
Pipedrive.DealsApi getDealsTimeline GET /deals/timeline Get deals timeline
Pipedrive.DealsApi mergeDeals PUT /deals/{id}/merge Merge two deals
Pipedrive.DealsApi searchDeals GET /deals/search Search deals
Pipedrive.DealsApi updateDeal PUT /deals/{id} Update a deal
Pipedrive.DealsApi updateDealProduct PUT /deals/{id}/products/{productattachmentid} Update product attachment details of the deal-product (a product already attached to a deal)
Pipedrive.FilesApi addFile POST /files Add file
Pipedrive.FilesApi addFileAndLinkIt POST /files/remote Create a remote file and link it to an item
Pipedrive.FilesApi deleteFile DELETE /files/{id} Delete a file
Pipedrive.FilesApi downloadFile GET /files/{id}/download Download one file
Pipedrive.FilesApi getFile GET /files/{id} Get one file
Pipedrive.FilesApi getFiles GET /files Get all files
Pipedrive.FilesApi linkFileToItem POST /files/remoteLink Link a remote file to an item
Pipedrive.FilesApi updateFile PUT /files/{id} Update file details
Pipedrive.FiltersApi addFilter POST /filters Add a new filter
Pipedrive.FiltersApi deleteFilter DELETE /filters/{id} Delete a filter
Pipedrive.FiltersApi deleteFilters DELETE /filters Delete multiple filters in bulk
Pipedrive.FiltersApi getFilter GET /filters/{id} Get one filter
Pipedrive.FiltersApi getFilterHelpers GET /filters/helpers Get all filter helpers
Pipedrive.FiltersApi getFilters GET /filters Get all filters
Pipedrive.FiltersApi updateFilter PUT /filters/{id} Update filter
Pipedrive.GlobalMessagesApi deleteGlobalMessage DELETE /globalMessages/{id} Dismiss a global message
Pipedrive.GlobalMessagesApi getGlobalMessages GET /globalMessages Get global messages
Pipedrive.GoalsApi addGoal POST /goals Add a new goal
Pipedrive.GoalsApi deleteGoal DELETE /goals/{id} Delete existing goal
Pipedrive.GoalsApi getGoalResult GET /goals/{id}/results Get result of a goal
Pipedrive.GoalsApi getGoals GET /goals/find Find goals
Pipedrive.GoalsApi updateGoal PUT /goals/{id} Update existing goal
Pipedrive.ItemSearchApi searchItem GET /itemSearch Perform a search from multiple item types
Pipedrive.ItemSearchApi searchItemByField GET /itemSearch/field Perform a search using a specific field from an item type
Pipedrive.LeadLabelsApi addLeadLabel POST /leadLabels Add a lead label
Pipedrive.LeadLabelsApi deleteLeadLabel DELETE /leadLabels/{id} Delete a lead label
Pipedrive.LeadLabelsApi getLeadLabels GET /leadLabels Get all lead labels
Pipedrive.LeadLabelsApi updateLeadLabel PATCH /leadLabels/{id} Update a lead label
Pipedrive.LeadSourcesApi getLeadSources GET /leadSources Get all lead sources
Pipedrive.LeadsApi addLead POST /leads Add a lead
Pipedrive.LeadsApi deleteLead DELETE /leads/{id} Delete a lead
Pipedrive.LeadsApi getLead GET /leads/{id} Get one lead
Pipedrive.LeadsApi getLeads GET /leads Get all leads
Pipedrive.LeadsApi updateLead PATCH /leads/{id} Update a lead
Pipedrive.MailboxApi deleteMailThread DELETE /mailbox/mailThreads/{id} Delete mail thread
Pipedrive.MailboxApi getMailMessage GET /mailbox/mailMessages/{id} Get one mail message
Pipedrive.MailboxApi getMailThread GET /mailbox/mailThreads/{id} Get one mail thread
Pipedrive.MailboxApi getMailThreadMessages GET /mailbox/mailThreads/{id}/mailMessages Get all mail messages of mail thread
Pipedrive.MailboxApi getMailThreads GET /mailbox/mailThreads Get mail threads
Pipedrive.MailboxApi updateMailThreadDetails PUT /mailbox/mailThreads/{id} Update mail thread details
Pipedrive.NoteFieldsApi getNoteFields GET /noteFields Get all note fields
Pipedrive.NotesApi addNote POST /notes Add a note
Pipedrive.NotesApi addNoteComment POST /notes/{id}/comments Add a comment to a note
Pipedrive.NotesApi deleteComment DELETE /notes/{id}/comments/{commentId} Delete a comment related to a note
Pipedrive.NotesApi deleteNote DELETE /notes/{id} Delete a note
Pipedrive.NotesApi getComment GET /notes/{id}/comments/{commentId} Get one comment
Pipedrive.NotesApi getNote GET /notes/{id} Get one note
Pipedrive.NotesApi getNoteComments GET /notes/{id}/comments Get all comments for a note
Pipedrive.NotesApi getNotes GET /notes Get all notes
Pipedrive.NotesApi updateCommentForNote PUT /notes/{id}/comments/{commentId} Update a comment related to a note
Pipedrive.NotesApi updateNote PUT /notes/{id} Update a note
Pipedrive.OrganizationFieldsApi addOrganizationField POST /organizationFields Add a new organization field
Pipedrive.OrganizationFieldsApi deleteOrganizationField DELETE /organizationFields/{id} Delete an organization field
Pipedrive.OrganizationFieldsApi deleteOrganizationFields DELETE /organizationFields Delete multiple organization fields in bulk
Pipedrive.OrganizationFieldsApi getOrganizationField GET /organizationFields/{id} Get one organization field
Pipedrive.OrganizationFieldsApi getOrganizationFields GET /organizationFields Get all organization fields
Pipedrive.OrganizationFieldsApi updateOrganizationField PUT /organizationFields/{id} Update an organization field
Pipedrive.OrganizationRelationshipsApi addOrganizationRelationship POST /organizationRelationships Create an organization relationship
Pipedrive.OrganizationRelationshipsApi deleteOrganizationRelationship DELETE /organizationRelationships/{id} Delete an organization relationship
Pipedrive.OrganizationRelationshipsApi getOrganizationRelationship GET /organizationRelationships/{id} Get one organization relationship
Pipedrive.OrganizationRelationshipsApi getOrganizationRelationships GET /organizationRelationships Get all relationships for organization
Pipedrive.OrganizationRelationshipsApi updateOrganizationRelationship PUT /organizationRelationships/{id} Update an organization relationship
Pipedrive.OrganizationsApi addOrganization POST /organizations Add an organization
Pipedrive.OrganizationsApi addOrganizationFollower POST /organizations/{id}/followers Add a follower to an organization
Pipedrive.OrganizationsApi deleteOrganization DELETE /organizations/{id} Delete an organization
Pipedrive.OrganizationsApi deleteOrganizationFollower DELETE /organizations/{id}/followers/{followerid} Delete a follower from an organization
Pipedrive.OrganizationsApi deleteOrganizations DELETE /organizations Delete multiple organizations in bulk
Pipedrive.OrganizationsApi getOrganization GET /organizations/{id} Get details of an organization
Pipedrive.OrganizationsApi getOrganizationActivities GET /organizations/{id}/activities List activities associated with an organization
Pipedrive.OrganizationsApi getOrganizationDeals GET /organizations/{id}/deals List deals associated with an organization
Pipedrive.OrganizationsApi getOrganizationFiles GET /organizations/{id}/files List files attached to an organization
Pipedrive.OrganizationsApi getOrganizationFollowers GET /organizations/{id}/followers List followers of an organization
Pipedrive.OrganizationsApi getOrganizationMailMessages GET /organizations/{id}/mailMessages List mail messages associated with an organization
Pipedrive.OrganizationsApi getOrganizationPersons GET /organizations/{id}/persons List persons of an organization
Pipedrive.OrganizationsApi getOrganizationUpdates GET /organizations/{id}/flow List updates about an organization
Pipedrive.OrganizationsApi getOrganizationUsers GET /organizations/{id}/permittedUsers List permitted users
Pipedrive.OrganizationsApi getOrganizations GET /organizations Get all organizations
Pipedrive.OrganizationsApi mergeOrganizations PUT /organizations/{id}/merge Merge two organizations
Pipedrive.OrganizationsApi searchOrganization GET /organizations/search Search organizations
Pipedrive.OrganizationsApi updateOrganization PUT /organizations/{id} Update an organization
Pipedrive.PermissionSetsApi getPermissionSet GET /permissionSets/{id} Get one Permission Set
Pipedrive.PermissionSetsApi getPermissionSetAssignments GET /permissionSets/{id}/assignments List Permission Set assignments
Pipedrive.PermissionSetsApi getPermissionSets GET /permissionSets Get all Permission Sets
Pipedrive.PersonFieldsApi addPersonField POST /personFields Add a new person field
Pipedrive.PersonFieldsApi deletePersonField DELETE /personFields/{id} Delete a person field
Pipedrive.PersonFieldsApi deletePersonFields DELETE /personFields Delete multiple person fields in bulk
Pipedrive.PersonFieldsApi getPersonField GET /personFields/{id} Get one person field
Pipedrive.PersonFieldsApi getPersonFields GET /personFields Get all person fields
Pipedrive.PersonFieldsApi updatePersonField PUT /personFields/{id} Update a person field
Pipedrive.PersonsApi addPerson POST /persons Add a person
Pipedrive.PersonsApi addPersonFollower POST /persons/{id}/followers Add a follower to a person
Pipedrive.PersonsApi addPersonPicture POST /persons/{id}/picture Add person picture
Pipedrive.PersonsApi deletePerson DELETE /persons/{id} Delete a person
Pipedrive.PersonsApi deletePersonFollower DELETE /persons/{id}/followers/{followerid} Deletes a follower from a person.
Pipedrive.PersonsApi deletePersonPicture DELETE /persons/{id}/picture Delete person picture
Pipedrive.PersonsApi deletePersons DELETE /persons Delete multiple persons in bulk
Pipedrive.PersonsApi getPerson GET /persons/{id} Get details of a person
Pipedrive.PersonsApi getPersonActivities GET /persons/{id}/activities List activities associated with a person
Pipedrive.PersonsApi getPersonDeals GET /persons/{id}/deals List deals associated with a person
Pipedrive.PersonsApi getPersonFiles GET /persons/{id}/files List files attached to a person
Pipedrive.PersonsApi getPersonFollowers GET /persons/{id}/followers List followers of a person
Pipedrive.PersonsApi getPersonMailMessages GET /persons/{id}/mailMessages List mail messages associated with a person
Pipedrive.PersonsApi getPersonProducts GET /persons/{id}/products List products associated with a person
Pipedrive.PersonsApi getPersonUpdates GET /persons/{id}/flow List updates about a person
Pipedrive.PersonsApi getPersonUsers GET /persons/{id}/permittedUsers List permitted users
Pipedrive.PersonsApi getPersons GET /persons Get all persons
Pipedrive.PersonsApi mergePersons PUT /persons/{id}/merge Merge two persons
Pipedrive.PersonsApi searchPersons GET /persons/search Search persons
Pipedrive.PersonsApi updatePerson PUT /persons/{id} Update a person
Pipedrive.PipelinesApi addPipeline POST /pipelines Add a new pipeline
Pipedrive.PipelinesApi deletePipeline DELETE /pipelines/{id} Delete a pipeline
Pipedrive.PipelinesApi getPipeline GET /pipelines/{id} Get one pipeline
Pipedrive.PipelinesApi getPipelineConversionStatistics GET /pipelines/{id}/conversionstatistics Get deals conversion rates in pipeline
Pipedrive.PipelinesApi getPipelineDeals GET /pipelines/{id}/deals Get deals in a pipeline
Pipedrive.PipelinesApi getPipelineMovementStatistics GET /pipelines/{id}/movementstatistics Get deals movements in pipeline
Pipedrive.PipelinesApi getPipelines GET /pipelines Get all pipelines
Pipedrive.PipelinesApi updatePipeline PUT /pipelines/{id} Edit a pipeline
Pipedrive.ProductFieldsApi addProductField POST /productFields Add a new product field
Pipedrive.ProductFieldsApi deleteProductField DELETE /productFields/{id} Delete a product field
Pipedrive.ProductFieldsApi deleteProductFields DELETE /productFields Delete multiple product fields in bulk
Pipedrive.ProductFieldsApi getProductField GET /productFields/{id} Get one product field
Pipedrive.ProductFieldsApi getProductFields GET /productFields Get all product fields
Pipedrive.ProductFieldsApi updateProductField PUT /productFields/{id} Update a product field
Pipedrive.ProductsApi addProduct POST /products Add a product
Pipedrive.ProductsApi addProductFollower POST /products/{id}/followers Add a follower to a product
Pipedrive.ProductsApi deleteProduct DELETE /products/{id} Delete a product
Pipedrive.ProductsApi deleteProductFollower DELETE /products/{id}/followers/{followerid} Delete a follower from a product
Pipedrive.ProductsApi getProduct GET /products/{id} Get one product
Pipedrive.ProductsApi getProductDeals GET /products/{id}/deals Get deals where a product is attached to
Pipedrive.ProductsApi getProductFiles GET /products/{id}/files List files attached to a product
Pipedrive.ProductsApi getProductFollowers GET /products/{id}/followers List followers of a product
Pipedrive.ProductsApi getProductUsers GET /products/{id}/permittedUsers List permitted users
Pipedrive.ProductsApi getProducts GET /products Get all products
Pipedrive.ProductsApi searchProducts GET /products/search Search products
Pipedrive.ProductsApi updateProduct PUT /products/{id} Update a product
Pipedrive.RecentsApi getRecents GET /recents Get recents
Pipedrive.RolesApi addOrUpdateRoleSetting POST /roles/{id}/settings Add or update role setting
Pipedrive.RolesApi addRole POST /roles Add a role
Pipedrive.RolesApi addRoleAssignment POST /roles/{id}/assignments Add role assignment
Pipedrive.RolesApi deleteRole DELETE /roles/{id} Delete a role
Pipedrive.RolesApi deleteRoleAssignment DELETE /roles/{id}/assignments Delete a role assignment
Pipedrive.RolesApi getRole GET /roles/{id} Get one role
Pipedrive.RolesApi getRoleAssignments GET /roles/{id}/assignments List role assignments
Pipedrive.RolesApi getRoleSettings GET /roles/{id}/settings List role settings
Pipedrive.RolesApi getRoleSubRoles GET /roles/{id}/roles List role sub-roles
Pipedrive.RolesApi getRoles GET /roles Get all roles
Pipedrive.RolesApi updateRole PUT /roles/{id} Update role details
Pipedrive.StagesApi addStage POST /stages Add a new stage
Pipedrive.StagesApi deleteStage DELETE /stages/{id} Delete a stage
Pipedrive.StagesApi deleteStages DELETE /stages Delete multiple stages in bulk
Pipedrive.StagesApi getStage GET /stages/{id} Get one stage
Pipedrive.StagesApi getStageDeals GET /stages/{id}/deals Get deals in a stage
Pipedrive.StagesApi getStages GET /stages Get all stages
Pipedrive.StagesApi updateStage PUT /stages/{id} Update stage details
Pipedrive.SubscriptionsApi addRecurringSubscription POST /subscriptions/recurring Add a recurring subscription
Pipedrive.SubscriptionsApi addSubscriptionInstallment POST /subscriptions/installment Add an installment subscription
Pipedrive.SubscriptionsApi cancelRecurringSubscription PUT /subscriptions/recurring/{id}/cancel Cancel a recurring subscription
Pipedrive.SubscriptionsApi deleteSubscription DELETE /subscriptions/{id} Delete a subscription
Pipedrive.SubscriptionsApi findSubscriptionByDeal GET /subscriptions/find/{dealId} Find subscription by deal
Pipedrive.SubscriptionsApi getSubscription GET /subscriptions/{id} Get details of a subscription
Pipedrive.SubscriptionsApi getSubscriptionPayments GET /subscriptions/{id}/payments Get all payments of a Subscription
Pipedrive.SubscriptionsApi updateRecurringSubscription PUT /subscriptions/recurring/{id} Update a recurring subscription
Pipedrive.SubscriptionsApi updateSubscriptionInstallment PUT /subscriptions/installment/{id} Update an installment subscription
Pipedrive.TeamsApi addTeam POST /teams Add a new team
Pipedrive.TeamsApi addTeamUser POST /teams/{id}/users Add users to a team
Pipedrive.TeamsApi deleteTeamUser DELETE /teams/{id}/users Delete users from a team
Pipedrive.TeamsApi getTeam GET /teams/{id} Get a single team
Pipedrive.TeamsApi getTeamUsers GET /teams/{id}/users Get all users in a team
Pipedrive.TeamsApi getTeams GET /teams Get all teams
Pipedrive.TeamsApi getUserTeams GET /teams/user/{id} Get all teams of a user
Pipedrive.TeamsApi updateTeam PUT /teams/{id} Update a team
Pipedrive.UserConnectionsApi getUserConnections GET /userConnections Get all user connections
Pipedrive.UserSettingsApi getUserSettings GET /userSettings List settings of an authorized user
Pipedrive.UsersApi addUser POST /users Add a new user
Pipedrive.UsersApi addUserRoleAssignment POST /users/{id}/roleAssignments Add role assignment
Pipedrive.UsersApi deleteUserRoleAssignment DELETE /users/{id}/roleAssignments Delete a role assignment
Pipedrive.UsersApi findUsersByName GET /users/find Find users by name
Pipedrive.UsersApi getCurrentUser GET /users/me Get current user data
Pipedrive.UsersApi getUser GET /users/{id} Get one user
Pipedrive.UsersApi getUserFollowers GET /users/{id}/followers List followers of a user
Pipedrive.UsersApi getUserPermissions GET /users/{id}/permissions List user permissions
Pipedrive.UsersApi getUserRoleAssignments GET /users/{id}/roleAssignments List role assignments
Pipedrive.UsersApi getUserRoleSettings GET /users/{id}/roleSettings List user role settings
Pipedrive.UsersApi getUsers GET /users Get all users
Pipedrive.UsersApi updateUser PUT /users/{id} Update user details
Pipedrive.WebhooksApi addWebhook POST /webhooks Create a new webhook
Pipedrive.WebhooksApi deleteWebhook DELETE /webhooks/{id} Delete existing webhook
Pipedrive.WebhooksApi getWebhooks GET /webhooks Get all webhooks

Documentation for Models

Documentation for Authorization

api_key

  • Type: API key
  • API key parameter name: api_token
  • Location: URL query string

oauth2

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://oauth.pipedrive.com/oauth/authorize
  • Scopes:
    • deals:read: Read most data about deals and related entities.
    • deals:full: Create, read, update and delete deals, its participants and followers.
    • activities:read: Read activities, its fields and types; all files and filters.
    • activities:full: Create, read, update and delete activities and all files and filters.
    • contacts:read: Read data about persons and organizations, their related fields and followers.
    • contacts:full: Create, read, update and delete persons and organizations and their followers.
    • admin: Allows to do many things that an administrator can do in a Pipedrive company account.
    • recents:read: Read all recent changes occured in an account.
    • search:read: Search across the account for deals, persons, organizations, files and products and see details about the returned results.
    • mail:read: Read mail threads and messages.
    • mail:full: Read, update and delete mail threads. Also grants read access to mail messages.
    • products:read: Read products, its fields, files, followers and products connected to a deal.
    • products:full: Create, read, update and delete products and its fields; add products to deals
    • users:read: Read data about users (people with access to a Pipedrive account), their permissions, roles and followers, as well as about teams.
    • base: Read settings of the authorized user and currencies in an account.
    • phone-integration: Create, read and delete call logs and its audio recordings.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.