Vision

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
POST
GET
POST
POST
POST
GET
GET
POST
POST
DELETE
POST
DELETE
POST
GET
GET
POST
GET
GET
GET

List all vision scanners backfills

Historical backfills of a scanner over a closed time window (nested under a scanner).

Required API key scopes

replay_scanner:readsession_recording:read

Path parameters

  • scanner_id
    string

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/projects/:project_id/vision/scanners/:scanner_id/backfills
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/backfills/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "running",
"window_start": "2019-08-24T14:15:22Z",
"window_end": "2019-08-24T14:15:22Z",
"total_count": 0,
"dispatched_count": 0,
"skipped_count": 0,
"credits_per_observation": 0,
"succeeded_count": 0,
"failed_count": 0,
"ineligible_count": 0,
"in_flight_count": 0,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z"
}
]
}

Create vision scanners backfills

Create a backfill: freeze the scanner config, enumerate the exact candidate set, start the tick schedule.

The enumeration reruns here rather than trusting the client-confirmed estimate: the count is billing-relevant, so the authoritative value is computed server-side at creation time. New settled sessions between estimate and confirm can nudge total_count slightly.

Required API key scopes

replay_scanner:writesession_recording:read

Path parameters

  • scanner_id
    string

Request parameters

  • window_start
    string
  • window_end
    string
  • max_total_credits
    integer

Response


Example request

POST /api/projects/:project_id/vision/scanners/:scanner_id/backfills
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/backfills/\
-d window_start="string",\
-d window_end="string",\
-d max_total_credits="integer"

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "running",
"window_start": "2019-08-24T14:15:22Z",
"window_end": "2019-08-24T14:15:22Z",
"total_count": 0,
"dispatched_count": 0,
"skipped_count": 0,
"credits_per_observation": 0,
"succeeded_count": 0,
"failed_count": 0,
"ineligible_count": 0,
"in_flight_count": 0,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z"
}

Retrieve vision scanners backfills

Historical backfills of a scanner over a closed time window (nested under a scanner).

Required API key scopes

replay_scanner:readsession_recording:read

Path parameters

  • id
    string
  • scanner_id
    string

Response


Example request

GET /api/projects/:project_id/vision/scanners/:scanner_id/backfills/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/backfills/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "running",
"window_start": "2019-08-24T14:15:22Z",
"window_end": "2019-08-24T14:15:22Z",
"total_count": 0,
"dispatched_count": 0,
"skipped_count": 0,
"credits_per_observation": 0,
"succeeded_count": 0,
"failed_count": 0,
"ineligible_count": 0,
"in_flight_count": 0,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z"
}

Create vision scanners backfills cancel

Stop an active backfill; already-dispatched observations finish, nothing new dispatches.

Required API key scopes

replay_scanner:writesession_recording:read

Path parameters

  • id
    string
  • scanner_id
    string

