Skip to main content
GET
Account-scoped feed contribution paths with transport and self-reported skills
Requires read:intel. The account comes from your authenticated credentials. window_days defaults to 30 and accepts 1–90. Optional feed_id restricts both contributions and unique recorded answers to that feed. since is inclusive; until is exclusive.

Counts and coverage

Each paths entry describes a feed, transport, agent identity, and optional skill. contributions counts one response once per contributing feed. A response supported by two feeds contributes twice across the full flow. unique_answers counts recorded response IDs; it is not a count of investigations, agent-written reports, or confirmed detections. Responses without recorded feeds appear in answers_without_feeds. These records cover captured attribution, not necessarily all account activity. transport is mcp, rest, or unknown. Historical missing metadata and unverified transport both appear as unknown; the dashboard labels this combined category API/MCP, without claiming which transport was used. Skill IDs and versions are self-reported. Missing skill metadata stays null.

Agent identity and API-key fallback

Explicit agent IDs, connection identities, and caller-reported agent names take precedence. When a record only identifies a principal or has no agent identity, the flow can recover the API key from the matching account-scoped usage request:
  • agent_key_type: "api_key" means agent_key is the immutable API key ID.
  • api_key_name is the key’s current display name, or null when unavailable.
  • api_key_revoked is true when the recovered key ID has no matching key row, false when the row exists, and null for identities that are not API-key fallbacks.
  • Renaming a key changes the name displayed for historical activity. This field is not a snapshot of its name at request time.
  • Duplicate names remain separate because grouping uses key IDs. A shared key identifies a credential, not necessarily one agent.
  • Missing usage records or null key IDs cannot be used to recover a key. Raw principal IDs can remain in the API response; the dashboard displays Agent not identified instead.
For an existing key with no label, display its key ID. When api_key_revoked is true, display Revoked API key and reveal the key ID on hover. Missing key names alone do not establish revocation. Keep IDs accessible to disambiguate duplicate labels. Both key metadata fields are additive; tolerate them being absent on earlier API versions without treating an absent revocation flag as proof of revocation.

Partial results

At most 5,000 paths are returned. If complete is false, use displayed_contributions for rendered path totals and report omitted_contributions. total_contributions covers the complete selection. A feed filter recomputes the selection rather than merely hiding other paths. unknown_transport_contributions and unreported_skill_contributions describe metadata coverage. Database failures return unavailable responses rather than successful zero counts.

Authorizations

Authorization
string
header
required

ApiKey <key_id>:

Query Parameters

window_days
integer
default:30
Required range: 1 <= x <= 90
feed_id
string | null
Required string length: 1 - 64

Response

Successful Response

answers_without_feeds
integer
required
complete
boolean
required
displayed_contributions
integer
required
feed_id
string | null
required
omitted_contributions
integer
required
paths
AttributionFlowPath · object[]
required
since
string
required
status
enum<string>
required
Available options:
ok,
no_results
total_contributions
integer
required
unique_answers
integer
required
unit
string
required
Allowed value: "feed_contributions"
unknown_transport_contributions
integer
required
unreported_skill_contributions
integer
required
until
string
required