provider signals GET /api/projects/{project_id}/signals/scout/runs/
@utdk/posthog /api/projects/{project_id}/signals/scout/runs/
Search recent agent runs
Return the most recent `SignalScoutRun` summaries for this project, newest first. Used by the headless scout to dedupe against work other runs already covered. ILIKE matches on `summary`. `date_from` / `date_to` are a half-open window on `created_at` (`>= date_from`, `< date_to`); pass `date_to` on subsequent calls to walk past the 100-row cap. Pass `emitted=true` to see only runs that surfaced at least one finding. Pass `skill_name` (optionally with `skill_version`) to scope to a single scout. Results capped at 100.
date_from query
ISO-8601 inclusive lower bound on `created_at`. Omit to skip the lower bound.
string
date_to query
ISO-8601 exclusive upper bound on `created_at`. Pass to walk back past the result cap on subsequent calls (cursor-style: set to the `created_at` of the oldest run from the prior page).
string
emitted query
Filter by emit outcome. `true` returns only runs that emitted at least one finding (`emitted_count > 0`); `false` returns only runs that emitted nothing. Omit for both.
booleannull
limit query
Max rows to return (default 20, hard cap 100).
integer
project_id path required
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
string
skill_name query
Exact-match filter on the scout skill (e.g. `signals-scout-errors`). Narrows the run dump to a single scout — the primary scoping path when a specialist dedupes against its own past runs. Omit to span every scout on the team.
string
skill_version query
Exact-match filter on the skill version. Pair with `skill_name` to pin one version; omit for all.
integer
text query
Case-insensitive substring match on the scout's end-of-run `summary`. Omit to skip the filter.
string

Try it

Authentication
Configure credentials for PostHog API
signalsScoutRunsList
GET/api/projects/{project_id}/signals/scout/runs/
Return the most recent `SignalScoutRun` summaries for this project, newest first. Used by the headless scout to dedupe against work other runs already covered. ILIKE matches on `summary`. `date_from` / `date_to` are a half-open window on `created_at` (`>= date_from`, `< date_to`); pass `date_to` on subsequent calls to walk past the 100-row cap. Pass `emitted=true` to see only runs that surfaced at least one finding. Pass `skill_name` (optionally with `skill_version`) to scope to a single scout. Results capped at 100.

Parameters

required

Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

ISO-8601 inclusive lower bound on `created_at`. Omit to skip the lower bound.

ISO-8601 exclusive upper bound on `created_at`. Pass to walk back past the result cap on subsequent calls (cursor-style: set to the `created_at` of the oldest run from the prior page).

Filter by emit outcome. `true` returns only runs that emitted at least one finding (`emitted_count > 0`); `false` returns only runs that emitted nothing. Omit for both.

Max rows to return (default 20, hard cap 100).

Exact-match filter on the scout skill (e.g. `signals-scout-errors`). Narrows the run dump to a single scout — the primary scoping path when a specialist dedupes against its own past runs. Omit to span every scout on the team.

Exact-match filter on the skill version. Pair with `skill_name` to pin one version; omit for all.

Case-insensitive substring match on the scout's end-of-run `summary`. Omit to skip the filter.

Configure credentials above to enable sending.

Code snippet
Updates live as you fill in the form above.

TypeScript

import posthog from '@utdk/posthog';

await posthog.signalsScoutRunsList()