Request parameters


    Response


    Example request

    POST /api/projects/:project_id/vision/scanners/:scanner_id/backfills/:id/cancel
    export POSTHOG_PERSONAL_API_KEY=[your personal api key]
    curl
    -H 'Content-Type: application/json'\
    -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
    <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/backfills/:id/cancel/\
    -d status=undefined

    Example response

    Status 200
    RESPONSE
    {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "status": "running",
    "window_start": "2019-08-24T14:15:22Z",
    "window_end": "2019-08-24T14:15:22Z",
    "total_count": 0,
    "dispatched_count": 0,
    "skipped_count": 0,
    "credits_per_observation": 0,
    "succeeded_count": 0,
    "failed_count": 0,
    "ineligible_count": 0,
    "in_flight_count": 0,
    "created_by": {
    "id": 0,
    "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
    "distinct_id": "string",
    "first_name": "string",
    "last_name": "string",
    "email": "user@example.com",
    "is_email_verified": true,
    "hedgehog_config": {},
    "role_at_organization": "engineering"
    },
    "created_at": "2019-08-24T14:15:22Z",
    "finished_at": "2019-08-24T14:15:22Z"
    }

    Create vision scanners backfills resume

    Restart a backfill that paused when the monthly quota ran out.

    Required API key scopes

    replay_scanner:writesession_recording:read

    Path parameters

    • id
      string
    • scanner_id
      string

    Request parameters


      Response


      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/backfills/:id/resume
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/backfills/:id/resume/\
      -d status=undefined

      Example response

      Status 200
      RESPONSE
      {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "status": "running",
      "window_start": "2019-08-24T14:15:22Z",
      "window_end": "2019-08-24T14:15:22Z",
      "total_count": 0,
      "dispatched_count": 0,
      "skipped_count": 0,
      "credits_per_observation": 0,
      "succeeded_count": 0,
      "failed_count": 0,
      "ineligible_count": 0,
      "in_flight_count": 0,
      "created_by": {
      "id": 0,
      "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
      "distinct_id": "string",
      "first_name": "string",
      "last_name": "string",
      "email": "user@example.com",
      "is_email_verified": true,
      "hedgehog_config": {},
      "role_at_organization": "engineering"
      },
      "created_at": "2019-08-24T14:15:22Z",
      "finished_at": "2019-08-24T14:15:22Z"
      }

      Create vision scanners backfills estimate

      Exactly enumerate what a backfill over the given window would dispatch and cost.

      Required API key scopes

      replay_scanner:writesession_recording:read

      Path parameters

      • scanner_id
        string

      Request parameters

      • window_start
        string
      • window_end
        string

      Response


      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/backfills/estimate
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/backfills/estimate/\
      -d window_start="string",\
      -d window_end="string"

      Example response

      Status 200
      RESPONSE
      {
      "total_sessions": 0,
      "total_credits": 0,
      "credits_per_observation": 0,
      "credits_remaining": 0,
      "window_start": "2019-08-24T14:15:22Z",
      "window_end": "2019-08-24T14:15:22Z"
      }

      List all vision scanners observations

      Read-only access to observations produced by a scanner.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • scanner_id
        string

      Query parameters

      • backfill_id
        string
      • date_from
        string
      • date_to
        string
      • labeled
        boolean
      • limit
        integer
      • max_score
        number
      • min_score
        number
      • offset
        integer
      • order_by
        string
        One of: "-completed_at""-created_at""-label""-recording_subject_email""-result_confidence""-result_score""-result_verdict""-scanner_version""-started_at""-status""completed_at""created_at""label""recording_subject_email""result_confidence""result_score""result_verdict""scanner_version""started_at""status"
      • recording_subject
        string
      • session_id
        string
      • status
        string
      • tags
        string
      • triggered_by
        string
      • variant
        string
      • verdict
        string

      Response


      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/observations
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/

      Example response

      Status 200
      RESPONSE
      {
      "count": 123,
      "next": "http://api.example.org/accounts/?offset=400&limit=100",
      "previous": "http://api.example.org/accounts/?offset=200&limit=100",
      "results": [
      {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "scanner_id": "43593f58-da3f-45f0-a7bf-8763ef29bdf1",
      "scanner_origin": "configured",
      "session_id": "string",
      "status": "pending",
      "error_reason": "string",
      "workflow_id": "string",
      "scanner_snapshot": {
      "name": "string",
      "scanner_type": "monitor",
      "scanner_version": 0,
      "model": "string",
      "provider": "string",
      "emits_signals": true,
      "scanner_config": null,
      "variant_sampling_rates": {
      "property1": 0.1,
      "property2": 0.1
      }
      },
      "scanner_result": {
      "model_output": null,
      "signals_count": 0,
      "experiment_variant": "string",
      "session_duration_s": 0
      },
      "prompt_question": "string",
      "prompt_valence": "good",
      "triggered_by": "schedule",
      "triggered_by_user": {
      "id": 0,
      "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
      "distinct_id": "string",
      "first_name": "string",
      "last_name": "string",
      "email": "user@example.com",
      "is_email_verified": true,
      "hedgehog_config": {},
      "role_at_organization": "engineering"
      },
      "backfill_id": "724334b4-c968-4355-bf48-120b6dce0c58",
      "distinct_id": "string",
      "recording_subject_email": "string",
      "previous_observation_id": "bdc4be48-ad44-4150-aaf7-80ca533d4bac",
      "next_observation_id": "67a517e1-9b1d-4c86-8d8e-6ec9b5738f26",
      "label": {
      "is_correct": true,
      "feedback": ""
      },
      "viewed": true,
      "media": [
      {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "kind": "thumbnail",
      "position": 0,
      "asset_id": 0,
      "video_start_ms": 0
      }
      ],
      "summary_line": "string",
      "started_at": "2019-08-24T14:15:22Z",
      "completed_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z"
      }
      ]
      }

      Retrieve vision scanners observations

      Retrieve one observation. Any list filters passed along (status, tags, order_by, …) scope the previous_observation_id/next_observation_id navigation to the matching, identically-ordered set — so prev/next from a filtered table stays within that filtered list.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Query parameters

      • backfill_id
        string
      • date_from
        string
      • date_to
        string
      • labeled
        string
      • max_score
        number
      • min_score
        number
      • order_by
        string
        One of: "-completed_at""-created_at""-label""-recording_subject_email""-result_confidence""-result_score""-result_verdict""-scanner_version""-started_at""-status""completed_at""created_at""label""recording_subject_email""result_confidence""result_score""result_verdict""scanner_version""started_at""status"
      • recording_subject
        string
      • session_id
        string
      • status
        string
      • tags
        string
      • triggered_by
        string
      • variant
        string
      • verdict
        string

      Response


      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/

      Example response

      Status 200
      RESPONSE
      {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "scanner_id": "43593f58-da3f-45f0-a7bf-8763ef29bdf1",
      "scanner_origin": "configured",
      "session_id": "string",
      "status": "pending",
      "error_reason": "string",
      "workflow_id": "string",
      "scanner_snapshot": {
      "name": "string",
      "scanner_type": "monitor",
      "scanner_version": 0,
      "model": "string",
      "provider": "string",
      "emits_signals": true,
      "scanner_config": null,
      "variant_sampling_rates": {
      "property1": 0.1,
      "property2": 0.1
      }
      },
      "scanner_result": {
      "model_output": null,
      "signals_count": 0,
      "experiment_variant": "string",
      "session_duration_s": 0
      },
      "prompt_question": "string",
      "prompt_valence": "good",
      "triggered_by": "schedule",
      "triggered_by_user": {
      "id": 0,
      "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
      "distinct_id": "string",
      "first_name": "string",
      "last_name": "string",
      "email": "user@example.com",
      "is_email_verified": true,
      "hedgehog_config": {},
      "role_at_organization": "engineering"
      },
      "backfill_id": "724334b4-c968-4355-bf48-120b6dce0c58",
      "distinct_id": "string",
      "recording_subject_email": "string",
      "previous_observation_id": "bdc4be48-ad44-4150-aaf7-80ca533d4bac",
      "next_observation_id": "67a517e1-9b1d-4c86-8d8e-6ec9b5738f26",
      "label": {
      "is_correct": true,
      "feedback": ""
      },
      "viewed": true,
      "media": [
      {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "kind": "thumbnail",
      "position": 0,
      "asset_id": 0,
      "video_start_ms": 0
      }
      ],
      "summary_line": "string",
      "started_at": "2019-08-24T14:15:22Z",
      "completed_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z"
      }

      Create vision scanners observations create task

      Create a PostHog Task from this observation's finding so it can be triaged and fixed. Title and description are derived from the scanner and its result. Record-only: this does not start the coding agent. Idempotent per observation: once a task exists, repeat calls return its id with a 200 instead of creating a duplicate.

      Required API key scopes

      replay_scanner:writesession_recording:readtask:write

      Path parameters

      • id
        string
      • scanner_id
        string

      Response


      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/create_task
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/create_task/

      Example response

      Status 200
      RESPONSE
      {
      "task_id": "736fde4d-9029-4915-8189-01353d6982cb"
      }
      Status 201
      RESPONSE
      {
      "task_id": "736fde4d-9029-4915-8189-01353d6982cb"
      }

      Create vision scanners observations feed dismissal

      Mark this observation not useful for the calling user, with an optional reason. What to watch stops showing it to that user. Sending it again replaces the reason.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Request parameters

      • reason

      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/feed_dismissal
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/feed_dismissal/\
      -d reason=undefined

      Example response

      Status 204 No response body

      Delete vision scanners observations feed dismissal

      Undo the calling user's not-useful mark, so What to watch can show the observation again.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Example request

      DELETE /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/feed_dismissal
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl -X DELETE \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/feed_dismissal/

      Example response

      Status 204 No response body

      Create vision scanners observations label

      Set or update the observation's shared label: whether the scanner scored the session correctly, plus optional feedback on what it got wrong. One label per observation, shared across the team; these labels feed prompt improvement. Requires editor access to the scanner.

      Required API key scopes

      replay_scanner:writesession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Request parameters

      • is_correct
        boolean
      • feedback
        string
        Default:

      Response


      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/label
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/label/\
      -d is_correct="boolean"

      Example response

      Status 200
      RESPONSE
      {
      "is_correct": true,
      "feedback": ""
      }

      Delete vision scanners observations label

      Remove the observation's shared label. Requires editor access to the scanner.

      Required API key scopes

      replay_scanner:writesession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Example request

      DELETE /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/label
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl -X DELETE \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/label/

      Example response

      Status 204 No response body

      Create vision scanners observations retry

      Delete a failed or ineligible observation and re-run its scanner on the same recording. Returns 202 with the workflow handle.

      Required API key scopes

      replay_scanner:writesession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Response


      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/retry
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/retry/

      Example response

      Status 202
      RESPONSE
      {
      "workflow_id": "string"
      }
      Status 409 The previous run is still finishing.
      RESPONSE
      {
      "detail": "string"
      }
      Status 503 The retry couldn't be started.
      RESPONSE
      {
      "detail": "string"
      }

      List all vision scanners observations signal reports

      The inbox reports this observation's emitted signals were grouped into, newest first.

      Required API key scopes

      replay_scanner:readsession_recording:readtask:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Query parameters

      • backfill_id
        string
      • date_from
        string
      • date_to
        string
      • labeled
        boolean
      • max_score
        number
      • min_score
        number
      • order_by
        string
      • recording_subject
        string
      • session_id
        string
      • status
        string
      • tags
        string
      • triggered_by
        string
      • variant
        string
      • verdict
        string

      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/signal_reports
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/signal_reports/

      Example response

      Status 200
      RESPONSE
      {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "title": "string",
      "status": "string",
      "created_at": "2019-08-24T14:15:22Z"
      }

      Retrieve vision scanners observations thumbnail

      Redirect to the frame that illustrates this observation, so a caller with only the observation id can show it.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Query parameters

      • chapter
        integer

      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/thumbnail
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/thumbnail/

      Example response

      Status 302 Redirect to the image.
      Status 404 The observation has no such frame, or its render has not landed yet.
      RESPONSE
      {
      "detail": "string"
      }

      Create vision scanners observations viewed

      Record that the calling user opened this observation. Idempotent.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Example request

      POST /api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/viewed
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl
      -H 'Content-Type: application/json'\
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/:id/viewed/

      Example response

      Status 204 No response body

      Retrieve vision scanners observations stats

      Aggregate counts and per-scanner-type distributions over the filtered observation set. Same filters as the list endpoint apply.

      Required API key scopes

      replay_scanner:readsession_recording:read

      Path parameters

      • scanner_id
        string

      Query parameters

      • backfill_id
        string
      • date_from
        string
      • date_to
        string
      • labeled
        string
      • max_score
        number
      • min_score
        number
      • recent_days
        integer
      • recording_subject
        string
      • session_id
        string
      • status
        string
      • tags
        string
      • triggered_by
        string
      • variant
        string
      • verdict
        string

      Response


      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/observations/stats
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/observations/stats/

      Example response

      Status 200
      RESPONSE
      {
      "status_counts": {
      "total": 0,
      "succeeded": 0,
      "failed": 0,
      "ineligible": 0,
      "in_flight": 0,
      "success_rate": 0
      },
      "coverage": {
      "recent_sessions": 0,
      "total_sessions": 0,
      "recent_days": 0
      },
      "labels": {
      "up_total": 0,
      "down_total": 0,
      "by_day": [
      {
      "date": "2019-08-24",
      "up": 0,
      "down": 0
      }
      ],
      "by_rating_day": [
      {
      "date": "2019-08-24",
      "up": 0,
      "down": 0
      }
      ],
      "version_markers": [
      {
      "date": "2019-08-24",
      "version": 0,
      "prompt": "string",
      "scanner_config": null,
      "scanner_type": "string",
      "model": "string",
      "provider": "string",
      "emits_signals": true,
      "query": null,
      "sampling_rate": 0,
      "sampling_mode": "string",
      "up": 0,
      "down": 0,
      "total": 0
      }
      ]
      },
      "available_tags": [
      "string"
      ],
      "monitor": {
      "yes_total": 0,
      "no_total": 0,
      "inconclusive_total": 0
      },
      "classifier": {
      "fixed_ranked": [
      {
      "tag": "string",
      "count": 0
      }
      ],
      "freeform_ranked": [
      {
      "tag": "string",
      "count": 0
      }
      ],
      "total_with_tags": 0
      },
      "scorer": {
      "summary": {
      "min": 0.1,
      "p25": 0.1,
      "median": 0.1,
      "mean": 0.1,
      "p75": 0.1,
      "max": 0.1,
      "count": 0
      },
      "histogram": {
      "labels": [
      "string"
      ],
      "counts": [
      0
      ]
      }
      }
      }

      List all vision scanners scout reports

      Reports filed by this scanner's scouts, newest first.

      Required API key scopes

      replay_scanner:readsession_recording:readtask:read

      Path parameters

      • scanner_id
        string

      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/scout_reports
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/scout_reports/

      Example response

      Status 200
      RESPONSE
      {
      "report_id": "string",
      "skill_name": "string",
      "filed_at": "2019-08-24T14:15:22Z",
      "title": "string",
      "summary": "string",
      "charts": [
      {
      "chart_id": "string",
      "title": "string",
      "query": null,
      "caption": "string",
      "size": "small"
      }
      ]
      }

      Retrieve vision scanners scout reports

      One report filed by this scanner's scouts.

      Required API key scopes

      replay_scanner:readsession_recording:readtask:read

      Path parameters

      • id
        string
      • scanner_id
        string

      Response


      Example request

      GET /api/projects/:project_id/vision/scanners/:scanner_id/scout_reports/:id
      export POSTHOG_PERSONAL_API_KEY=[your personal api key]
      curl \
      -H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
      <ph_app_host>/api/projects/:project_id/vision/scanners/:scanner_id/scout_reports/:id/

      Example response

      Status 200
      RESPONSE
      {
      "report_id": "string",
      "skill_name": "string",
      "filed_at": "2019-08-24T14:15:22Z",
      "title": "string",
      "summary": "string",
      "charts": [
      {
      "chart_id": "string",
      "title": "string",
      "query": null,
      "caption": "string",
      "size": "small"
      }
      ]
      }