Pular para o conteúdo

Indicadores do período

GET
/v1/indicators/overview
curl --request GET \
--url 'https://developers.nexo.winningsales.com.br/v1/indicators/overview?period=current' \
--header 'Authorization: Bearer <token>'

Funil, conversão, ciclos, previsão (forecast), meta, cobertura, motivos de perda, temperatura e carteira aberta do período. Admin e líder de vendas veem o time (com filtro por donos); o vendedor vê só os próprios números, com o time apenas como referência anônima. Os números são calculados depois de cada sincronização do CRM e a cada hora: nada é calculado na chamada.

period

Current = this month so far; last-month, last-2-months, last-3-months = closed months ending before this one; last-3-months-to-date = from the same day three months ago through today, in the company time zone, compared with the three months before it

string
default: current
Allowed values: current last-month last-2-months last-3-months last-3-months-to-date

Current = this month so far; last-month, last-2-months, last-3-months = closed months ending before this one; last-3-months-to-date = from the same day three months ago through today, in the company time zone, compared with the three months before it

ownerIds

Comma-separated CRM owner ids. Absent = the whole team, including deals without owner

string
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}(,[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})*$/

Comma-separated CRM owner ids. Absent = the whole team, including deals without owner

pipelineId

Pipeline (funnel) in analysis. Absent = every funnel, the number of today. A pipeline out of analysis answers the same numbers of “every funnel” with funnelScope.pipelineId null.

string format: uuid

Pipeline (funnel) in analysis. Absent = every funnel, the number of today. A pipeline out of analysis answers the same numbers of “every funnel” with funnelScope.pipelineId null.

pipelineIds

Comma-separated pipelines (funnels) in analysis, read together: every number is the sum of those funnels. Takes precedence over pipelineId. Pipelines out of analysis are ignored; none left, or every funnel in analysis, is the same as absent (funnelScope.pipelineIds empty)

string
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}(,[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})*$/

Comma-separated pipelines (funnels) in analysis, read together: every number is the sum of those funnels. Takes precedence over pipelineId. Pipelines out of analysis are ignored; none left, or every funnel in analysis, is the same as absent (funnelScope.pipelineIds empty)

Indicadores do período, na visibilidade de quem pede

Media typeapplication/json
object
period
required

The window the numbers refer to

object
key
required

Requested period

string
start
required

First day, in the company time zone (YYYY-MM-DD)

string
end
required

Last day, in the company time zone (YYYY-MM-DD)

string
months
required

Months covered

integer
closed
required

False for the current month, still moving

boolean
computedAt
required

When the numbers were computed; null means not computed yet

string format: date-time
nullable
minimumBase
required

Below this base a rate is not declared: show the fraction instead

integer
funnelScope
required

Which funnel the numbers refer to, and the funnels that can be chosen

object
pipelineId
required

The funnel the numbers refer to when exactly one is chosen; null otherwise

string format: uuid
nullable
name
required

Funnel name when exactly one is chosen; null otherwise

string
nullable
pipelineIds
required

The funnels the numbers are summed over; empty = every funnel under analysis

Array<string>
options
required

Every funnel under analysis (the sales funnels chosen by the admin), in CRM order, whatever the filter

Array<object>
object
pipelineId
required

Pipeline id

string format: uuid
name
required

Pipeline name in the CRM

string
suggestedKind
required

Post_sales when the name looks like Customer Success, onboarding, implantação, renewal, retention or support

string
Allowed values: sales post_sales
excluded
required

Active funnels out of the analysis (usually post-sales), in CRM order: never in any number, listed for the “Nos números” line

Array<object>
object
pipelineId
required

Pipeline id

string format: uuid
name
required

Pipeline name in the CRM

string
suggestedKind
required

Post_sales when the name looks like Customer Success, onboarding, implantação, renewal, retention or support

string
Allowed values: sales post_sales
funnel
required

Funnel of passage in the period, by canonical phase: the monthly report and the rep panel read it

object
available
required

False means there is no funnel to draw; reason says why

boolean
reason
required

No_history = no stage history in the period; no_mapping = history exists but no stage has a phase

string
nullable
Allowed values: no_history no_mapping
top
required

Distinct deals that entered the funnel in the period

integer
won
required

Of those, deals won

integer
steps
required

Only phases with passages, in funnel order

Array<object>
object
phase
required

Canonical phase id

string
label
required

Phase label as the screen shows it

string
entered
required

Distinct deals that entered the phase in the period

integer
advanced
required

Of those, deals that reached any later phase in the period or were won

integer
stopped
required

Of those, deals that did not advance and were lost

integer
inPlay
required

Of those, deals that did not advance and are still open

integer
rate
required

Advanced ÷ entered in %, null when entered is below minimumBase

integer
nullable
benchmark
required

The reference effectively used for this phase, in %: the company history when there is base, the Winning reference otherwise; reference.source says which

integer
nullable
reference
required

What the rate is effectively compared to; null when there is no history and the phase has no Winning reference

object
rate
required

Reference conversion of the passage, in %, one decimal

number
base
required

Advanced + stopped of the stage in the history window; below minimumBase when the source is winning

integer
source
required

History = the same passage in the company, last 12 closed months, same owners; winning = the Winning reference of the canonical phase of the stage, only when the history is below minimumBase: label it as such

string
Allowed values: history winning
winning
required

The Winning reference of the phase (the Radar benchmark), in %, whatever the history; null for a phase without one

integer
nullable
goal
required

Where this point of the funnel stands against the goal of the month in course

object
toWonRate
required

Conversion to won from this point used to read the goal back, in %, one decimal: the last 12 closed months, else the Winning reference (toWonSource); 100 on the won line; null when there is neither

number
nullable
toWonSource
required

History = the company over the last 12 closed months (base 8); winning = the Winning reference: label it

string
nullable
Allowed values: history winning
needed
required

Deals that must pass here in the whole month to reach the goal: wins needed ÷ toWonRate, rounded up

integer
nullable
expectedByToday
required

“Esperado até hoje pela meta”: needed × day ÷ days of the month, rounded; null when the goal cannot be read back

integer
nullable
actual
required

Deals that passed here this month (the bar), or wins closed this month on the won line

integer
gap
required

Actual − expectedByToday, the “+1” / “−2” of the chip

integer
nullable
status
required

On_pace (No ritmo) = actual at 90% or more of expectedByToday (or nothing expected yet); attention (Atenção) = 75% to 90%; behind (Atrasado) = below 75%; null without expectedByToday

string
nullable
Allowed values: on_pace attention behind
holes
required

At most two steps 5 or more points below the reference, worst first

Array<object>
object
phase
required

Canonical phase id of the step below the reference

string
label
required

Phase label

string
next
required

Label of the following step, or Ganho

string
rate
required

Declared conversion of the step, in %

integer
benchmark
required

The reference effectively used, in %; reference.source says which

integer
reference
required
object
rate
required

Reference conversion of the passage, in %, one decimal

number
base
required

Advanced + stopped of the stage in the history window; below minimumBase when the source is winning

integer
source
required

History = the same passage in the company, last 12 closed months, same owners; winning = the Winning reference of the canonical phase of the stage, only when the history is below minimumBase: label it as such

string
Allowed values: history winning
delta
required

Points below the reference (negative)

integer
stopped
required

Deals lost at this step

integer
winningHoles
required

The same rule measured against the Winning reference only (the Radar benchmark), as the Início shows it: at most two steps with a declared rate (minimumBase) 5 or more points below winning, worst first, ties by stopped; reference.source is winning

Array<object>
object
phase
required

Canonical phase id of the step below the reference

string
label
required

Phase label

string
next
required

Label of the following step, or Ganho

string
rate
required

Declared conversion of the step, in %

integer
benchmark
required

The reference effectively used, in %; reference.source says which

integer
reference
required
object
rate
required

Reference conversion of the passage, in %, one decimal

number
base
required

Advanced + stopped of the stage in the history window; below minimumBase when the source is winning

integer
source
required

History = the same passage in the company, last 12 closed months, same owners; winning = the Winning reference of the canonical phase of the stage, only when the history is below minimumBase: label it as such

string
Allowed values: history winning
delta
required

Points below the reference (negative)

integer
stopped
required

Deals lost at this step

integer
shortcuts
required

Conversion from the funnel entry and from each later step straight to won

Array<object>
object
from
required

Created (entered the funnel) or a canonical phase id

string
label
required

Label of the starting point

string
base
required

Distinct deals at the starting point

integer
wins
required

Of those, deals won

integer
rate
required

