Overview
Pipedrive data synced to V4MOS.AI, through the integration's own endpoints
The V4MOS.AI Pipedrive API gives you the raw records synced from the Pipedrive accounts connected to your organization: deals, deal stage history, leads, persons, pipelines, stages, users and field definitions. Rows come as they were synced, with the warehouse column names (snake_case), so you can load them straight into your BI. All endpoints use the /v1/pipedrive prefix and the same authentication, pagination and response format.
Getting started
Base URL: https://data.v4mos.ai. Every call requires your API credentials and the organizationId — see Authentication.
- Connect Pipedrive in app.v4mos.ai (Connected accounts) and wait for the first sync.
- Call any endpoint below with your
organizationId, for exampleGET /v1/pipedrive/deals?organizationId=…. - Every row carries
integration_idandintegration_name: the connected account it came from. To read a single account, pass that value asintegrationId.
Available endpoints
- getDeals
/v1/pipedrive/dealsOne row per deal: pipeline, stage, status, value, won/lost/close times, person, organization, owner, origin and channel. - getDeal stage history
/v1/pipedrive/deal-stage-historyOne row per change of a tracked deal field (such as the stage): old and new value, when and by whom. - getLeads
/v1/pipedrive/leadsOne row per lead of the Leads Inbox: owner, person, organization, source, origin, channel, value and expected close date. - getPersons
/v1/pipedrive/personsOne row per person (contact), with its owner and organization. - getPipelines
/v1/pipedrive/pipelinesOne row per pipeline, with its order and deal-probability setting. - getStages
/v1/pipedrive/stagesOne row per pipeline stage: order, deal probability and rotting settings. - getUsers
/v1/pipedrive/usersOne row per user of the account, with active and admin flags. - getLead sources
/v1/pipedrive/lead-sourcesOne row per lead source name available in the account. - getDeal fields
/v1/pipedrive/deal-fieldsOne row per deal field definition (standard or custom), with its options (JSON). - getPerson fields
/v1/pipedrive/person-fieldsOne row per person field definition (standard or custom), with its options (JSON).
Resources
| Endpoint | What one row is | dateFrom / dateTo filter |
|---|---|---|
GET /v1/pipedrive/deals | One row per deal: pipeline, stage, status, value, won/lost/close times, person, organization, owner, origin and channel. | add_time |
GET /v1/pipedrive/deal-stage-history | One row per change of a tracked deal field (such as the stage): old and new value, when and by whom. | changed_at |
GET /v1/pipedrive/leads | One row per lead of the Leads Inbox: owner, person, organization, source, origin, channel, value and expected close date. | add_time |
GET /v1/pipedrive/persons | One row per person (contact), with its owner and organization. | add_time |
GET /v1/pipedrive/pipelines | One row per pipeline, with its order and deal-probability setting. | add_time |
GET /v1/pipedrive/stages | One row per pipeline stage: order, deal probability and rotting settings. | add_time |
GET /v1/pipedrive/users | One row per user of the account, with active and admin flags. | — |
GET /v1/pipedrive/lead-sources | One row per lead source name available in the account. | — |
GET /v1/pipedrive/deal-fields | One row per deal field definition (standard or custom), with its options (JSON). | — |
GET /v1/pipedrive/person-fields | One row per person field definition (standard or custom), with its options (JSON). | — |
Pagination and filters
page(default 1) andlimit(default 500, max 5000).meta.hasNextPagesays whether another page exists; rows come in a stable order, so walk the pages until it isfalse.dateFrom/dateTo(YYYY-MM-DD, inclusive) filter by the date column shown in the table above. Resources without one reject them.integrationIdkeeps the rows of one connected account.- Answers are cached for 30 minutes and the data is synced once a day — see Data sync.
Personal data
Some Pipedrive resources carry personal data of your customers and contacts (such as email). Store and process it according to the LGPD and your own privacy policy.
Response format
{
"data": [{ "...": "one object per row, with the columns listed on each endpoint" }],
"meta": {
"page": 1,
"limit": 500,
"hasNextPage": true,
"hasPreviousPage": false
}
}Amounts and large counters (fields with format: decimal or format: int64 in each endpoint schema) come as strings, e.g. "125.50", so no precision is lost. Convert them to a decimal type on your side.