signals

Search the scout scratchpad

Return SignalScratchpad entries for this project, newest-first. ILIKE matches on content and key; pass key instead for an exact single-entry lookup. date_from / date_to are a half-open window on updated_at (>= date_from, < date_to); pass date_to (the updated_at of the oldest entry seen) on subsequent calls to walk past the cap. Entries whose expires_at has passed are excluded unless include_expired=true, and are hard-deleted by a daily janitor once their expiry is more than two weeks in the past. Pass keys_only=true to scan keys without pulling entry bodies, or content_max_chars to cap each content to a preview — both keep a wide orientation scan from returning every entry's full prose. Results capped at 1000.

get/api/projects/{project_id}/signals/scout/scratchpad/

Request

  • Base URL: https://us.posthog.com
  • URL: https://us.posthog.com/api/projects/{project_id}/signals/scout/scratchpad/
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Path parameters

project_idstring required

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

Query parameters

content_max_charsinteger

Truncate each entry's content to the first N characters (a preview). Omit for the full body. Ignored when keys_only=true.

date_fromstring date-time

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

date_tostring date-time

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

include_expiredboolean

Include entries whose expires_at has passed. Off by default so a time-boxed memory retires itself; turn it on to audit what the fleet remembered and when it lapsed.

keystring

Exact key match — returns the single entry with this key, or nothing. Use this to re-read a known entry; text searches key and content, so it can push the row you asked for past the limit.

keys_onlyboolean

When true, blank each entry's content and return only keys + metadata. Use to scan which memories exist without pulling their (potentially large) bodies, then re-query the ones worth a full read. Takes precedence over content_max_chars.

limitinteger

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

textstring

ILIKE substring match against content. Omit to return the most recent entries.

Response

Matching memory entries newest-first.

keystring required

Agent-chosen semantic key, unique per team.

contentstring required

Prose content for prompt injection. Blank when the search projected it out (keys_only=true); truncated to a preview when content_max_chars was set.

created_atstring nullable required

ISO-8601 creation timestamp.

updated_atstring nullable required

ISO-8601 last-write timestamp.

expires_atstring nullable

ISO-8601 expiry, or null for a durable memory that stays until it's forgotten.

created_by_run_idstring nullable required

Scout run that wrote this entry, or null when a report-pipeline stage or a human wrote it.

created_by_skillstring nullable

Who created this entry: the canonical skill name of the scout that wrote it (e.g. signals-scout-apm), or the report-pipeline stage that did (pipeline:report-research, pipeline:implementation). Null if human-authored.

created_by_run_urlstring nullable

Relative Tasks UI deep-link to the run that created this entry, or null if the run linkage isn't captured.

Changes

No recorded changes to this operation across all 1 revision of this API.