Wins ÷ base in %, one decimal, null below minimumBase

number
nullable
benchmark
required

The reference effectively used for the shortcut, in %, when there is one; reference.source says which

number
nullable
reference
required

What the rate is effectively compared to; null when there is no history and the shortcut has no Winning reference

object
rate
required

Reference conversion of the passage, in %, one decimal

number
base
required

Advanced + stopped of the stage in the history window; below minimumBase when the source is winning

integer
source
required

History = the same passage in the company, last 12 closed months, same owners; winning = the Winning reference of the canonical phase of the stage, only when the history is below minimumBase: label it as such

string
Allowed values: history winning
winning
required

The Winning reference of the shortcut (the Radar benchmark: created 10, discovery 10, proposal 38), in %; null without one

number
nullable
unmappedStages
required

CRM stages with passages in the period that have no phase and stay out of the funnel

Array<object>
object
id
required

Stage id

string format: uuid
name
required

Stage name in the CRM

string
goal
required

Funil de meta of the month in course: goal ÷ ticket = wins needed; ÷ the conversion to won of each point = entries needed in the month; × the part of the month gone = expected by today. Null outside the month in course

object
status
required

Ready = the goal could be read back; no_goal = no goal for the month in this scope; no_ticket = fewer than 8 wins with amount in the goal currency over the last 12 closed months, or no win at all to split the goal between funnels

string
Allowed values: ready no_goal no_ticket
currency
required

Currency of the goal and the ticket

string
goalInCents
required

Part of the goal of the month this funnel carries

integer
nullable
share
required

That part, in % of the goal of the scope, one decimal: 100 with a single funnel and on the funnel by phase; with several funnels, each one its share of the amount won in the goal currency over the last 12 closed months

number
nullable
ticketInCents
required

Average won ticket over the last 12 closed months, in the goal currency; null below 8 wins

integer
nullable
ticketBase
required

Wins with amount behind the ticket

integer
winsNeeded
required

GoalInCents ÷ ticketInCents, rounded up

integer
nullable
day
required

Today, day of the month in the company time zone

integer
daysInMonth
required

Days of the month

integer
top
required

“Entrou no funil”: entries the month needs, against the deals that entered the funnel

object
toWonRate
required

Conversion to won from this point used to read the goal back, in %, one decimal: the last 12 closed months, else the Winning reference (toWonSource); 100 on the won line; null when there is neither

number
nullable
toWonSource
required

History = the company over the last 12 closed months (base 8); winning = the Winning reference: label it

string
nullable
Allowed values: history winning
needed
required

Deals that must pass here in the whole month to reach the goal: wins needed ÷ toWonRate, rounded up

integer
nullable
expectedByToday
required

“Esperado até hoje pela meta”: needed × day ÷ days of the month, rounded; null when the goal cannot be read back

integer
nullable
actual
required

Deals that passed here this month (the bar), or wins closed this month on the won line

integer
gap
required

Actual − expectedByToday, the “+1” / “−2” of the chip

integer
nullable
status
required

On_pace (No ritmo) = actual at 90% or more of expectedByToday (or nothing expected yet); attention (Atenção) = 75% to 90%; behind (Atrasado) = below 75%; null without expectedByToday

string
nullable
Allowed values: on_pace attention behind
won
required

Wins: winsNeeded against the wins with amount in the goal currency closed this month

object
toWonRate
required

Conversion to won from this point used to read the goal back, in %, one decimal: the last 12 closed months, else the Winning reference (toWonSource); 100 on the won line; null when there is neither

number
nullable
toWonSource
required

History = the company over the last 12 closed months (base 8); winning = the Winning reference: label it

string
nullable
Allowed values: history winning
needed
required

Deals that must pass here in the whole month to reach the goal: wins needed ÷ toWonRate, rounded up

integer
nullable
expectedByToday
required

“Esperado até hoje pela meta”: needed × day ÷ days of the month, rounded; null when the goal cannot be read back

integer
nullable
actual
required

Deals that passed here this month (the bar), or wins closed this month on the won line

integer
gap
required

Actual − expectedByToday, the “+1” / “−2” of the chip

integer
nullable
status
required

On_pace (No ritmo) = actual at 90% or more of expectedByToday (or nothing expected yet); attention (Atenção) = 75% to 90%; behind (Atrasado) = below 75%; null without expectedByToday

string
nullable
Allowed values: on_pace attention behind
stageFunnels
required

One funnel per pipeline under analysis, with the CRM stages, each passage against the company history of the same owners; largest top first

Array<object>
object
pipelineId
required

Pipeline id

string format: uuid
pipelineName
required

Pipeline name as the CRM calls it

string
available
required

False when no deal entered an open stage of the pipeline in the period

boolean
top
required

Distinct deals that entered any open stage of the pipeline in the period

integer
won
required

Of those, deals won

integer
historyMonths
required

Closed months the history reference covers (12)

integer
steps
required

Every open stage of the pipeline, in CRM order; won and lost stages are not steps

Array<object>
object
stageId
required

CRM stage id

string format: uuid
name
required

Stage name as the CRM calls it

string
entered
required

Distinct deals that entered the stage in the period, counting the ones that jumped over it in the period (from an earlier open stage, or entering the funnel past it): those count here by methodology, as advanced

integer
advanced
required

Of those, deals that later entered a following open stage of the same pipeline (even after the period) or were won

integer
stopped
required

Of those, deals lost without advancing

integer
inPlay
required

Of those, deals still open without advancing

integer
rate
required

Advanced ÷ (advanced + stopped) in %, one decimal; null below minimumBase

number
nullable
reference
required

What the rate is compared to; null without history and without phase

object
rate
required

Reference conversion of the passage, in %, one decimal

number
base
required

Advanced + stopped of the stage in the history window; below minimumBase when the source is winning

integer
source
required

History = the same passage in the company, last 12 closed months, same owners; winning = the Winning reference of the canonical phase of the stage, only when the history is below minimumBase: label it as such

string
Allowed values: history winning
delta
required

Rate − reference.rate in points, one decimal; null when either is missing

number
nullable
goal
required

Where this point of the funnel stands against the goal of the month in course

object
toWonRate
required

Conversion to won from this point used to read the goal back, in %, one decimal: the last 12 closed months, else the Winning reference (toWonSource); 100 on the won line; null when there is neither

number
nullable
toWonSource
required

History = the company over the last 12 closed months (base 8); winning = the Winning reference: label it

string
nullable
Allowed values: history winning
needed
required

Deals that must pass here in the whole month to reach the goal: wins needed ÷ toWonRate, rounded up

integer
nullable
expectedByToday
required

“Esperado até hoje pela meta”: needed × day ÷ days of the month, rounded; null when the goal cannot be read back

integer
nullable
actual
required

Deals that passed here this month (the bar), or wins closed this month on the won line

integer
gap
required

Actual − expectedByToday, the “+1” / “−2” of the chip

integer
nullable
status
required

On_pace (No ritmo) = actual at 90% or more of expectedByToday (or nothing expected yet); attention (Atenção) = 75% to 90%; behind (Atrasado) = below 75%; null without expectedByToday

string
nullable
Allowed values: on_pace attention behind
holes
required

At most two passages 5 or more points below their reference, worst first, ties by stopped

Array<object>
object
stageId
required

CRM stage id of the passage below the reference

string format: uuid
name
required

Stage name

string
nextName
required

Name of the following open stage, or Ganho after the last one

string
rate
required

Conversion of the passage, in %

number
reference
required
object
rate
required

Reference conversion of the passage, in %, one decimal

number
base
required

Advanced + stopped of the stage in the history window; below minimumBase when the source is winning

integer
source
required

History = the same passage in the company, last 12 closed months, same owners; winning = the Winning reference of the canonical phase of the stage, only when the history is below minimumBase: label it as such

string
Allowed values: history winning
delta
required

Points below the reference (negative)

number
stopped
required

Deals lost at this stage without advancing

integer
toWon
required

Conversion to won from the entry in the funnel and from each open stage

Array<object>
object
stageId
required

CRM stage id; null for the entry in the funnel

string format: uuid
nullable
name
required

Stage name, or Entrou no funil

string
base
required

Distinct deals at the starting point in the period

integer
wins
required

Of those, deals won

integer
rate
required

Wins ÷ base in %, one decimal; null below minimumBase

number
nullable
historyRate
required

The same count over the last 12 closed months; null below minimumBase

number
nullable
goal
required

Funil de meta of the month in course: goal ÷ ticket = wins needed; ÷ the conversion to won of each point = entries needed in the month; × the part of the month gone = expected by today. Null outside the month in course

