vision

Scan named sessions against a prompt without saving a scanner first, for one-off questions.

The config resolves to a scanner minted on first use, so asking the same question twice reuses the observations it already has, while a different question about the same session gets its own.

With scanner_type set to summarizer, this is how you get PostHog's own AI summary for a recording ID. It resolves to the Summarize button's own scanner only when the prompt and scanner_config match what the button sends, since the config is what the key fingerprints.

post/api/projects/{project_id}/vision/scanners/inline_scan/

Request

  • Base URL: https://us.posthog.com
  • URL: https://us.posthog.com/api/projects/{project_id}/vision/scanners/inline_scan/
  • Auth: 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/.

Request body

promptstring required

What to look for in these sessions, in plain language. The same instruction a saved scanner carries.

scanner_type'monitor' | 'classifier' | 'scorer' | 'summarizer' | 'experiment'
  • monitor - Monitor
  • classifier - Classifier
  • scorer - Scorer
  • summarizer - Summarizer
  • experiment - Experiment
scanner_configunknown
model'gemini-3.5-flash-lite' | 'gemini-3-flash-preview' | 'gemini-3.8-flash'
  • gemini-3.5-flash-lite - Gemini 3.5 Flash Lite
  • gemini-3-flash-preview - Gemini 3 Flash
  • gemini-3.8-flash - Gemini 3.8 Flash
session_idsstring[] required

Session recording IDs to scan, at most 200 per request. Scans start until the in-flight limit or monthly credit quota is reached; the rest are reported as skipped rather than failing the whole batch.

Response

startedinteger required

How many new scans were started.

scan_idstring uuid nullable required

Read results from /vision/scanners/{scan_id}/observations/. Stable for a given prompt and model, so asking the same question again returns the same id. Null when nothing was started and nothing existed to read, which happens when the quota is already used up.

Changes

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