Accounts
List Accounts
The accounts your network reaches, with their heat and fit
GET
Every company your connectors can reach, hottest first by default, with how
active it is right now (heat) and how well it matches your targeting
(fit).
This is the list the Accounts table draws: the same rows, filtered and ordered
the same way. It is not Search Companies:
that one searches the shared enrichment cache and can tell you a company exists,
which says nothing about whether your workspace cares about it or can get into
it.
Heat and fit are two different questions
Heat is timing: is anything happening at this account? Fit is quality: is this the kind of account you want? Neither moves the other. A coldA+ is a
good account nobody is talking to; a burning D is activity at an account
outside your targeting. Rank on both, which is what the default order does:
heat first, then fit, then the latest signal.
Heat
temperature is one of four bands. A signal is a LinkedIn engagement or a
CRM activity (email, call, meeting, note) at the account.
Path strength does not count: a strong path with no signal is
cold. The band
is worked out when you read it, so an account cools on its own as its last
signal ages, without waiting for a refresh.
The evidence ships with the band:
last_signal_at: the latest signal from either source.last_signal_source:linkedinorcrm.last_signal_type: the engagement or CRM activity type of that signal, when known.signals_30d: how many signals landed in the last 30 days, both sources.has_open_deal: an open CRM deal is resolved to this account.
The grade
fit_grade is A+ to D, and it is the fraction of your configured
criteria this account meets, banded:
The criteria are your target-account list, your tier vocabulary and each
dimension of your Company ICP. The divisor is only the criteria you have
configured, so a criterion you never set cannot drag an account down, and
nothing earns an A+ for being the best of a bad list.
An ICP dimension we hold no value for (no known headcount, say) is skipped
for that account rather than counted as a miss. Its status in the breakdown is
unknown.
fit_score is not comparable across workspaces. It is a fraction of what
that workspace configured, so 0.8 on a workspace with four criteria and 0.8
on one with one criterion are not the same claim. Compare grades within a
workspace, never between.fit_reasons ships with the grade and names what scored: the matched ICP’s
title, then each criterion met (["Mid-market SaaS", "Target account", "Tier 1", "Industry"]). Nothing downstream has to reconstruct the reasoning.
fit_breakdown goes further: every configured criterion, met or not, with the
points it is worth and the points the account earned. fit_score is the earned
points over the points available.
When a grade changes
Grades are stored, not computed per request, and they are refreshed on the write that makes them wrong:- Change your targeting (a tier set on an account, an ICP edited, a tier added or reordered) and the affected grades are recomputed on that request. Set a tier with Set Account State.
- New accounts your network reaches are graded when the accounts snapshot next rebuilds, along with anything whose targeting inputs moved with it. That is also when a change to the target list reaches the grade, because whether an account is a target is part of that snapshot.
Two ids, and they are not interchangeable
id is the company’s LinkedIn numeric id, which is how an account is addressed
in this API. company_id is the company UUID, which is what
Set An Account’s Tags and
Set Account State take. Both ship on every
row for that reason.
A row’s tags are the account’s tags, each carrying the group_id of
the group it came from.
Paging
Pages arepageSize rows (default 50, at most 200). has_more is true while
another page exists; there is no total count.