object
status
required

Ready = the goal could be read back; no_goal = no goal for the month in this scope; no_ticket = fewer than 8 wins with amount in the goal currency over the last 12 closed months, or no win at all to split the goal between funnels

string
Allowed values: ready no_goal no_ticket
currency
required

Currency of the goal and the ticket

string
goalInCents
required

Part of the goal of the month this funnel carries

integer
nullable
share
required

That part, in % of the goal of the scope, one decimal: 100 with a single funnel and on the funnel by phase; with several funnels, each one its share of the amount won in the goal currency over the last 12 closed months

number
nullable
ticketInCents
required

Average won ticket over the last 12 closed months, in the goal currency; null below 8 wins

integer
nullable
ticketBase
required

Wins with amount behind the ticket

integer
winsNeeded
required

GoalInCents ÷ ticketInCents, rounded up

integer
nullable
day
required

Today, day of the month in the company time zone

integer
daysInMonth
required

Days of the month

integer
top
required

“Entrou no funil”: entries the month needs, against the deals that entered the funnel

object
toWonRate
required

Conversion to won from this point used to read the goal back, in %, one decimal: the last 12 closed months, else the Winning reference (toWonSource); 100 on the won line; null when there is neither

number
nullable
toWonSource
required

History = the company over the last 12 closed months (base 8); winning = the Winning reference: label it

string
nullable
Allowed values: history winning
needed
required

Deals that must pass here in the whole month to reach the goal: wins needed ÷ toWonRate, rounded up

integer
nullable
expectedByToday
required

“Esperado até hoje pela meta”: needed × day ÷ days of the month, rounded; null when the goal cannot be read back

integer
nullable
actual
required

Deals that passed here this month (the bar), or wins closed this month on the won line

integer
gap
required

Actual − expectedByToday, the “+1” / “−2” of the chip

integer
nullable
status
required

On_pace (No ritmo) = actual at 90% or more of expectedByToday (or nothing expected yet); attention (Atenção) = 75% to 90%; behind (Atrasado) = below 75%; null without expectedByToday

string
nullable
Allowed values: on_pace attention behind
won
required

Wins: winsNeeded against the wins with amount in the goal currency closed this month

object
toWonRate
required

Conversion to won from this point used to read the goal back, in %, one decimal: the last 12 closed months, else the Winning reference (toWonSource); 100 on the won line; null when there is neither

number
nullable
toWonSource
required

History = the company over the last 12 closed months (base 8); winning = the Winning reference: label it

string
nullable
Allowed values: history winning
needed
required

Deals that must pass here in the whole month to reach the goal: wins needed ÷ toWonRate, rounded up

integer
nullable
expectedByToday
required

“Esperado até hoje pela meta”: needed × day ÷ days of the month, rounded; null when the goal cannot be read back

integer
nullable
actual
required

Deals that passed here this month (the bar), or wins closed this month on the won line

integer
gap
required

Actual − expectedByToday, the “+1” / “−2” of the chip

integer
nullable
status
required

On_pace (No ritmo) = actual at 90% or more of expectedByToday (or nothing expected yet); attention (Atenção) = 75% to 90%; behind (Atrasado) = below 75%; null without expectedByToday

string
nullable
Allowed values: on_pace attention behind
outcomes
required

Decisions in the period

object
won
required

Deals won with close date in the period

integer
lost
required

Deals lost with close date in the period

integer
decided
required

Won + lost

integer
conversionRate
required

Won ÷ decided in %, null below minimumBase

integer
nullable
requiredCoverage
required

1 ÷ conversion: how many times the missing amount the open pipeline must hold

number
nullable
wonAmounts
required

Amount won, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
wonWithoutAmount
required

Won deals without amount in the CRM, left out of wonAmounts

integer
wonAmount
required

Coverage of the amount field over the won deals: realized and burnup sum only the filled ones

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
lostAmounts
required

Amount lost, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
lostWithoutAmount
required

Lost deals without amount in the CRM, left out of lostAmounts

integer
lostAmount
required

Coverage of the amount field over the lost deals

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
cycleToWin
required

Days to win

object
base
required

Decided deals measured

integer
meanDays
required

Average days from creation to decision, one decimal; null without base

number
nullable
medianDays
required

Median days from creation to decision, one decimal; null without base

number
nullable
cycleToLose
required

Days to lose

object
base
required

Decided deals measured

integer
meanDays
required

Average days from creation to decision, one decimal; null without base

number
nullable
medianDays
required

Median days from creation to decision, one decimal; null without base

number
nullable
cycleMonths
required

Month by month evolution of the cycle to win and to lose: the month in course and up to three closed months read from the snapshot, oldest first

object
months
required

Oldest to newest, at most four: the month in course plus up to three closed months

Array<object>
object
month
required

Month in AAAA-MM, in the company time zone

string
closed
required

False only for the month in course

boolean
toWin
required

Cycle to win of that month alone, not accumulated

object
base
required

Decided deals measured

integer
meanDays
required

Average days from creation to decision, one decimal; null without base

number
nullable
medianDays
required

Median days from creation to decision, one decimal; null without base

number
nullable
toLose
required

Cycle to lose of that month alone, not accumulated

object
base
required

Decided deals measured

integer
meanDays
required

Average days from creation to decision, one decimal; null without base

number
nullable
medianDays
required

Median days from creation to decision, one decimal; null without base

number
nullable
kpis
required

The six cards of the Início, each with the previous equivalent period, a 12-month series and the coverage of the amount. Read from the monthly series the refresh stores; a snapshot computed before it reads as zeros until the next refresh

object
currency
required

Currency of every money card: the currency of the goal block (BRL without a goal)

string
months
required

Months of the period, YYYY-MM

Array<string>
previousMonths
required

Months of the previous equivalent period, YYYY-MM

Array<string>
won
required

Ganho: amount won with close date in the period; base = deals won

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
previous
required

The same number in the previous equivalent period (kpis.previousMonths); for openPipeline, the open pipeline at the start of the period

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
coverage
required

Share of the base with an amount in the CRM; show it only when below 100%. null for winRate

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
series
required

Twelve months for the sparkline, oldest first, ending at the last month of the period (openPipeline: ending at the month in course); each month alone

Array<object>
object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
month
required

Month, YYYY-MM, company time zone

string
inCourse
required

True for the month in course, still moving

boolean
lost
required

Perdido: amount lost with close date in the period; base = deals lost

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
previous
required

The same number in the previous equivalent period (kpis.previousMonths); for openPipeline, the open pipeline at the start of the period

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
coverage
required

Share of the base with an amount in the CRM; show it only when below 100%. null for winRate

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
series
required

Twelve months for the sparkline, oldest first, ending at the last month of the period (openPipeline: ending at the month in course); each month alone

Array<object>
object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
month
required

Month, YYYY-MM, company time zone

string
inCourse
required

True for the month in course, still moving

boolean
winRate
required

Win rate: won ÷ (won + lost) in %, null below minimumBase; base = decided

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
previous
required

The same number in the previous equivalent period (kpis.previousMonths); for openPipeline, the open pipeline at the start of the period

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
coverage
required

Share of the base with an amount in the CRM; show it only when below 100%. null for winRate

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
series
required

Twelve months for the sparkline, oldest first, ending at the last month of the period (openPipeline: ending at the month in course); each month alone

Array<object>
object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
month
required

Month, YYYY-MM, company time zone

string
inCourse
required

True for the month in course, still moving

boolean
ticket
required

Ticket médio: amount won ÷ won deals with amount, in cents; null without them or when wins mix currencies; base = wins with amount

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
previous
required

The same number in the previous equivalent period (kpis.previousMonths); for openPipeline, the open pipeline at the start of the period

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
coverage
required

Share of the base with an amount in the CRM; show it only when below 100%. null for winRate

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
series
required

Twelve months for the sparkline, oldest first, ending at the last month of the period (openPipeline: ending at the month in course); each month alone

Array<object>
object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
month
required

Month, YYYY-MM, company time zone

string
inCourse
required

True for the month in course, still moving

boolean
openPipeline
required

Pipeline aberto: open deals right now, whatever the period; previous and the closed points of the series are the deals open at the end of each month, rebuilt from creation and close dates with the amount of today

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
previous
required

The same number in the previous equivalent period (kpis.previousMonths); for openPipeline, the open pipeline at the start of the period

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
coverage
required

Share of the base with an amount in the CRM; show it only when below 100%. null for winRate

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
series
required

