Overview
Agendor data synced to V4MOS.AI, through the integration's own endpoints
The V4MOS.AI Agendor API gives you the raw records synced from the Agendor accounts connected to your organization: deals, deal movements, people, organizations, funnels, stages, statuses, origins, loss 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/agendor 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 Agendor in app.v4mos.ai (Connected accounts) and wait for the first sync.
- Call any endpoint below with your
organizationId, for exampleGET /v1/agendor/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/agendor/dealsOne row per deal: funnel, stage, status, value (also in BRL), start/end dates, won/lost times, person, organization and owner. - getDeal movements
/v1/agendor/deal-movementsOne row per audited deal event (stage, status or owner change) with the deal state after it. - getPeople
/v1/agendor/peopleOne row per person (contact): lead origin, category, organization and owner. - getOrganizations
/v1/agendor/organizationsOne row per organization (company account): lead origin, sector, category and owner. - getFunnels
/v1/agendor/funnelsOne row per sales funnel, with its order and default flag. - getDeal stages
/v1/agendor/deal-stagesOne row per funnel stage, with its order. - getDeal statuses
/v1/agendor/deal-statusesOne row per deal status (ongoing, won, lost). - getLead origins
/v1/agendor/lead-originsOne row per lead origin. - getLoss reasons
/v1/agendor/loss-reasonsOne row per deal loss reason. - getUsers
/v1/agendor/usersOne row per user of the account, with a blocked flag.
Resources
| Endpoint | What one row is | dateFrom / dateTo filter |
|---|---|---|
GET /v1/agendor/deals | One row per deal: funnel, stage, status, value (also in BRL), start/end dates, won/lost times, person, organization and owner. | created_at |
GET /v1/agendor/deal-movements | One row per audited deal event (stage, status or owner change) with the deal state after it. | updated_at |
GET /v1/agendor/people | One row per person (contact): lead origin, category, organization and owner. | created_at |
GET /v1/agendor/organizations | One row per organization (company account): lead origin, sector, category and owner. | created_at |
GET /v1/agendor/funnels | One row per sales funnel, with its order and default flag. | — |
GET /v1/agendor/deal-stages | One row per funnel stage, with its order. | — |
GET /v1/agendor/deal-statuses | One row per deal status (ongoing, won, lost). | — |
GET /v1/agendor/lead-origins | One row per lead origin. | — |
GET /v1/agendor/loss-reasons | One row per deal loss reason. | — |
GET /v1/agendor/users | One row per user of the account, with a blocked 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 Agendor 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.