Overview
Exact Sales data synced to V4MOS.AI, through the integration's own endpoints
The V4MOS.AI Exact Sales API gives you the raw records synced from the Exact Sales accounts connected to your organization: leads, sales, losses, stage and qualification history, lead UTMs, funnels, stages, sources, industries, discard reasons and users. 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/exact-sales 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 Exact Sales in app.v4mos.ai (Connected accounts) and wait for the first sync.
- Call any endpoint below with your
organizationId, for exampleGET /v1/exact-sales/leads?organizationId=…. - Every row carries
integration_idandintegration_name: the connected account it came from. To read a single account, pass that value asintegrationId.
Available endpoints
- getLeads
/v1/exact-sales/leadsOne row per lead: stage, funnel, closing forecast, source, sub-source, industry, SDR and sales rep. - getSales
/v1/exact-sales/salesOne row per sale closed from a lead: date, stage, cycle, total value and number of products. - getLosses
/v1/exact-sales/lossesOne row per lead marked as lost: when, at which stage and funnel, and why. - getLead stage history
/v1/exact-sales/lead-stage-historyOne row per stage move of a lead: origin and destination stage and funnel, cycle and discard data. - getQualification history
/v1/exact-sales/qualification-historyOne row per lead qualification: stage, cycle, score, meeting date and user action. - getLead UTMs
/v1/exact-sales/lead-utmsOne row per UTM parameter captured on a lead (key and value). - getFunnels
/v1/exact-sales/funnelsOne row per funnel, with an active flag. - getStages
/v1/exact-sales/stagesOne row per funnel stage: position, gate type and active flag. - getSources
/v1/exact-sales/sourcesOne row per lead source, with its type and sub-sources (JSON). - getIndustries
/v1/exact-sales/industriesOne row per industry leads can be classified in. - getDiscard reasons
/v1/exact-sales/discard-reasonsOne row per lead discard reason. - getUsers
/v1/exact-sales/usersOne row per user of the account: role and active flag.
Resources
| Endpoint | What one row is | dateFrom / dateTo filter |
|---|---|---|
GET /v1/exact-sales/leads | One row per lead: stage, funnel, closing forecast, source, sub-source, industry, SDR and sales rep. | register_date |
GET /v1/exact-sales/sales | One row per sale closed from a lead: date, stage, cycle, total value and number of products. | sale_date |
GET /v1/exact-sales/losses | One row per lead marked as lost: when, at which stage and funnel, and why. | lost_at |
GET /v1/exact-sales/lead-stage-history | One row per stage move of a lead: origin and destination stage and funnel, cycle and discard data. | created_at |
GET /v1/exact-sales/qualification-history | One row per lead qualification: stage, cycle, score, meeting date and user action. | qualification_date |
GET /v1/exact-sales/lead-utms | One row per UTM parameter captured on a lead (key and value). | update_date |
GET /v1/exact-sales/funnels | One row per funnel, with an active flag. | — |
GET /v1/exact-sales/stages | One row per funnel stage: position, gate type and active flag. | — |
GET /v1/exact-sales/sources | One row per lead source, with its type and sub-sources (JSON). | — |
GET /v1/exact-sales/industries | One row per industry leads can be classified in. | — |
GET /v1/exact-sales/discard-reasons | One row per lead discard reason. | — |
GET /v1/exact-sales/users | One row per user of the account: role and active flag. | — |
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 Exact Sales 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.