Twelve months for the sparkline, oldest first, ending at the last month of the period (openPipeline: ending at the month in course); each month alone

Array<object>
object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
month
required

Month, YYYY-MM, company time zone

string
inCourse
required

True for the month in course, still moving

boolean
createdPipeline
required

Pipeline gerado: deals created in the CRM in the period, with their amount; base = deals created

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
previous
required

The same number in the previous equivalent period (kpis.previousMonths); for openPipeline, the open pipeline at the start of the period

object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
coverage
required

Share of the base with an amount in the CRM; show it only when below 100%. null for winRate

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
series
required

Twelve months for the sparkline, oldest first, ending at the last month of the period (openPipeline: ending at the month in course); each month alone

Array<object>
object
value
required

Cents in kpis.currency for money cards, % for winRate; null when it is not declared (winRate below minimumBase, ticket without wins)

integer
nullable
base
required

Deals behind the value: won, lost, decided, won with amount, open or created

integer
month
required

Month, YYYY-MM, company time zone

string
inCourse
required

True for the month in course, still moving

boolean
pipeline
required

Open pipeline now; null for closed periods

object
open
required

Open deals now

integer
openAmounts
required

Open pipeline, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
openWithoutAmount
required

Open deals without amount in the CRM

integer
openAmount
required

Coverage of the amount field over the open deals: coverage counts only the filled ones

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
largest
required

The five largest open deals by amount, deals without amount last

Array<object>
object
dealId
required

Deal id

string format: uuid
name
required

Deal name in the CRM

string
amountInCents
required

Deal amount; null when the CRM has none

integer
nullable
currency
required

Currency of the amount

string
stageName
required

Stage name as the CRM calls it

string
nullable
expectedCloseDate
required

Close date in the CRM, YYYY-MM-DD, company time zone

string
nullable
nextActivityOn
required

Next activity day in the CRM, YYYY-MM-DD; null when none is scheduled

string
nullable
lastActivityOn
required

Last activity day in the CRM, YYYY-MM-DD; null when there is none

string
nullable
daysWithoutActivity
required

Days since the last activity; null when there is none

integer
nullable
rules
required

Risk rules this deal fires; empty when none

Array<string>
Allowed values: closeDateOverdue closeDateSlipped noNextActivity
reason
required

Why the deal is at risk, citing the source; null when no rule fires

string
nullable
estimatedCloseDate
required

Estimated close date, YYYY-MM-DD, only when the CRM has none; never written to the CRM

string
nullable
closeDateEstimated
required

True when estimatedCloseDate is set: show it labeled as estimated

boolean
temperature
required

Temperature read from the conversations; null when there is no reading yet

object
score
required

Temperature of the deal, 0 to 100

integer
band
required

Band of the score

string
Allowed values: cold warm hot
diagnosis
required

Diagnosis read from the conversations, the heaviest one; null when there is no reading that explains it

object
code
required

Diagnosis code

string
Allowed values: absent_decision_maker prolonged_silence slipping_close_date broken_commitment unanswered_competitor
label
required

What the conversations show, in the words of the reading

string
evidence
required

Reference to the excerpt that backs the reading; this endpoint does not carry the text itself — it comes from GET /conversations/{channel}/{conversationId}/excerpts

object
channel
required

Channel of the conversation that backs the excerpt

string
Allowed values: meeting note call email crm_whatsapp
conversationId
required

Id of the conversation; use it to link to the conversation or fetch its excerpts

string
excerptRefs
required

References of the excerpts inside the conversation

Array<string>
at
required

When the excerpt happened

string
temperature
required

Temperature of the open deals right now, in count and amount, for the scope and per owner; null for closed periods

object
open
required

Open deals now, in the scope

integer
withoutReading
required

Of those, deals without a read conversation, so without a temperature score

integer
bands
required

Always cold, warm and hot, in this order

Array<object>
object
band
required

Cold = 33 or below, warm = the middle, hot = 67 or above

string
Allowed values: cold warm hot
label
required

Band label in Portuguese: Frio, Morno or Quente

string
count
required

Open deals in this band

integer
share
required

Count ÷ (open − withoutReading) in %, one decimal; null below minimumBase

number
nullable
amounts
required

Amount of the deals in this band with value, per currency, largest first

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
withoutAmount
required

Of this band, deals without amount in the CRM

integer
owners
required

One entry per owner in the scope with an open deal, busiest first

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
name
required

Owner name

string
nullable
open
required

Open deals of this owner in the scope

integer
withoutReading
required

Of those, deals without a read conversation, so without a temperature score

integer
bands
required

Always cold, warm and hot, in this order

Array<object>
object
band
required

Cold = 33 or below, warm = the middle, hot = 67 or above

string
Allowed values: cold warm hot
label
required

Band label in Portuguese: Frio, Morno or Quente

string
count
required

Open deals in this band

integer
share
required

Count ÷ (open − withoutReading) in %, one decimal; null below minimumBase

number
nullable
amounts
required

Amount of the deals in this band with value, per currency, largest first

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
withoutAmount
required

Of this band, deals without amount in the CRM

integer
stageStay
required

Where deals age: median days inside each stage counting only deals that already left it, and the deals sitting there today; null for closed periods

object
historyMonths
required

Months of entries the median of who already left the stage covers (12)

integer
funnels
required

One funnel per pipeline under analysis, in CRM order; when filtered, only the chosen one

Array<object>
object
pipelineId
required

Pipeline id

string format: uuid
pipelineName
required

Pipeline name as the CRM calls it

string
stages
required

Every open stage of the pipeline, in CRM order; won and lost stages are not listed

Array<object>
object
stageId
required

CRM stage id

string format: uuid
name
required

Stage name as the CRM calls it

string
base
required

Passages that entered the stage in the last historyMonths and already left it

integer
medianDays
required

Median days inside the stage, only deals that already left it; null below minimumBase

number
nullable
stuck
required

Open deals sitting in this stage today, in the scope

integer
stuckMedianDays
required

Median days in the stage of the deals sitting there today; null below minimumBase

number
nullable
stuckAmounts
required

Amount of the deals sitting in this stage today with value, per currency, largest first

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
stuckWithoutAmount
required

Of the deals sitting here today, those without amount in the CRM

integer
overMedian
required

Of the deals sitting here today, how many already went past medianDays; 0 when medianDays is null

integer
goal
required

Goal, realized, pace, coverage and burnup of the period

object
source
required

Where the goals come from; null when there is none

string
nullable
Allowed values: crm nexu
currency
required

Currency of every amount of this block

string
goalInCents
required

Team goal (own, else the sum of owners) or the sum of the selected owners

integer
nullable
team
required

Team goal and the sum of owners; null when filtering by owners

object
ownGoalInCents
required

Goal set for the team itself

integer
nullable
ownersSumInCents
required

Sum of the goals of the owners

integer
nullable
differenceInCents
required

Team goal minus the sum, when both exist

integer
nullable
realizedInCents
required

Amount won in the period, in the goal currency

integer
remainingInCents
required

Goal minus realized, never below zero

integer
nullable
attainment
required

Realized ÷ goal, in %

integer
nullable
pace
required

Only for the current month with a goal

object
expectedInCents
required

Where the goal expected the realized to be today

integer
deviationInCents
required

Realized minus expected

integer
deviationPercent
required

Deviation as % of the expected

integer
nullable
restartedOn
required

Day the pace restarted after a mid-month goal change

string
nullable
coverage
required

Open pipeline ÷ remaining, one decimal; only for the current month

number
nullable
burnup
required

One point per day of the period, up to today

Array<object>
object
date
required

Day, YYYY-MM-DD, company time zone

string
realizedInCents
required

Realized up to this day

integer
expectedInCents
required

Pace line on this day; null outside the current month

integer
nullable
realizedPace
required

Realized per business day, with or without a goal: what the screen shows instead of the goal when there is none

object
businessDays
required

Business days (Monday to Friday) from the start of the period up to today

integer
businessDaysInPeriod
required

Business days in the whole period

integer
perBusinessDayInCents
required

Realized ÷ business days (Monday to Friday), in cents; null without business days

integer
nullable
previous
required

The previous month for comparison; only for the current period

object
periodStart
required

First day of the previous month, YYYY-MM-DD

string
periodEnd
required

Last day of the previous month, YYYY-MM-DD

string
realizedInCents
required

Won in the previous month, same scope and currency

integer
businessDays
required

Business days of the previous month

integer
perBusinessDayInCents
required

Realized ÷ business days (Monday to Friday), in cents; null without business days

integer
nullable
deviationPercent
required

Realized per business day against the previous month, in % above (+) or below (−); null without both

integer
nullable
projection
required

The “realizado + commit” line of the chart; only for the month in course, null otherwise

object
realizedInCents
required

Won so far this month, in the goal currency

integer
commitInCents
required

Open deals in commit (declared in the Nexo, else the CRM category) with close date in the month

integer
commitWeight
required

Weight of the commit in %, from the company calibration (default 99)

number
calibrated
required

False while the company still uses the default weights

boolean
weightedCommitInCents
required

CommitInCents × commitWeight

integer
projectedInCents
required

“Realizado + commit”: realizedInCents + weightedCommitInCents

integer
attainment
required

ProjectedInCents ÷ goal, in %; null without goal

integer
nullable
gapInCents
required

ProjectedInCents − goal: negative is what the commit leaves missing

integer
nullable
points
required

The projection line, from today to the last day of the month

Array<object>
object
date
required

Day, YYYY-MM-DD, company time zone

string
projectedInCents
required

Realized plus the weighted commit dated up to this day (commit dated before today lands today)

integer
currentGoal
required

Goal, realized, pace (ritmo ideal), coverage and burnup of the month in course, whatever the period asked: the Início meta chart is always the current month. The same as goal when the period is current

object
source
required

Where the goals come from; null when there is none

string
nullable
Allowed values: crm nexu
currency
required

Currency of every amount of this block

string
goalInCents
required

Team goal (own, else the sum of owners) or the sum of the selected owners

integer
nullable
team
required

Team goal and the sum of owners; null when filtering by owners

object
ownGoalInCents
required

Goal set for the team itself

integer
nullable
ownersSumInCents
required

Sum of the goals of the owners

integer
nullable
differenceInCents
required

Team goal minus the sum, when both exist

integer
nullable
realizedInCents
required

Amount won in the period, in the goal currency

integer
remainingInCents
required

Goal minus realized, never below zero

integer
nullable
attainment
required

Realized ÷ goal, in %

integer
nullable
pace
required

Only for the current month with a goal

object
expectedInCents
required

Where the goal expected the realized to be today

integer
deviationInCents
required

Realized minus expected

integer
deviationPercent
required

Deviation as % of the expected

integer
nullable
restartedOn
required

Day the pace restarted after a mid-month goal change

string
nullable
coverage
required

Open pipeline ÷ remaining, one decimal; only for the current month

number
nullable
burnup
required

One point per day of the period, up to today

Array<object>
object
date
required

Day, YYYY-MM-DD, company time zone

string
realizedInCents
required

Realized up to this day

integer
expectedInCents
required

Pace line on this day; null outside the current month

integer
nullable
realizedPace
required

Realized per business day, with or without a goal: what the screen shows instead of the goal when there is none

object
businessDays
required

Business days (Monday to Friday) from the start of the period up to today

integer
businessDaysInPeriod
required

Business days in the whole period

integer
perBusinessDayInCents
required

Realized ÷ business days (Monday to Friday), in cents; null without business days

integer
nullable
previous
required

The previous month for comparison; only for the current period

object
periodStart
required

First day of the previous month, YYYY-MM-DD

string
periodEnd
required

Last day of the previous month, YYYY-MM-DD

string
realizedInCents
required

Won in the previous month, same scope and currency

integer
businessDays
required

Business days of the previous month

integer
perBusinessDayInCents
required

Realized ÷ business days (Monday to Friday), in cents; null without business days

integer
nullable
deviationPercent
required

Realized per business day against the previous month, in % above (+) or below (−); null without both

integer
nullable
projection
required

The “realizado + commit” line of the chart; only for the month in course, null otherwise

object
realizedInCents
required

Won so far this month, in the goal currency

integer
commitInCents
required

Open deals in commit (declared in the Nexo, else the CRM category) with close date in the month

integer
commitWeight
required

Weight of the commit in %, from the company calibration (default 99)

number
calibrated
required

False while the company still uses the default weights

boolean
weightedCommitInCents
required

CommitInCents × commitWeight

integer
projectedInCents
required

“Realizado + commit”: realizedInCents + weightedCommitInCents

integer
attainment
required

ProjectedInCents ÷ goal, in %; null without goal

integer
nullable
gapInCents
required

ProjectedInCents − goal: negative is what the commit leaves missing

integer
nullable
points
required

The projection line, from today to the last day of the month

Array<object>
object
date
required

Day, YYYY-MM-DD, company time zone

string
projectedInCents
required

Realized plus the weighted commit dated up to this day (commit dated before today lands today)

integer
forecast
required

Open deals expected to close this month, by declared category; null for closed periods

object
mode
required

Declared = the CRM has forecast categories or a seller already declared in Nexo; weighted = neither, and the screen shows weightedInCents instead

string
Allowed values: declared weighted
currency
required

Currency of every amount of this block: the goal currency, else the largest one in the forecast

string
commit
required

Declared as commit: the seller says it closes this month

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
upside
required

Declared as best case

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
pipeline
required

Declared as pipeline

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
undeclared
required

Not classified by the seller; every deal lands here when the CRM has no forecast category

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
omitted
required

Declared as out of the forecast; not in totalInCents

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
totalInCents
required

Commit + upside + pipeline + undeclared

integer
undeclaredShare
required

Undeclared ÷ total in %, null below minimumBase deals

integer
nullable
weightedInCents
required

Amount times the probability of the stage, over the same deals

integer
floorInCents
required

Realized this month plus the commit: what the team says it will have

integer
floorAttainment
required

Floor ÷ goal in %, null without a goal in this currency

integer
nullable
missingFromUpsideInCents
required

Goal minus floor, never below zero: what has to come from upside; null without a goal

integer
nullable
withoutAmount
required

Deals in the forecast without amount in the CRM

integer
withoutCloseDate
required

Open deals left out because they have no close date

integer
amount
required

Coverage of the amount field over the deals closing this month, omitted included

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
closeDate
required

Coverage of the close date over every open deal; without it the deal is estimated by the stage cycle or left out

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
estimated
required

Separate band, never summed into the other slices nor totalInCents: date estimated as the entry in the current stage plus the median days from that stage to won (falling back to creation plus the median cycle of the pipeline), measured in the last 12 months

object
count
required

Open deals without close date in the CRM whose estimated close date falls in the period

integer
amountInCents
required

Their amount in the forecast currency

integer
weightedInCents
required

Their amount times the probability of the stage

integer
closeDateEstimated
required

Always true: the close date is an estimate by the measured cycle, never written to the CRM

boolean
estimatedPastDue
required

Open deals without close date whose estimated date is already behind today: past the measured cycle

integer
withoutEstimate
required

Open deals without close date and without a measured cycle to estimate one

integer
otherCurrencies
required

Other currencies in the forecast, left out of the amounts

Array<string>
commitReading
required

The commit of the month against what the conversations show; counts the commit closing this month by the CRM date and the one whose estimated date falls in it; null without commit in the period

object
supportedInCents
required

Commit the conversations do not contradict

integer
supportedCount
required

How many deals

integer
supportedShare
required

Share of the commit of the block, in %, one decimal; null when it is zero

number
nullable
doubtInCents
required

Commit with a diagnosis that counts or temperature below the calibrated threshold (default: any diagnosis, below 40)

integer
doubtCount
required

How many deals

integer
doubtShare
required

Share of the commit of the block, in %, one decimal

number
nullable
unreadInCents
required

Commit without any conversation read to check

integer
unreadCount
required

How many deals

integer
unreadShare
required

Share of the commit of the block, in %, one decimal

number
nullable
owners
required

The same split per owner, largest commit first

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
supportedInCents
required
integer
doubtInCents
required
integer
unreadInCents
required
integer
count
required

Commit deals of the owner in the block

integer
history
required

What the history says the month closes at, against what the team declared

object
amountInCents
required

Sum, per stage, of the open amount times the chance of the stage reaching won; the month of each deal is the one of the measured cycle, never the close date the seller typed

integer
attainment
required

AmountInCents ÷ goal in %, null without a goal in this currency

integer
nullable
missingInCents
required

Goal minus amountInCents, never below zero; null without a goal

integer
nullable
declaredDiffInCents
required

TotalInCents − amountInCents: what the team declares above the history

integer
decided
required

Deals decided in the last 12 closed months that hold the chances

integer
withoutCycle
required

Open deals left out of the sum because no measured cycle dates them: the stage and the pipeline are below the base

integer
stages
required

One line per open stage, by pipeline in the order of stageFunnels and by CRM order inside each one

Array<object>
object
pipelineId
required

Pipeline id

string format: uuid
pipelineName
required

Pipeline name as the CRM calls it

string
stageId
required

CRM stage id

string format: uuid
name
required

Stage name as the CRM calls it

string
open
required

Open deals of the stage whose cycle date falls in the rest of the month, with amount in the CRM

integer
openInCents
required

Their amount in the forecast currency

integer
rate
required

Chance of a deal of this stage reaching won, in %, one decimal; null without history and without canonical phase

number
nullable
base
required

Deals that entered the stage in the last 12 closed months: what holds the chance

integer
source
required

History = the company itself, last 12 closed months; winning = the Winning reference of the canonical phase down to won, only below minimumBase: label it as such

string
Allowed values: history winning
medianDaysToWin
required

Median days from this stage to won, measured in the company; null below minimumBase

number
nullable
owners
required

The same number per owner, in the order of owners

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
amountInCents
required

By history

integer
weights
required

Category weights in force for the company

object
commit
required

Weight of commit, in percent

integer
upside
required

Weight of upside, in percent

integer
pipeline
required

Weight of pipeline, in percent

integer
calibrated
required

True when an admin changed them from 99 / 70 / 20 in Calibração

boolean
declaredWeighted
required

Declared forecast at the category weights calibrated for the company (default 99 / 70 / 20)

object
commitInCents
required

Commit amount × the commit weight

integer
upsideInCents
required

Upside amount × the upside weight

integer
pipelineInCents
required

Pipeline amount × the pipeline weight

integer
totalInCents
required

The three summed; undeclared weighs zero

integer
owners
required

Selected owners with deals in the forecast, largest first

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
name
required

Owner name from the CRM

string
nullable
commit
required

Declared as commit: the seller says it closes this month

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
upside
required

Declared as best case

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
pipeline
required

Declared as pipeline

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
undeclared
required

Not classified by the seller; every deal lands here when the CRM has no forecast category

object
count
required

Open deals in this slice

integer
amountInCents
required

Their amount in the forecast currency

integer
totalInCents
required

Sum of the four slices

integer
weightedInCents
required

Amount times the probability of the stage, summed

integer
historyInCents
required

The open deals of the owner counted by the chance of each stage reaching won

integer
estimated
required

Separate band, never summed into the other slices nor totalInCents: date estimated as the entry in the current stage plus the median days from that stage to won (falling back to creation plus the median cycle of the pipeline), measured in the last 12 months

object
count
required

Open deals without close date in the CRM whose estimated close date falls in the period

integer
amountInCents
required

Their amount in the forecast currency

integer
weightedInCents
required

Their amount times the probability of the stage

integer
closeDateEstimated
required

Always true: the close date is an estimate by the measured cycle, never written to the CRM

boolean
declaredWeighted
required

Declared forecast at the category weights calibrated for the company (default 99 / 70 / 20)

object
commitInCents
required

Commit amount × the commit weight

integer
upsideInCents
required

Upside amount × the upside weight

integer
pipelineInCents
required

Pipeline amount × the pipeline weight

integer
totalInCents
required

The three summed; undeclared weighs zero

integer
risks
required

Open deals at risk by the CRM rules, largest impact first; null for closed periods

object
total
required

Open deals that fired at least one rule

object
count
required

Open deals

integer
amounts
required

Their amount, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
byRule
required

Per rule; a deal that fires two rules counts in both

object
closeDateOverdue
required

Close date already passed

object
count
required

Open deals

integer
amounts
required

Their amount, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
closeDateSlipped
required

Close date moved twice or more

object
count
required

Open deals

integer
amounts
required

Their amount, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
noNextActivity
required

No next activity, or it is overdue

object
count
required

Open deals

integer
amounts
required

Their amount, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
openShare
required

Amount at risk ÷ open pipeline in %, in the largest currency; null below minimumBase open deals

integer
nullable
deals
required

The ten deals with the largest impact; ties go to the nearest close date

Array<object>
object
dealId
required

Deal id

string format: uuid
name
required

Deal name in the CRM

string
ownerId
required

CRM owner id; null for deals without owner

string format: uuid
nullable
ownerName
required

Owner name from the CRM

string
nullable
amountInCents
required

Deal amount; null when the CRM has none

integer
nullable
currency
required

Currency of the amount

string
rule
required

The rule with the largest weight, the one the “why” column shows

string
Allowed values: closeDateOverdue closeDateSlipped noNextActivity
rules
required

Every rule the deal fired

Array<string>
Allowed values: closeDateOverdue closeDateSlipped noNextActivity
chance
required

Chance of closing used in the impact, 0 to 1: the declared forecast category first, measured in the company history (wins ÷ decided deals of that category in the last 12 months, minimumBase decided) and only below that base the external Winning number; then the measured history of the stage, then the stage probability configured in the CRM, then the fixed Winning chain

number
weight
required

Weight of the rule used in the impact

number
impactInCents
required

Amount × chance × weight: what orders the list

integer
expectedCloseDate
required

Close date in the CRM, YYYY-MM-DD, company time zone

string
nullable
closeDateSlips
required

How many times the close date changed

integer
daysWithoutActivity
required

Days since the last activity in the CRM; null when there is none

integer
nullable
reason
required

Why the deal is at risk, in pt-BR, citing the source (e.g. “última reunião há 12 dias, nada agendado, prazo da etapa 6 dias”)

string
nullable
activity
required

Real activity of the deal behind noNextActivity; null on numbers computed before it existed

object
source
required

Latest real activity: crm = last contact or activity recorded in the CRM; meeting = last meeting linked to the deal; stage_change = entry in the current stage; created = nothing recorded since the deal was created

string
Allowed values: crm meeting stage_change created
lastActivityOn
required

Day of that activity, YYYY-MM-DD, company time zone

string
days
required

Days since that activity

integer
deadlineDays
required

Deadline of the stage in days, between 3 and 30

integer
deadlineBasis
required

Stage = median days deals stay in this stage; pipeline = median cycle to win of the pipeline × 1.5; ceiling = no measured cycle, 30 days

string
Allowed values: stage pipeline ceiling
deadlineBase
required

Deals the deadline was measured on; 0 for ceiling

integer
nextActivityOn
required

Next scheduled activity (CRM field or future meeting), YYYY-MM-DD; null when nothing is scheduled

string
nullable
nextSource
required

Where the next activity comes from

string
nullable
Allowed values: crm meeting
estimatedCloseDate
required

Estimated close date, YYYY-MM-DD, only when the CRM has none; never written to the CRM

string
nullable
closeDateEstimated
required

True when estimatedCloseDate is set: show it labeled as estimated

boolean
diagnosis
required

Diagnosis read from the conversations, the heaviest one; null when there is no reading that explains it

object
code
required

Diagnosis code

string
Allowed values: absent_decision_maker prolonged_silence slipping_close_date broken_commitment unanswered_competitor
label
required

What the conversations show, in the words of the reading

string
evidence
required

Reference to the excerpt that backs the reading; this endpoint does not carry the text itself — it comes from GET /conversations/{channel}/{conversationId}/excerpts

object
channel
required

Channel of the conversation that backs the excerpt

string
Allowed values: meeting note call email crm_whatsapp
conversationId
required

Id of the conversation; use it to link to the conversation or fetch its excerpts

string
excerptRefs
required

References of the excerpts inside the conversation

Array<string>
at
required

When the excerpt happened

string
mostlyStalled
required

True when more than half of the open deals in scope fire noNextActivity: show “a maior parte da carteira está parada” and stalledLargest

boolean
stalled
required

Open deals without real activity past the deadline of the stage and nothing scheduled, in scope

object
count
required

Open deals that fire noNextActivity

integer
open
required

Open deals

integer
share
required

Count ÷ open in %, null without open deals

integer
nullable
stalledLargest
required

The five largest stalled deals by amount

Array<object>
object
dealId
required

Deal id

string format: uuid
name
required

Deal name in the CRM

string
ownerId
required

CRM owner id; null for deals without owner

string format: uuid
nullable
ownerName
required

Owner name from the CRM

string
nullable
amountInCents
required

Deal amount; null when the CRM has none

integer
nullable
currency
required

Currency of the amount

string
rule
required

The rule with the largest weight, the one the “why” column shows

string
Allowed values: closeDateOverdue closeDateSlipped noNextActivity
rules
required

Every rule the deal fired

Array<string>
Allowed values: closeDateOverdue closeDateSlipped noNextActivity
chance
required

Chance of closing used in the impact, 0 to 1: the declared forecast category first, measured in the company history (wins ÷ decided deals of that category in the last 12 months, minimumBase decided) and only below that base the external Winning number; then the measured history of the stage, then the stage probability configured in the CRM, then the fixed Winning chain

number
weight
required

Weight of the rule used in the impact

number
impactInCents
required

Amount × chance × weight: what orders the list

integer
expectedCloseDate
required

Close date in the CRM, YYYY-MM-DD, company time zone

string
nullable
closeDateSlips
required

How many times the close date changed

integer
daysWithoutActivity
required

Days since the last activity in the CRM; null when there is none

integer
nullable
reason
required

Why the deal is at risk, in pt-BR, citing the source (e.g. “última reunião há 12 dias, nada agendado, prazo da etapa 6 dias”)

string
nullable
activity
required

Real activity of the deal behind noNextActivity; null on numbers computed before it existed

object
source
required

Latest real activity: crm = last contact or activity recorded in the CRM; meeting = last meeting linked to the deal; stage_change = entry in the current stage; created = nothing recorded since the deal was created

string
Allowed values: crm meeting stage_change created
lastActivityOn
required

Day of that activity, YYYY-MM-DD, company time zone

string
days
required

Days since that activity

integer
deadlineDays
required

Deadline of the stage in days, between 3 and 30

integer
deadlineBasis
required

Stage = median days deals stay in this stage; pipeline = median cycle to win of the pipeline × 1.5; ceiling = no measured cycle, 30 days

string
Allowed values: stage pipeline ceiling
deadlineBase
required

Deals the deadline was measured on; 0 for ceiling

integer
nextActivityOn
required

Next scheduled activity (CRM field or future meeting), YYYY-MM-DD; null when nothing is scheduled

string
nullable
nextSource
required

Where the next activity comes from

string
nullable
Allowed values: crm meeting
estimatedCloseDate
required

Estimated close date, YYYY-MM-DD, only when the CRM has none; never written to the CRM

string
nullable
closeDateEstimated
required

True when estimatedCloseDate is set: show it labeled as estimated

boolean
diagnosis
required

Diagnosis read from the conversations, the heaviest one; null when there is no reading that explains it

object
code
required

Diagnosis code

string
Allowed values: absent_decision_maker prolonged_silence slipping_close_date broken_commitment unanswered_competitor
label
required

What the conversations show, in the words of the reading

string
evidence
required

Reference to the excerpt that backs the reading; this endpoint does not carry the text itself — it comes from GET /conversations/{channel}/{conversationId}/excerpts

object
channel
required

Channel of the conversation that backs the excerpt

string
Allowed values: meeting note call email crm_whatsapp
conversationId
required

Id of the conversation; use it to link to the conversation or fetch its excerpts

string
excerptRefs
required

References of the excerpts inside the conversation

Array<string>
at
required

When the excerpt happened

string
stalledOwners
required

Selected owners with more than half of their open deals stalled, most stalled first

Array<object>
object
count
required

Open deals that fire noNextActivity

integer
open
required

Open deals

integer
share
required

Count ÷ open in %, null without open deals

integer
nullable
ownerId
required

CRM owner id

string format: uuid
ownerName
required

Owner name

string
nullable
closeDate
required

Coverage of the close date over every open deal; closeDateOverdue and closeDateSlipped only fire with it

object
total
required

Deals the number is read from

integer
filled
required

Of those, deals with the field filled in the CRM

integer
missing
required

Of those, deals without the field; show the coverage only when above zero

integer
fillRate
required

Filled ÷ total in %, null below minimumBase

integer
nullable
losses
required

Why deals were lost in the period: loss reason and competitor as recorded in the CRM, with coverage

object
lost
required

Deals lost with close date in the period

integer
withReason
required

Of those, deals with the loss reason filled

integer
withoutReason
required

Of those, deals without a loss reason; they stay out of items

integer
fillRate
required

WithReason ÷ lost in %, null below minimumBase

integer
nullable
items
required

Loss reasons, most frequent first, at most eight; share is over withReason

Array<object>
object
label
required

Value as the team typed it in the CRM; spellings that differ only in case, accents or spaces count together

string
count
required

Lost deals with this value

integer
share
required

Count ÷ the filled base of the list in %, null below minimumBase

integer
nullable
othersCount
required

Lost deals whose reason is beyond the eight listed

integer
competitor
required

Competitor the deals were lost to; null when no CRM field is mapped as competitor or the period has no activity at all

object
filled
required

Lost deals with the competitor field filled

integer
fillRate
required

Filled ÷ lost in %, null below minimumBase

integer
nullable
items
required

Competitors, most frequent first, at most eight

Array<object>
object
label
required

Value as the team typed it in the CRM; spellings that differ only in case, accents or spaces count together

string
count
required

Lost deals with this value

integer
share
required

Count ÷ the filled base of the list in %, null below minimumBase

integer
nullable
othersCount
required

Lost deals whose competitor is beyond the eight listed

integer
withoutReasonByOwner
required

Owners among the selected ones with losses in the period, most losses without reason first

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
name
required

Owner name from the CRM

string
nullable
lost
required

Deals this owner lost in the period

integer
withoutReason
required

Of those, deals without a loss reason

integer
share
required

WithoutReason ÷ lost in %, null below minimumBase

integer
nullable
stages
required

Where in the funnel the deals died, crossed with the loss reason of the CRM, one row per open stage in CRM order

object
lost
required

Lost deals of the scope in the period; same as losses.lost

integer
withStage
required

Of those, the ones with a registered loss stage

integer
withReason
required

Of the ones with a registered stage, the ones with the loss reason filled

integer
funnels
required

One entry per funnel in analysis, even with lost 0; most losses first, ties by the CRM pipeline order

Array<object>
object
pipelineId
required

Pipeline id

string format: uuid
pipelineName
required

Pipeline name as the CRM calls it

string
lost
required

Losses attributed to this funnel, sum of the count of its stages below

integer
stages
required

One row per open stage of this funnel, in CRM order, even with count 0; the unregistered-stage row comes last

Array<object>
object
stageId
required

CRM stage where the deal died; null is the “Etapa não registrada” row, always last

string format: uuid
nullable
name
required

Stage name from the CRM, or exactly “Etapa não registrada”

string
count
required

Lost deals whose loss stage is this one

integer
amounts
required

Amount lost per currency, largest first; empty when none of these losses has a value

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
withoutAmount
required

Of these losses, the ones without a value in the CRM

integer
share
required

Count ÷ lost of the funnel in %, null when count is below minimumBase

integer
nullable
withReason
required

Of these losses, the ones with the loss reason filled

integer
fillRate
required

WithReason ÷ count in %, null below minimumBase

integer
nullable
items
required

Loss reasons of this stage, most frequent first, at most eight; share is over withReason

Array<object>
object
label
required

Value as the team typed it in the CRM; spellings that differ only in case, accents or spaces count together

string
count
required

Lost deals with this value

integer
share
required

Count ÷ the filled base of the list in %, null below minimumBase

integer
nullable
othersCount
required

Losses of this stage whose reason is beyond the eight listed

integer
teamShare
required

Share of the team in the same stage, for the rep panel and any owner-filtered view; null when the view is already the whole team or the team is below minimumBase in the stage

integer
nullable
meetings
required

CRM meetings of the deals: no-show with the coverage of the outcome field, and follow-up after the first meeting

object
past
required

CRM meetings of the deals that started in the period, before now; canceled and rescheduled left out

integer
withOutcome
required

Of those, meetings whose outcome was filled as completed or no-show

integer
noShow
required

Of those, meetings filled as no-show

integer
noShowRate
required

NoShow ÷ withOutcome in %, null below minimumBase

integer
nullable
outcomeCoverage
required

WithOutcome ÷ past in %, the coverage of the outcome field; null without meetings

integer
nullable
firstMeetings
required

Deals whose first meeting happened in the period and at least followUpDays ago (7), so the follow-up can be measured

integer
followedUp
required

Of those, deals with a second meeting booked in the CRM up to 7 days after the first

integer
followUpRate
required

FollowedUp ÷ firstMeetings in %, null below minimumBase

integer
nullable
reliability
required

Numbers that depend on an empty CRM field, with how much is missing and whose it is; only fields with something missing; now items only for the current month

Array<object>
object
key
required

CRM field behind a number: forecast_close_date = open deals without close date (forecast and close-date risks), open_amount = open deals without amount, won_amount = wins without amount (realized), loss_reason = losses without reason (loss reasons), meeting_outcome = past meetings without outcome (no-show)

string
Allowed values: forecast_close_date open_amount won_amount loss_reason meeting_outcome
window
required

Now = the current month regardless of the period asked; period = the period itself

string
Allowed values: now period
total
required

Deals or meetings this field applies to

integer
missing
required

Of those, how many have the field empty

integer
fillRate
required

(total - missing) ÷ total, in %, null below minimumBase

integer
nullable
missingShare
required

Missing ÷ total, in %, null when total is 0

integer
nullable
owners
required

Owners of the missing values, largest first; share = % of the missing that is theirs; deals without owner count in missing but are not listed; for a rep, only the rep

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
name
required

Owner name from the CRM

string
nullable
missing
required

Deals of this owner missing the field

integer
share
required

This owner’s share of the missing total, in %

integer
owners
required

Every owner with activity or a goal in the period, busiest first, regardless of the owner filter, with names for admins and sales leads; for a rep, only the rep

Array<object>
object
ownerId
required

CRM owner id

string format: uuid
name
required

Owner name from the CRM

string
nullable
isPerson
required

False for a queue or system account confirmed by an admin, or an owner linked to an integration user: keep it out of people tables and show “sem dono (fila: )”

boolean
top
required

Deals that entered the funnel of this owner in the period

integer
won
required

Deals won in the period

integer
decided
required

Deals decided in the period

integer
conversionRate
required

Won ÷ decided in %, null below minimumBase

integer
nullable
goalInCents
required

Goal of this owner in the period; null means “sem meta”

integer
nullable
realizedInCents
required

Amount won by this owner in the period, in the goal currency

integer
cycleToWin
required

Cycle to win of this owner; show “base pequena” below minimumBase

object
base
required

Deals this owner won in the period

integer
medianDays
required

Median days from creation to win, one decimal; null without wins

number
nullable
open
required

Open deals of this owner now; null for closed periods

integer
nullable
openAmounts
required

Open pipeline of this owner, per currency; null for closed periods

Array<object>
nullable
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
openWithoutAmount
required

Open deals without amount in the CRM; null for closed periods

integer
nullable
openNow
required

Open pipeline of this owner right now, whatever the period (the Time list of the Início)

object
count
required

Open deals of this owner now

integer
amounts
required

Open pipeline now, per currency

Array<object>
object
currency
required

ISO currency of the deals summed here

string
amountInCents
required

Sum in cents

integer
withoutAmount
required

Open deals without amount in the CRM

integer
funnel
required

The funnel of passage of this owner alone, by canonical phase, in the period

object
top
required

Deals of this owner that entered the funnel in the period

integer
won
required

Of those, deals won

integer
toWonRate
required

Won ÷ top in %, one decimal (criado → ganho); null below minimumBase

number
nullable
steps
required

Phases with passages of this owner, in funnel order

Array<object>
object
phase
required

Canonical phase id

string
label
required

Phase label

string
entered
required

Distinct deals of this owner that entered the phase in the period

integer
advanced
required

Of those, deals that reached a later phase in the period or were won

integer
stopped
required

Of those, deals lost without advancing

integer
inPlay
required

Of those, deals still open without advancing

integer
won
required

Of those, deals won

integer
rate
required

Advanced ÷ entered in %, null below minimumBase: show the fraction instead

integer
nullable
stopsMost
required

“Onde mais perde”: the phase where this owner has the most deals lost without advancing (ties: the larger share of entered, then the earlier phase); a count, so it reads even below minimumBase; null without such a deal

object
phase
required

Canonical phase id

string
label
required

Phase label

string
stopped
required

Deals of this owner lost at this phase without advancing

integer
entered
required

Deals of this owner that entered this phase

integer
sellerMedian
required

Vendedor x mediana: the median seller of each passage (not the team total), over the people among the active owners, whatever the owner filter; compare with owners[].funnel. Each seller rate counts even below minimumBase

object
sellers
required

People among the active owners with deals entering the funnel in the period

integer
steps
required

Phases any seller had, in funnel order

Array<object>
object
phase
required

Canonical phase id

string
label
required

Phase label

string
median
required

Median of advanced ÷ entered of each seller who had the phase, in %, one decimal

number
nullable
sellers
required

Sellers who had the phase: the base of the median (“Mediana de N vendedores”)

integer
toWon
required

Entrou → ganho

object
median
required

Median of won ÷ entered the funnel of each seller, in %, one decimal

number
nullable
sellers
required

Sellers in the median

integer
viewer
required

Whose numbers these are

object
scope
required

Team = admin or sales lead, the whole team; rep = only the deals of the rep who asks

string
Allowed values: team rep
linked
required

False when a rep is not linked to a CRM owner yet: every number is empty

boolean
teamReference
required

The team as an anonymous reference for a rep, without names; null for admins and sales leads

object
attainment
required

Team realized ÷ team goal, in %

integer
nullable
conversionRate
required

Team won ÷ decided, in %, null below minimumBase

integer
nullable
cycleToWinMedianDays
required

Team median days to win, one decimal

number
nullable

Example

{
"funnelScope": {
"options": [
{
"suggestedKind": "sales"
}
],
"excluded": [
{
"suggestedKind": "sales"
}
]
},
"funnel": {
"reason": "no_history",
"steps": [
{
"reference": {
"source": "history"
},
"goal": {
"toWonSource": "history",
"status": "on_pace"
}
}
],
"holes": [
{
"reference": {
"source": "history"
}
}
],
"winningHoles": [
{
"reference": {
"source": "history"
}
}
],
"shortcuts": [
{
"reference": {
"source": "history"
}
}
],
"goal": {
"status": "ready",
"top": {
"toWonSource": "history",
"status": "on_pace"
},
"won": {
"toWonSource": "history",
"status": "on_pace"
}
}
},
"stageFunnels": [
{
"steps": [
{
"reference": {
"source": "history"
},
"goal": {
"toWonSource": "history",
"status": "on_pace"
}
}
],
"holes": [
{
"reference": {
"source": "history"
}
}
],
"goal": {
"status": "ready",
"top": {
"toWonSource": "history",
"status": "on_pace"
},
"won": {
"toWonSource": "history",
"status": "on_pace"
}
}
}
],
"pipeline": {
"largest": [
{
"rules": [
"closeDateOverdue"
],
"temperature": {
"band": "cold"
},
"diagnosis": {
"code": "absent_decision_maker"
},
"evidence": {
"channel": "meeting"
}
}
]
},
"temperature": {
"bands": [
{
"band": "cold"
}
],
"owners": [
{
"bands": [
{
"band": "cold"
}
]
}
]
},
"goal": {
"source": "crm"
},
"currentGoal": {
"source": "crm"
},
"forecast": {
"mode": "declared",
"history": {
"stages": [
{
"source": "history"
}
]
}
},
"risks": {
"deals": [
{
"rule": "closeDateOverdue",
"rules": [
"closeDateOverdue"
],
"activity": {
"source": "crm",
"deadlineBasis": "stage",
"nextSource": "crm"
},
"diagnosis": {
"code": "absent_decision_maker"
},
"evidence": {
"channel": "meeting"
}
}
],
"stalledLargest": [
{
"rule": "closeDateOverdue",
"rules": [
"closeDateOverdue"
],
"activity": {
"source": "crm",
"deadlineBasis": "stage",
"nextSource": "crm"
},
"diagnosis": {
"code": "absent_decision_maker"
},
"evidence": {
"channel": "meeting"
}
}
]
},
"reliability": [
{
"key": "forecast_close_date",
"window": "now"
}
],
"viewer": {
"scope": "team"
}
}

Filtro inválido

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Token ausente, inválido, expirado ou revogado

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.invalid_credential",
"title": "InvalidCredentialError",
"status": 401,
"detail": "Token de acesso inválido, expirado ou revogado. Crie um novo token de acesso no Nexo.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb"
}

Papel, escopo do token ou plano não permitem a operação

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.insufficient_scope",
"title": "InsufficientScopeError",
"status": 403,
"detail": "Este token não tem o escopo conversations:read, exigido por esta operação. Gere um token com esse escopo.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"operation": "conversations.reading",
"scope": "conversations:read"
}
}

Limite de chamadas da empresa ou do token atingido

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.rate_limited",
"title": "PublicRateLimitedError",
"status": 429,
"detail": "Muitas chamadas em pouco tempo. Tente de novo em 12 segundos.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"class": "content",
"limitedBy": "company",
"limit": 120,
"windowSeconds": 60,
"retryAfterSeconds": 12
}
}