@utdk/posthog 1.0.0-20260712.5-dev.e2949a6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +172 -0
  3. package/docs/account_relationship_definitions.md +194 -0
  4. package/docs/accounts.md +380 -0
  5. package/docs/actions.md +274 -0
  6. package/docs/activity_logs.md +144 -0
  7. package/docs/advanced_activity_logs.md +101 -0
  8. package/docs/agent_platform.md +2525 -0
  9. package/docs/ai-observability.md +514 -0
  10. package/docs/alerts.md +444 -0
  11. package/docs/annotations.md +200 -0
  12. package/docs/batch_exports.md +2118 -0
  13. package/docs/business_knowledge.md +468 -0
  14. package/docs/code-invites.md +72 -0
  15. package/docs/cohorts.md +412 -0
  16. package/docs/comments.md +321 -0
  17. package/docs/conversations.md +695 -0
  18. package/docs/custom_property_definitions.md +442 -0
  19. package/docs/custom_property_sources.md +194 -0
  20. package/docs/customer_analytics.md +442 -0
  21. package/docs/customer_journeys.md +380 -0
  22. package/docs/customer_profile_configs.md +380 -0
  23. package/docs/dashboard_templates.md +258 -0
  24. package/docs/dashboards.md +1896 -0
  25. package/docs/data_color_themes.md +380 -0
  26. package/docs/data_modeling_jobs.md +264 -0
  27. package/docs/data_warehouse.md +928 -0
  28. package/docs/dataset_items.md +382 -0
  29. package/docs/datasets.md +382 -0
  30. package/docs/desktop_file_system.md +753 -0
  31. package/docs/desktop_file_system_shortcut.md +244 -0
  32. package/docs/docs.md +72 -0
  33. package/docs/early_access_feature.md +194 -0
  34. package/docs/elements.md +510 -0
  35. package/docs/endpoints.md +1030 -0
  36. package/docs/engineering_analytics.md +712 -0
  37. package/docs/environments.md +881 -0
  38. package/docs/error_tracking.md +5108 -0
  39. package/docs/evaluation_runs.md +78 -0
  40. package/docs/evaluations.md +446 -0
  41. package/docs/event_definitions.md +425 -0
  42. package/docs/event_filter.md +280 -0
  43. package/docs/event_schemas.md +163 -0
  44. package/docs/events.md +208 -0
  45. package/docs/experiment_holdouts.md +194 -0
  46. package/docs/experiment_saved_metrics.md +194 -0
  47. package/docs/experiments.md +1088 -0
  48. package/docs/exports.md +256 -0
  49. package/docs/external_data_schemas.md +752 -0
  50. package/docs/external_data_sources.md +2296 -0
  51. package/docs/feature_flags.md +808 -0
  52. package/docs/field_notes.md +206 -0
  53. package/docs/file_system.md +880 -0
  54. package/docs/file_system_shortcut.md +444 -0
  55. package/docs/flag_value.md +46 -0
  56. package/docs/groups.md +514 -0
  57. package/docs/groups_types.md +349 -0
  58. package/docs/health_issues.md +386 -0
  59. package/docs/heatmap_screenshots.md +72 -0
  60. package/docs/heatmaps.md +136 -0
  61. package/docs/hog_flows.md +1576 -0
  62. package/docs/hog_function_templates.md +101 -0
  63. package/docs/hog_functions.md +974 -0
  64. package/docs/ingestion_warnings_v2.md +40 -0
  65. package/docs/insight_variables.md +380 -0
  66. package/docs/insights.md +1722 -0
  67. package/docs/integrations.md +1954 -0
  68. package/docs/js-snippet.md +104 -0
  69. package/docs/live_debugger_breakpoints.md +264 -0
  70. package/docs/llm_analytics.md +3373 -0
  71. package/docs/llm_prompts.md +442 -0
  72. package/docs/llm_skills.md +952 -0
  73. package/docs/logs.md +2446 -0
  74. package/docs/managed_viewsets.md +140 -0
  75. package/docs/marketing_analytics.md +518 -0
  76. package/docs/max.md +772 -0
  77. package/docs/max_tools.md +70 -0
  78. package/docs/mcp_analytics.md +712 -0
  79. package/docs/mcp_server_installations.md +970 -0
  80. package/docs/mcp_servers.md +78 -0
  81. package/docs/mcp_tools.md +82 -0
  82. package/docs/messaging_templates.md +444 -0
  83. package/docs/metrics.md +462 -0
  84. package/docs/notebooks.md +838 -0
  85. package/docs/object_media_previews.md +228 -0
  86. package/docs/organizations.md +2958 -0
  87. package/docs/persons.md +1514 -0
  88. package/docs/platform_features.md +700 -0
  89. package/docs/plugin_configs.md +70 -0
  90. package/docs/product_enablement.md +39 -0
  91. package/docs/product_tours.md +357 -0
  92. package/docs/project_secret_api_keys.md +444 -0
  93. package/docs/property_access_controls.md +200 -0
  94. package/docs/property_definitions.md +244 -0
  95. package/docs/query.md +560 -0
  96. package/docs/quota_limits.md +40 -0
  97. package/docs/reminders.md +194 -0
  98. package/docs/replay.md +1020 -0
  99. package/docs/reverse_proxy.md +200 -0
  100. package/docs/sandbox-custom-images.md +209 -0
  101. package/docs/sandbox-environments.md +168 -0
  102. package/docs/saved.md +392 -0
  103. package/docs/saved_query_column_annotations.md +224 -0
  104. package/docs/scheduled_changes.md +200 -0
  105. package/docs/schema_property_groups.md +194 -0
  106. package/docs/sdk_health.md +40 -0
  107. package/docs/session_group_summaries.md +200 -0
  108. package/docs/session_recordings.md +260 -0
  109. package/docs/session_summaries.md +200 -0
  110. package/docs/sessions.md +132 -0
  111. package/docs/signals.md +1428 -0
  112. package/docs/single_session_summaries.md +72 -0
  113. package/docs/streamlit_apps.md +456 -0
  114. package/docs/subscriptions.md +634 -0
  115. package/docs/surveys.md +731 -0
  116. package/docs/taggers.md +446 -0
  117. package/docs/task-automations.md +200 -0
  118. package/docs/task-runs.md +654 -0
  119. package/docs/task_channels.md +136 -0
  120. package/docs/task_mentions.md +40 -0
  121. package/docs/tasks.md +776 -0
  122. package/docs/tracing.md +1186 -0
  123. package/docs/uploaded_media.md +44 -0
  124. package/docs/user_home_settings.md +72 -0
  125. package/docs/user_interview_topics.md +1288 -0
  126. package/docs/user_interviews.md +444 -0
  127. package/docs/users.md +1267 -0
  128. package/docs/vision.md +2022 -0
  129. package/docs/visual_review.md +816 -0
  130. package/docs/warehouse_column_annotations.md +224 -0
  131. package/docs/warehouse_column_statistics.md +80 -0
  132. package/docs/warehouse_dag.md +40 -0
  133. package/docs/warehouse_model_paths.md +70 -0
  134. package/docs/warehouse_saved_queries.md +1056 -0
  135. package/docs/warehouse_saved_query_folders.md +318 -0
  136. package/docs/warehouse_tables.md +584 -0
  137. package/docs/warehouse_view_link.md +456 -0
  138. package/docs/warehouse_view_links.md +456 -0
  139. package/docs/web_analytics.md +136 -0
  140. package/docs/web_analytics_achievements.md +200 -0
  141. package/docs/web_experiments.md +194 -0
  142. package/docs/web_vitals.md +74 -0
  143. package/docs/wizard.md +170 -0
  144. package/index.ts +22 -0
  145. package/metadata.ts +41419 -0
  146. package/openapi.json +297382 -0
  147. package/overlay.yaml +23 -0
  148. package/package.json +34 -0
  149. package/provenance.json +24 -0
  150. package/research.json +80 -0
  151. package/types/index.ts +17547 -0
package/docs/vision.md ADDED
@@ -0,0 +1,2022 @@
1
+ # Vision
2
+
3
+ ## Operations
4
+
5
+ ### `posthog.environmentsVisionObservationsList`
6
+
7
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/observations/`
8
+ - **What it does**: Read-only access to a session's observations across every scanner the caller can read, for the replay-page dock.
9
+ - **OpenAPI operationId**: `environments_vision_observations_list`
10
+ - **Path params**: None
11
+ - **Query params**: `limit`, `offset`, `order_by`, `session_id`
12
+ - **Response codes**: `200`
13
+ - **Transport options**: None
14
+ - **TypeScript**: [Client interface](../types.ts)
15
+
16
+ **Inputs**
17
+
18
+ - Client input type: `{ [key: string]: unknown }`
19
+ - Client transport options: None
20
+
21
+ **Outputs**
22
+
23
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...`
24
+ - OpenAPI response codes: `200`
25
+
26
+ ```ts
27
+ import posthog from "@utdk/posthog";
28
+
29
+ type EnvironmentsVisionObservationsListInput = Parameters<typeof posthog.environmentsVisionObservationsList> extends [infer T, ...unknown[]] ? T : undefined;
30
+ type EnvironmentsVisionObservationsListOutput = Awaited<ReturnType<typeof posthog.environmentsVisionObservationsList>>;
31
+
32
+ const result: EnvironmentsVisionObservationsListOutput = await posthog.environmentsVisionObservationsList();
33
+
34
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...
35
+ ```
36
+
37
+ ### `posthog.environmentsVisionObservationsRetrieve`
38
+
39
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/observations/{id}/`
40
+ - **What it does**: 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.
41
+ - **OpenAPI operationId**: `environments_vision_observations_retrieve`
42
+ - **Path params**: `id`
43
+ - **Query params**: `labeled`, `order_by`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
44
+ - **Response codes**: `200`
45
+ - **Transport options**: None
46
+ - **TypeScript**: [Client interface](../types.ts)
47
+
48
+ **Inputs**
49
+
50
+ - Client input type: `{ [key: string]: unknown }`
51
+ - Client transport options: None
52
+
53
+ **Outputs**
54
+
55
+ - Client return type: `{ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...`
56
+ - OpenAPI response codes: `200`
57
+
58
+ ```ts
59
+ import posthog from "@utdk/posthog";
60
+
61
+ type EnvironmentsVisionObservationsRetrieveInput = Parameters<typeof posthog.environmentsVisionObservationsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
62
+ type EnvironmentsVisionObservationsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionObservationsRetrieve>>;
63
+
64
+ const result: EnvironmentsVisionObservationsRetrieveOutput = await posthog.environmentsVisionObservationsRetrieve();
65
+
66
+ // Result shape (from schema): { id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...
67
+ ```
68
+
69
+ ### `posthog.environmentsVisionObservationsLabelDestroy`
70
+
71
+ - **HTTP**: `DELETE /api/environments/{environment_id}/vision/observations/{id}/label/`
72
+ - **What it does**: Remove the observation's shared label. Requires session recording edit access.
73
+ - **OpenAPI operationId**: `environments_vision_observations_label_destroy`
74
+ - **Path params**: `id`
75
+ - **Query params**: None
76
+ - **Response codes**: `204`
77
+ - **Transport options**: None
78
+ - **TypeScript**: [Client interface](../types.ts)
79
+
80
+ **Inputs**
81
+
82
+ - Client input type: `{ [key: string]: unknown }`
83
+ - Client transport options: None
84
+
85
+ **Outputs**
86
+
87
+ - Client return type: `unknown`
88
+ - OpenAPI response codes: `204`
89
+
90
+ ```ts
91
+ import posthog from "@utdk/posthog";
92
+
93
+ type EnvironmentsVisionObservationsLabelDestroyInput = Parameters<typeof posthog.environmentsVisionObservationsLabelDestroy> extends [infer T, ...unknown[]] ? T : undefined;
94
+ type EnvironmentsVisionObservationsLabelDestroyOutput = Awaited<ReturnType<typeof posthog.environmentsVisionObservationsLabelDestroy>>;
95
+
96
+ const result: EnvironmentsVisionObservationsLabelDestroyOutput = await posthog.environmentsVisionObservationsLabelDestroy();
97
+
98
+ // Result shape (from schema): unknown
99
+ ```
100
+
101
+ ### `posthog.environmentsVisionObservationsLabelCreate`
102
+
103
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/observations/{id}/label/`
104
+ - **What it does**: 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 session recording edit access.
105
+ - **OpenAPI operationId**: `environments_vision_observations_label_create`
106
+ - **Path params**: `id`
107
+ - **Query params**: None
108
+ - **Response codes**: `200`
109
+ - **Transport options**: None
110
+ - **TypeScript**: [Client interface](../types.ts)
111
+
112
+ **Inputs**
113
+
114
+ - Client input type: `{ [key: string]: unknown }`
115
+ - Client transport options: None
116
+
117
+ **Outputs**
118
+
119
+ - Client return type: `{ is_correct: boolean; feedback?: string }`
120
+ - OpenAPI response codes: `200`
121
+
122
+ ```ts
123
+ import posthog from "@utdk/posthog";
124
+
125
+ type EnvironmentsVisionObservationsLabelCreateInput = Parameters<typeof posthog.environmentsVisionObservationsLabelCreate> extends [infer T, ...unknown[]] ? T : undefined;
126
+ type EnvironmentsVisionObservationsLabelCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionObservationsLabelCreate>>;
127
+
128
+ const result: EnvironmentsVisionObservationsLabelCreateOutput = await posthog.environmentsVisionObservationsLabelCreate();
129
+
130
+ // Result shape (from schema): { is_correct: boolean; feedback?: string }
131
+ ```
132
+
133
+ ### `posthog.environmentsVisionObservationsRetryCreate`
134
+
135
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/observations/{id}/retry/`
136
+ - **What it does**: Delete a failed observation and re-run its scanner on the same recording. Returns 202 with the workflow handle.
137
+ - **OpenAPI operationId**: `environments_vision_observations_retry_create`
138
+ - **Path params**: `id`
139
+ - **Query params**: None
140
+ - **Response codes**: `202`
141
+ - **Transport options**: None
142
+ - **TypeScript**: [Client interface](../types.ts)
143
+
144
+ **Inputs**
145
+
146
+ - Client input type: `{ [key: string]: unknown }`
147
+ - Client transport options: None
148
+
149
+ **Outputs**
150
+
151
+ - Client return type: `unknown`
152
+ - OpenAPI response codes: `202`
153
+
154
+ ```ts
155
+ import posthog from "@utdk/posthog";
156
+
157
+ type EnvironmentsVisionObservationsRetryCreateInput = Parameters<typeof posthog.environmentsVisionObservationsRetryCreate> extends [infer T, ...unknown[]] ? T : undefined;
158
+ type EnvironmentsVisionObservationsRetryCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionObservationsRetryCreate>>;
159
+
160
+ const result: EnvironmentsVisionObservationsRetryCreateOutput = await posthog.environmentsVisionObservationsRetryCreate();
161
+
162
+ // Result shape (from schema): unknown
163
+ ```
164
+
165
+ ### `posthog.environmentsEnvironmentVisionQuotaRetrieve`
166
+
167
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/quota/`
168
+ - **OpenAPI operationId**: `environments_environment_vision_quota_retrieve`
169
+ - **Path params**: None
170
+ - **Query params**: None
171
+ - **Response codes**: `200`
172
+ - **Transport options**: None
173
+ - **TypeScript**: [Client interface](../types.ts)
174
+
175
+ **Inputs**
176
+
177
+ - Client input type: `{ [key: string]: unknown }`
178
+ - Client transport options: None
179
+
180
+ **Outputs**
181
+
182
+ - Client return type: `{ credit_limit: number | null; credits_used: number; remaining: number | null; exhausted: boolean; period_start: string; period_end: string; projected_monthly_credits: number }`
183
+ - OpenAPI response codes: `200`
184
+
185
+ ```ts
186
+ import posthog from "@utdk/posthog";
187
+
188
+ type EnvironmentsEnvironmentVisionQuotaRetrieveInput = Parameters<typeof posthog.environmentsEnvironmentVisionQuotaRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
189
+ type EnvironmentsEnvironmentVisionQuotaRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEnvironmentVisionQuotaRetrieve>>;
190
+
191
+ const result: EnvironmentsEnvironmentVisionQuotaRetrieveOutput = await posthog.environmentsEnvironmentVisionQuotaRetrieve();
192
+
193
+ // Result shape (from schema): { credit_limit: number | null; credits_used: number; remaining: number | null; exhausted: boolean; period_start: string; period_end: string; projected_monthly_credits: number }
194
+ ```
195
+
196
+ ### `posthog.environmentsVisionScannersList`
197
+
198
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/`
199
+ - **What it does**: CRUD for Replay Vision scanners.
200
+ - **OpenAPI operationId**: `environments_vision_scanners_list`
201
+ - **Path params**: None
202
+ - **Query params**: `created_by`, `emits_signals`, `enabled`, `limit`, `offset`, `order_by`, `scanner_type`, `search`
203
+ - **Response codes**: `200`
204
+ - **Transport options**: None
205
+ - **TypeScript**: [Client interface](../types.ts)
206
+
207
+ **Inputs**
208
+
209
+ - Client input type: `{ [key: string]: unknown }`
210
+ - Client transport options: None
211
+
212
+ **Outputs**
213
+
214
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; que...`
215
+ - OpenAPI response codes: `200`
216
+
217
+ ```ts
218
+ import posthog from "@utdk/posthog";
219
+
220
+ type EnvironmentsVisionScannersListInput = Parameters<typeof posthog.environmentsVisionScannersList> extends [infer T, ...unknown[]] ? T : undefined;
221
+ type EnvironmentsVisionScannersListOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersList>>;
222
+
223
+ const result: EnvironmentsVisionScannersListOutput = await posthog.environmentsVisionScannersList();
224
+
225
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; que...
226
+ ```
227
+
228
+ ### `posthog.environmentsVisionScannersCreate`
229
+
230
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/`
231
+ - **What it does**: CRUD for Replay Vision scanners.
232
+ - **OpenAPI operationId**: `environments_vision_scanners_create`
233
+ - **Path params**: None
234
+ - **Query params**: None
235
+ - **Response codes**: `201`
236
+ - **Transport options**: None
237
+ - **TypeScript**: [Client interface](../types.ts)
238
+
239
+ **Inputs**
240
+
241
+ - Client input type: `{ [key: string]: unknown }`
242
+ - Client transport options: None
243
+
244
+ **Outputs**
245
+
246
+ - Client return type: `{ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...`
247
+ - OpenAPI response codes: `201`
248
+
249
+ ```ts
250
+ import posthog from "@utdk/posthog";
251
+
252
+ type EnvironmentsVisionScannersCreateInput = Parameters<typeof posthog.environmentsVisionScannersCreate> extends [infer T, ...unknown[]] ? T : undefined;
253
+ type EnvironmentsVisionScannersCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersCreate>>;
254
+
255
+ const result: EnvironmentsVisionScannersCreateOutput = await posthog.environmentsVisionScannersCreate();
256
+
257
+ // Result shape (from schema): { id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...
258
+ ```
259
+
260
+ ### `posthog.environmentsVisionScannersDestroy`
261
+
262
+ - **HTTP**: `DELETE /api/environments/{environment_id}/vision/scanners/{id}/`
263
+ - **What it does**: CRUD for Replay Vision scanners.
264
+ - **OpenAPI operationId**: `environments_vision_scanners_destroy`
265
+ - **Path params**: `id`
266
+ - **Query params**: None
267
+ - **Response codes**: `204`
268
+ - **Transport options**: None
269
+ - **TypeScript**: [Client interface](../types.ts)
270
+
271
+ **Inputs**
272
+
273
+ - Client input type: `{ [key: string]: unknown }`
274
+ - Client transport options: None
275
+
276
+ **Outputs**
277
+
278
+ - Client return type: `unknown`
279
+ - OpenAPI response codes: `204`
280
+
281
+ ```ts
282
+ import posthog from "@utdk/posthog";
283
+
284
+ type EnvironmentsVisionScannersDestroyInput = Parameters<typeof posthog.environmentsVisionScannersDestroy> extends [infer T, ...unknown[]] ? T : undefined;
285
+ type EnvironmentsVisionScannersDestroyOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersDestroy>>;
286
+
287
+ const result: EnvironmentsVisionScannersDestroyOutput = await posthog.environmentsVisionScannersDestroy();
288
+
289
+ // Result shape (from schema): unknown
290
+ ```
291
+
292
+ ### `posthog.environmentsVisionScannersRetrieve`
293
+
294
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/{id}/`
295
+ - **What it does**: CRUD for Replay Vision scanners.
296
+ - **OpenAPI operationId**: `environments_vision_scanners_retrieve`
297
+ - **Path params**: `id`
298
+ - **Query params**: None
299
+ - **Response codes**: `200`
300
+ - **Transport options**: None
301
+ - **TypeScript**: [Client interface](../types.ts)
302
+
303
+ **Inputs**
304
+
305
+ - Client input type: `{ [key: string]: unknown }`
306
+ - Client transport options: None
307
+
308
+ **Outputs**
309
+
310
+ - Client return type: `{ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...`
311
+ - OpenAPI response codes: `200`
312
+
313
+ ```ts
314
+ import posthog from "@utdk/posthog";
315
+
316
+ type EnvironmentsVisionScannersRetrieveInput = Parameters<typeof posthog.environmentsVisionScannersRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
317
+ type EnvironmentsVisionScannersRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersRetrieve>>;
318
+
319
+ const result: EnvironmentsVisionScannersRetrieveOutput = await posthog.environmentsVisionScannersRetrieve();
320
+
321
+ // Result shape (from schema): { id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...
322
+ ```
323
+
324
+ ### `posthog.environmentsVisionScannersPartialUpdate`
325
+
326
+ - **HTTP**: `PATCH /api/environments/{environment_id}/vision/scanners/{id}/`
327
+ - **What it does**: CRUD for Replay Vision scanners.
328
+ - **OpenAPI operationId**: `environments_vision_scanners_partial_update`
329
+ - **Path params**: `id`
330
+ - **Query params**: None
331
+ - **Response codes**: `200`
332
+ - **Transport options**: None
333
+ - **TypeScript**: [Client interface](../types.ts)
334
+
335
+ **Inputs**
336
+
337
+ - Client input type: `{ [key: string]: unknown }`
338
+ - Client transport options: None
339
+
340
+ **Outputs**
341
+
342
+ - Client return type: `{ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...`
343
+ - OpenAPI response codes: `200`
344
+
345
+ ```ts
346
+ import posthog from "@utdk/posthog";
347
+
348
+ type EnvironmentsVisionScannersPartialUpdateInput = Parameters<typeof posthog.environmentsVisionScannersPartialUpdate> extends [infer T, ...unknown[]] ? T : undefined;
349
+ type EnvironmentsVisionScannersPartialUpdateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPartialUpdate>>;
350
+
351
+ const result: EnvironmentsVisionScannersPartialUpdateOutput = await posthog.environmentsVisionScannersPartialUpdate();
352
+
353
+ // Result shape (from schema): { id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...
354
+ ```
355
+
356
+ ### `posthog.environmentsVisionScannersObserveCreate`
357
+
358
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{id}/observe/`
359
+ - **What it does**: Apply this scanner to one specific session, on demand. Returns 202 with the workflow handle.
360
+ - **OpenAPI operationId**: `environments_vision_scanners_observe_create`
361
+ - **Path params**: `id`
362
+ - **Query params**: None
363
+ - **Response codes**: `202`
364
+ - **Transport options**: None
365
+ - **TypeScript**: [Client interface](../types.ts)
366
+
367
+ **Inputs**
368
+
369
+ - Client input type: `{ [key: string]: unknown }`
370
+ - Client transport options: None
371
+
372
+ **Outputs**
373
+
374
+ - Client return type: `unknown`
375
+ - OpenAPI response codes: `202`
376
+
377
+ ```ts
378
+ import posthog from "@utdk/posthog";
379
+
380
+ type EnvironmentsVisionScannersObserveCreateInput = Parameters<typeof posthog.environmentsVisionScannersObserveCreate> extends [infer T, ...unknown[]] ? T : undefined;
381
+ type EnvironmentsVisionScannersObserveCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObserveCreate>>;
382
+
383
+ const result: EnvironmentsVisionScannersObserveCreateOutput = await posthog.environmentsVisionScannersObserveCreate();
384
+
385
+ // Result shape (from schema): unknown
386
+ ```
387
+
388
+ ### `posthog.environmentsVisionScannersObservationsList`
389
+
390
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/{scanner_id}/observations/`
391
+ - **What it does**: Read-only access to observations produced by a scanner.
392
+ - **OpenAPI operationId**: `environments_vision_scanners_observations_list`
393
+ - **Path params**: `scanner_id`
394
+ - **Query params**: `labeled`, `limit`, `offset`, `order_by`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
395
+ - **Response codes**: `200`
396
+ - **Transport options**: None
397
+ - **TypeScript**: [Client interface](../types.ts)
398
+
399
+ **Inputs**
400
+
401
+ - Client input type: `{ [key: string]: unknown }`
402
+ - Client transport options: None
403
+
404
+ **Outputs**
405
+
406
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...`
407
+ - OpenAPI response codes: `200`
408
+
409
+ ```ts
410
+ import posthog from "@utdk/posthog";
411
+
412
+ type EnvironmentsVisionScannersObservationsListInput = Parameters<typeof posthog.environmentsVisionScannersObservationsList> extends [infer T, ...unknown[]] ? T : undefined;
413
+ type EnvironmentsVisionScannersObservationsListOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObservationsList>>;
414
+
415
+ const result: EnvironmentsVisionScannersObservationsListOutput = await posthog.environmentsVisionScannersObservationsList();
416
+
417
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...
418
+ ```
419
+
420
+ ### `posthog.environmentsVisionScannersObservationsRetrieve`
421
+
422
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/{scanner_id}/observations/{id}/`
423
+ - **What it does**: 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.
424
+ - **OpenAPI operationId**: `environments_vision_scanners_observations_retrieve`
425
+ - **Path params**: `id`, `scanner_id`
426
+ - **Query params**: `labeled`, `order_by`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
427
+ - **Response codes**: `200`
428
+ - **Transport options**: None
429
+ - **TypeScript**: [Client interface](../types.ts)
430
+
431
+ **Inputs**
432
+
433
+ - Client input type: `{ [key: string]: unknown }`
434
+ - Client transport options: None
435
+
436
+ **Outputs**
437
+
438
+ - Client return type: `{ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...`
439
+ - OpenAPI response codes: `200`
440
+
441
+ ```ts
442
+ import posthog from "@utdk/posthog";
443
+
444
+ type EnvironmentsVisionScannersObservationsRetrieveInput = Parameters<typeof posthog.environmentsVisionScannersObservationsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
445
+ type EnvironmentsVisionScannersObservationsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObservationsRetrieve>>;
446
+
447
+ const result: EnvironmentsVisionScannersObservationsRetrieveOutput = await posthog.environmentsVisionScannersObservationsRetrieve();
448
+
449
+ // Result shape (from schema): { id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...
450
+ ```
451
+
452
+ ### `posthog.environmentsVisionScannersObservationsLabelDestroy`
453
+
454
+ - **HTTP**: `DELETE /api/environments/{environment_id}/vision/scanners/{scanner_id}/observations/{id}/label/`
455
+ - **What it does**: Remove the observation's shared label. Requires session recording edit access.
456
+ - **OpenAPI operationId**: `environments_vision_scanners_observations_label_destroy`
457
+ - **Path params**: `id`, `scanner_id`
458
+ - **Query params**: None
459
+ - **Response codes**: `204`
460
+ - **Transport options**: None
461
+ - **TypeScript**: [Client interface](../types.ts)
462
+
463
+ **Inputs**
464
+
465
+ - Client input type: `{ [key: string]: unknown }`
466
+ - Client transport options: None
467
+
468
+ **Outputs**
469
+
470
+ - Client return type: `unknown`
471
+ - OpenAPI response codes: `204`
472
+
473
+ ```ts
474
+ import posthog from "@utdk/posthog";
475
+
476
+ type EnvironmentsVisionScannersObservationsLabelDestroyInput = Parameters<typeof posthog.environmentsVisionScannersObservationsLabelDestroy> extends [infer T, ...unknown[]] ? T : undefined;
477
+ type EnvironmentsVisionScannersObservationsLabelDestroyOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObservationsLabelDestroy>>;
478
+
479
+ const result: EnvironmentsVisionScannersObservationsLabelDestroyOutput = await posthog.environmentsVisionScannersObservationsLabelDestroy();
480
+
481
+ // Result shape (from schema): unknown
482
+ ```
483
+
484
+ ### `posthog.environmentsVisionScannersObservationsLabelCreate`
485
+
486
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{scanner_id}/observations/{id}/label/`
487
+ - **What it does**: 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 session recording edit access.
488
+ - **OpenAPI operationId**: `environments_vision_scanners_observations_label_create`
489
+ - **Path params**: `id`, `scanner_id`
490
+ - **Query params**: None
491
+ - **Response codes**: `200`
492
+ - **Transport options**: None
493
+ - **TypeScript**: [Client interface](../types.ts)
494
+
495
+ **Inputs**
496
+
497
+ - Client input type: `{ [key: string]: unknown }`
498
+ - Client transport options: None
499
+
500
+ **Outputs**
501
+
502
+ - Client return type: `{ is_correct: boolean; feedback?: string }`
503
+ - OpenAPI response codes: `200`
504
+
505
+ ```ts
506
+ import posthog from "@utdk/posthog";
507
+
508
+ type EnvironmentsVisionScannersObservationsLabelCreateInput = Parameters<typeof posthog.environmentsVisionScannersObservationsLabelCreate> extends [infer T, ...unknown[]] ? T : undefined;
509
+ type EnvironmentsVisionScannersObservationsLabelCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObservationsLabelCreate>>;
510
+
511
+ const result: EnvironmentsVisionScannersObservationsLabelCreateOutput = await posthog.environmentsVisionScannersObservationsLabelCreate();
512
+
513
+ // Result shape (from schema): { is_correct: boolean; feedback?: string }
514
+ ```
515
+
516
+ ### `posthog.environmentsVisionScannersObservationsRetryCreate`
517
+
518
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{scanner_id}/observations/{id}/retry/`
519
+ - **What it does**: Delete a failed observation and re-run its scanner on the same recording. Returns 202 with the workflow handle.
520
+ - **OpenAPI operationId**: `environments_vision_scanners_observations_retry_create`
521
+ - **Path params**: `id`, `scanner_id`
522
+ - **Query params**: None
523
+ - **Response codes**: `202`
524
+ - **Transport options**: None
525
+ - **TypeScript**: [Client interface](../types.ts)
526
+
527
+ **Inputs**
528
+
529
+ - Client input type: `{ [key: string]: unknown }`
530
+ - Client transport options: None
531
+
532
+ **Outputs**
533
+
534
+ - Client return type: `unknown`
535
+ - OpenAPI response codes: `202`
536
+
537
+ ```ts
538
+ import posthog from "@utdk/posthog";
539
+
540
+ type EnvironmentsVisionScannersObservationsRetryCreateInput = Parameters<typeof posthog.environmentsVisionScannersObservationsRetryCreate> extends [infer T, ...unknown[]] ? T : undefined;
541
+ type EnvironmentsVisionScannersObservationsRetryCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObservationsRetryCreate>>;
542
+
543
+ const result: EnvironmentsVisionScannersObservationsRetryCreateOutput = await posthog.environmentsVisionScannersObservationsRetryCreate();
544
+
545
+ // Result shape (from schema): unknown
546
+ ```
547
+
548
+ ### `posthog.environmentsVisionScannersObservationsStatsRetrieve`
549
+
550
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/{scanner_id}/observations/stats/`
551
+ - **What it does**: Aggregate counts and per-scanner-type distributions over the filtered observation set. Same filters as the list endpoint apply.
552
+ - **OpenAPI operationId**: `environments_vision_scanners_observations_stats_retrieve`
553
+ - **Path params**: `scanner_id`
554
+ - **Query params**: `labeled`, `recent_days`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
555
+ - **Response codes**: `200`
556
+ - **Transport options**: None
557
+ - **TypeScript**: [Client interface](../types.ts)
558
+
559
+ **Inputs**
560
+
561
+ - Client input type: `{ [key: string]: unknown }`
562
+ - Client transport options: None
563
+
564
+ **Outputs**
565
+
566
+ - Client return type: `{ status_counts: { total: number; succeeded: number; failed: number; ineligible: number; in_flight: number; success_rate: number | null }; coverage: { recent_sessions: number; total_sessions: number; recent_days: number...`
567
+ - OpenAPI response codes: `200`
568
+
569
+ ```ts
570
+ import posthog from "@utdk/posthog";
571
+
572
+ type EnvironmentsVisionScannersObservationsStatsRetrieveInput = Parameters<typeof posthog.environmentsVisionScannersObservationsStatsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
573
+ type EnvironmentsVisionScannersObservationsStatsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersObservationsStatsRetrieve>>;
574
+
575
+ const result: EnvironmentsVisionScannersObservationsStatsRetrieveOutput = await posthog.environmentsVisionScannersObservationsStatsRetrieve();
576
+
577
+ // Result shape (from schema): { status_counts: { total: number; succeeded: number; failed: number; ineligible: number; in_flight: number; success_rate: number | null }; coverage: { recent_sessions: number; total_sessions: number; recent_days: number...
578
+ ```
579
+
580
+ ### `posthog.environmentsVisionScannersPromptSuggestionsList`
581
+
582
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/{scanner_id}/prompt_suggestions/`
583
+ - **What it does**: AI prompt-rewrite suggestions for a scanner, generated from the team's thumbs up/down ratings.
584
+ - **OpenAPI operationId**: `environments_vision_scanners_prompt_suggestions_list`
585
+ - **Path params**: `scanner_id`
586
+ - **Query params**: `limit`, `offset`
587
+ - **Response codes**: `200`
588
+ - **Transport options**: None
589
+ - **TypeScript**: [Client interface](../types.ts)
590
+
591
+ **Inputs**
592
+
593
+ - Client input type: `{ [key: string]: unknown }`
594
+ - Client transport options: None
595
+
596
+ **Outputs**
597
+
598
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale...`
599
+ - OpenAPI response codes: `200`
600
+
601
+ ```ts
602
+ import posthog from "@utdk/posthog";
603
+
604
+ type EnvironmentsVisionScannersPromptSuggestionsListInput = Parameters<typeof posthog.environmentsVisionScannersPromptSuggestionsList> extends [infer T, ...unknown[]] ? T : undefined;
605
+ type EnvironmentsVisionScannersPromptSuggestionsListOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPromptSuggestionsList>>;
606
+
607
+ const result: EnvironmentsVisionScannersPromptSuggestionsListOutput = await posthog.environmentsVisionScannersPromptSuggestionsList();
608
+
609
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale...
610
+ ```
611
+
612
+ ### `posthog.environmentsVisionScannersPromptSuggestionsApplyCreate`
613
+
614
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{scanner_id}/prompt_suggestions/{id}/apply/`
615
+ - **What it does**: Apply this suggestion: write its prompt to the scanner (bumping the scanner version) and mark the suggestion applied. Only the current pending suggestion can be applied. Requires session recording edit access.
616
+ - **OpenAPI operationId**: `environments_vision_scanners_prompt_suggestions_apply_create`
617
+ - **Path params**: `id`, `scanner_id`
618
+ - **Query params**: None
619
+ - **Response codes**: `200`
620
+ - **Transport options**: None
621
+ - **TypeScript**: [Client interface](../types.ts)
622
+
623
+ **Inputs**
624
+
625
+ - Client input type: `{ [key: string]: unknown }`
626
+ - Client transport options: None
627
+
628
+ **Outputs**
629
+
630
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
631
+ - OpenAPI response codes: `200`
632
+
633
+ ```ts
634
+ import posthog from "@utdk/posthog";
635
+
636
+ type EnvironmentsVisionScannersPromptSuggestionsApplyCreateInput = Parameters<typeof posthog.environmentsVisionScannersPromptSuggestionsApplyCreate> extends [infer T, ...unknown[]] ? T : undefined;
637
+ type EnvironmentsVisionScannersPromptSuggestionsApplyCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPromptSuggestionsApplyCreate>>;
638
+
639
+ const result: EnvironmentsVisionScannersPromptSuggestionsApplyCreateOutput = await posthog.environmentsVisionScannersPromptSuggestionsApplyCreate();
640
+
641
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
642
+ ```
643
+
644
+ ### `posthog.environmentsVisionScannersPromptSuggestionsDismissCreate`
645
+
646
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{scanner_id}/prompt_suggestions/{id}/dismiss/`
647
+ - **What it does**: Dismiss this suggestion without applying it. Only the current pending suggestion can be dismissed. Requires session recording edit access.
648
+ - **OpenAPI operationId**: `environments_vision_scanners_prompt_suggestions_dismiss_create`
649
+ - **Path params**: `id`, `scanner_id`
650
+ - **Query params**: None
651
+ - **Response codes**: `200`
652
+ - **Transport options**: None
653
+ - **TypeScript**: [Client interface](../types.ts)
654
+
655
+ **Inputs**
656
+
657
+ - Client input type: `{ [key: string]: unknown }`
658
+ - Client transport options: None
659
+
660
+ **Outputs**
661
+
662
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
663
+ - OpenAPI response codes: `200`
664
+
665
+ ```ts
666
+ import posthog from "@utdk/posthog";
667
+
668
+ type EnvironmentsVisionScannersPromptSuggestionsDismissCreateInput = Parameters<typeof posthog.environmentsVisionScannersPromptSuggestionsDismissCreate> extends [infer T, ...unknown[]] ? T : undefined;
669
+ type EnvironmentsVisionScannersPromptSuggestionsDismissCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPromptSuggestionsDismissCreate>>;
670
+
671
+ const result: EnvironmentsVisionScannersPromptSuggestionsDismissCreateOutput = await posthog.environmentsVisionScannersPromptSuggestionsDismissCreate();
672
+
673
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
674
+ ```
675
+
676
+ ### `posthog.environmentsVisionScannersPromptSuggestionsEvaluateCreate`
677
+
678
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{scanner_id}/prompt_suggestions/{id}/evaluate/`
679
+ - **What it does**: Test this suggestion before applying it: re-run the scanner with the suggested prompt against already-rated sessions in the background and compare each fresh output with the stored one. Results land on the suggestion's `evaluation` field. Poll `current` while status is running. `session_limit` controls how many rated sessions are re-run (thumbs-down prioritized, up to `evaluation_session_cap`). Each successful re-run charges credits like a normal observation of the same model. The request is refused with 402 when the planned credits exceed what is left of the monthly limit. Only monitor and classifier scanners are supported. Requires session recording edit access.
680
+ - **OpenAPI operationId**: `environments_vision_scanners_prompt_suggestions_evaluate_create`
681
+ - **Path params**: `id`, `scanner_id`
682
+ - **Query params**: None
683
+ - **Response codes**: `200`
684
+ - **Transport options**: None
685
+ - **TypeScript**: [Client interface](../types.ts)
686
+
687
+ **Inputs**
688
+
689
+ - Client input type: `{ [key: string]: unknown }`
690
+ - Client transport options: None
691
+
692
+ **Outputs**
693
+
694
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
695
+ - OpenAPI response codes: `200`
696
+
697
+ ```ts
698
+ import posthog from "@utdk/posthog";
699
+
700
+ type EnvironmentsVisionScannersPromptSuggestionsEvaluateCreateInput = Parameters<typeof posthog.environmentsVisionScannersPromptSuggestionsEvaluateCreate> extends [infer T, ...unknown[]] ? T : undefined;
701
+ type EnvironmentsVisionScannersPromptSuggestionsEvaluateCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPromptSuggestionsEvaluateCreate>>;
702
+
703
+ const result: EnvironmentsVisionScannersPromptSuggestionsEvaluateCreateOutput = await posthog.environmentsVisionScannersPromptSuggestionsEvaluateCreate();
704
+
705
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
706
+ ```
707
+
708
+ ### `posthog.environmentsVisionScannersPromptSuggestionsCurrentRetrieve`
709
+
710
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/{scanner_id}/prompt_suggestions/current/`
711
+ - **What it does**: The scanner's newest prompt suggestion plus whether it is stale (the ratings changed since it was generated) and how many rated observations are available.
712
+ - **OpenAPI operationId**: `environments_vision_scanners_prompt_suggestions_current_retrieve`
713
+ - **Path params**: `scanner_id`
714
+ - **Query params**: None
715
+ - **Response codes**: `200`
716
+ - **Transport options**: None
717
+ - **TypeScript**: [Client interface](../types.ts)
718
+
719
+ **Inputs**
720
+
721
+ - Client input type: `{ [key: string]: unknown }`
722
+ - Client transport options: None
723
+
724
+ **Outputs**
725
+
726
+ - Client return type: `{ suggestion: { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner...`
727
+ - OpenAPI response codes: `200`
728
+
729
+ ```ts
730
+ import posthog from "@utdk/posthog";
731
+
732
+ type EnvironmentsVisionScannersPromptSuggestionsCurrentRetrieveInput = Parameters<typeof posthog.environmentsVisionScannersPromptSuggestionsCurrentRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
733
+ type EnvironmentsVisionScannersPromptSuggestionsCurrentRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPromptSuggestionsCurrentRetrieve>>;
734
+
735
+ const result: EnvironmentsVisionScannersPromptSuggestionsCurrentRetrieveOutput = await posthog.environmentsVisionScannersPromptSuggestionsCurrentRetrieve();
736
+
737
+ // Result shape (from schema): { suggestion: { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner...
738
+ ```
739
+
740
+ ### `posthog.environmentsVisionScannersPromptSuggestionsGenerateCreate`
741
+
742
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/{scanner_id}/prompt_suggestions/generate/`
743
+ - **What it does**: Generate a fresh prompt suggestion from the team's current ratings. The previous pending suggestion becomes history (superseded). Requires at least one rated observation and session recording edit access.
744
+ - **OpenAPI operationId**: `environments_vision_scanners_prompt_suggestions_generate_create`
745
+ - **Path params**: `scanner_id`
746
+ - **Query params**: None
747
+ - **Response codes**: `200`
748
+ - **Transport options**: None
749
+ - **TypeScript**: [Client interface](../types.ts)
750
+
751
+ **Inputs**
752
+
753
+ - Client input type: `{ [key: string]: unknown }`
754
+ - Client transport options: None
755
+
756
+ **Outputs**
757
+
758
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
759
+ - OpenAPI response codes: `200`
760
+
761
+ ```ts
762
+ import posthog from "@utdk/posthog";
763
+
764
+ type EnvironmentsVisionScannersPromptSuggestionsGenerateCreateInput = Parameters<typeof posthog.environmentsVisionScannersPromptSuggestionsGenerateCreate> extends [infer T, ...unknown[]] ? T : undefined;
765
+ type EnvironmentsVisionScannersPromptSuggestionsGenerateCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersPromptSuggestionsGenerateCreate>>;
766
+
767
+ const result: EnvironmentsVisionScannersPromptSuggestionsGenerateCreateOutput = await posthog.environmentsVisionScannersPromptSuggestionsGenerateCreate();
768
+
769
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
770
+ ```
771
+
772
+ ### `posthog.environmentsVisionScannersCreatorsRetrieve`
773
+
774
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/creators/`
775
+ - **What it does**: Distinct creators across the team's scanners — feeds the `Created by` filter dropdown.
776
+ - **OpenAPI operationId**: `environments_vision_scanners_creators_retrieve`
777
+ - **Path params**: None
778
+ - **Query params**: None
779
+ - **Response codes**: `200`
780
+ - **Transport options**: None
781
+ - **TypeScript**: [Client interface](../types.ts)
782
+
783
+ **Inputs**
784
+
785
+ - Client input type: `{ [key: string]: unknown }`
786
+ - Client transport options: None
787
+
788
+ **Outputs**
789
+
790
+ - Client return type: `{ creators: ({ id: number; uuid: string; distinct_id?: string | null; first_name?: string; last_name?: string; email: string; is_email_verified?: boolean | null; hedgehog_config: { [key: string]: unknown } | null; role_...`
791
+ - OpenAPI response codes: `200`
792
+
793
+ ```ts
794
+ import posthog from "@utdk/posthog";
795
+
796
+ type EnvironmentsVisionScannersCreatorsRetrieveInput = Parameters<typeof posthog.environmentsVisionScannersCreatorsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
797
+ type EnvironmentsVisionScannersCreatorsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersCreatorsRetrieve>>;
798
+
799
+ const result: EnvironmentsVisionScannersCreatorsRetrieveOutput = await posthog.environmentsVisionScannersCreatorsRetrieve();
800
+
801
+ // Result shape (from schema): { creators: ({ id: number; uuid: string; distinct_id?: string | null; first_name?: string; last_name?: string; email: string; is_email_verified?: boolean | null; hedgehog_config: { [key: string]: unknown } | null; role_...
802
+ ```
803
+
804
+ ### `posthog.environmentsVisionScannersEstimateCreate`
805
+
806
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/estimate/`
807
+ - **What it does**: Estimate the observation volume a proposed scanner would generate, for the pre-save cost preview.
808
+ - **OpenAPI operationId**: `environments_vision_scanners_estimate_create`
809
+ - **Path params**: None
810
+ - **Query params**: None
811
+ - **Response codes**: `200`
812
+ - **Transport options**: None
813
+ - **TypeScript**: [Client interface](../types.ts)
814
+
815
+ **Inputs**
816
+
817
+ - Client input type: `{ [key: string]: unknown }`
818
+ - Client transport options: None
819
+
820
+ **Outputs**
821
+
822
+ - Client return type: `{ matched_sessions_in_window: number; window_days: number; estimated_observations_per_month: number; credits_per_observation: number; estimated_credits_per_month: number; other_enabled_scanners_monthly_credits: number; ...`
823
+ - OpenAPI response codes: `200`
824
+
825
+ ```ts
826
+ import posthog from "@utdk/posthog";
827
+
828
+ type EnvironmentsVisionScannersEstimateCreateInput = Parameters<typeof posthog.environmentsVisionScannersEstimateCreate> extends [infer T, ...unknown[]] ? T : undefined;
829
+ type EnvironmentsVisionScannersEstimateCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersEstimateCreate>>;
830
+
831
+ const result: EnvironmentsVisionScannersEstimateCreateOutput = await posthog.environmentsVisionScannersEstimateCreate();
832
+
833
+ // Result shape (from schema): { matched_sessions_in_window: number; window_days: number; estimated_observations_per_month: number; credits_per_observation: number; estimated_credits_per_month: number; other_enabled_scanners_monthly_credits: number; ...
834
+ ```
835
+
836
+ ### `posthog.environmentsVisionScannersStatsRetrieve`
837
+
838
+ - **HTTP**: `GET /api/environments/{environment_id}/vision/scanners/stats/`
839
+ - **What it does**: Team-wide scanner counts — independent of list filters, so the overview stays stable.
840
+ - **OpenAPI operationId**: `environments_vision_scanners_stats_retrieve`
841
+ - **Path params**: None
842
+ - **Query params**: None
843
+ - **Response codes**: `200`
844
+ - **Transport options**: None
845
+ - **TypeScript**: [Client interface](../types.ts)
846
+
847
+ **Inputs**
848
+
849
+ - Client input type: `{ [key: string]: unknown }`
850
+ - Client transport options: None
851
+
852
+ **Outputs**
853
+
854
+ - Client return type: `{ total: number; enabled: number; by_type: { monitor: { enabled: number; total: number }; classifier: { enabled: number; total: number }; scorer: unknown; summarizer: unknown } }`
855
+ - OpenAPI response codes: `200`
856
+
857
+ ```ts
858
+ import posthog from "@utdk/posthog";
859
+
860
+ type EnvironmentsVisionScannersStatsRetrieveInput = Parameters<typeof posthog.environmentsVisionScannersStatsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
861
+ type EnvironmentsVisionScannersStatsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersStatsRetrieve>>;
862
+
863
+ const result: EnvironmentsVisionScannersStatsRetrieveOutput = await posthog.environmentsVisionScannersStatsRetrieve();
864
+
865
+ // Result shape (from schema): { total: number; enabled: number; by_type: { monitor: { enabled: number; total: number }; classifier: { enabled: number; total: number }; scorer: unknown; summarizer: unknown } }
866
+ ```
867
+
868
+ ### `posthog.environmentsVisionScannersSuggestTagsCreate`
869
+
870
+ - **HTTP**: `POST /api/environments/{environment_id}/vision/scanners/suggest_tags/`
871
+ - **What it does**: Suggest classifier tags grounded in the scanner's own observations and the org's product data.
872
+ - **OpenAPI operationId**: `environments_vision_scanners_suggest_tags_create`
873
+ - **Path params**: None
874
+ - **Query params**: None
875
+ - **Response codes**: `200`
876
+ - **Transport options**: None
877
+ - **TypeScript**: [Client interface](../types.ts)
878
+
879
+ **Inputs**
880
+
881
+ - Client input type: `{ [key: string]: unknown }`
882
+ - Client transport options: None
883
+
884
+ **Outputs**
885
+
886
+ - Client return type: `{ suggestions: ({ tag: string; rationale: string; source: "observed" | "product" | "prompt" })[] }`
887
+ - OpenAPI response codes: `200`
888
+
889
+ ```ts
890
+ import posthog from "@utdk/posthog";
891
+
892
+ type EnvironmentsVisionScannersSuggestTagsCreateInput = Parameters<typeof posthog.environmentsVisionScannersSuggestTagsCreate> extends [infer T, ...unknown[]] ? T : undefined;
893
+ type EnvironmentsVisionScannersSuggestTagsCreateOutput = Awaited<ReturnType<typeof posthog.environmentsVisionScannersSuggestTagsCreate>>;
894
+
895
+ const result: EnvironmentsVisionScannersSuggestTagsCreateOutput = await posthog.environmentsVisionScannersSuggestTagsCreate();
896
+
897
+ // Result shape (from schema): { suggestions: ({ tag: string; rationale: string; source: "observed" | "product" | "prompt" })[] }
898
+ ```
899
+
900
+ ### `posthog.visionActionsList`
901
+
902
+ - **HTTP**: `GET /api/projects/{project_id}/vision/actions/`
903
+ - **What it does**: CRUD for Replay Vision actions — scheduled "and then…" automations over a scanner's observations.
904
+ - **OpenAPI operationId**: `vision_actions_list`
905
+ - **Path params**: None
906
+ - **Query params**: `limit`, `offset`, `scanner`
907
+ - **Response codes**: `200`
908
+ - **Transport options**: None
909
+ - **TypeScript**: [Client interface](../types.ts)
910
+
911
+ **Inputs**
912
+
913
+ - Client input type: `{ [key: string]: unknown }`
914
+ - Client transport options: None
915
+
916
+ **Outputs**
917
+
918
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "gr...`
919
+ - OpenAPI response codes: `200`
920
+
921
+ ```ts
922
+ import posthog from "@utdk/posthog";
923
+
924
+ type VisionActionsListInput = Parameters<typeof posthog.visionActionsList> extends [infer T, ...unknown[]] ? T : undefined;
925
+ type VisionActionsListOutput = Awaited<ReturnType<typeof posthog.visionActionsList>>;
926
+
927
+ const result: VisionActionsListOutput = await posthog.visionActionsList();
928
+
929
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "gr...
930
+ ```
931
+
932
+ ### `posthog.visionActionsCreate`
933
+
934
+ - **HTTP**: `POST /api/projects/{project_id}/vision/actions/`
935
+ - **What it does**: CRUD for Replay Vision actions — scheduled "and then…" automations over a scanner's observations.
936
+ - **OpenAPI operationId**: `vision_actions_create`
937
+ - **Path params**: None
938
+ - **Query params**: None
939
+ - **Response codes**: `201`
940
+ - **Transport options**: None
941
+ - **TypeScript**: [Client interface](../types.ts)
942
+
943
+ **Inputs**
944
+
945
+ - Client input type: `{ [key: string]: unknown }`
946
+ - Client transport options: None
947
+
948
+ **Outputs**
949
+
950
+ - Client return type: `{ id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "group_summary" | "per_observation"; trigger_config?: { rrule?: string; timezo...`
951
+ - OpenAPI response codes: `201`
952
+
953
+ ```ts
954
+ import posthog from "@utdk/posthog";
955
+
956
+ type VisionActionsCreateInput = Parameters<typeof posthog.visionActionsCreate> extends [infer T, ...unknown[]] ? T : undefined;
957
+ type VisionActionsCreateOutput = Awaited<ReturnType<typeof posthog.visionActionsCreate>>;
958
+
959
+ const result: VisionActionsCreateOutput = await posthog.visionActionsCreate();
960
+
961
+ // Result shape (from schema): { id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "group_summary" | "per_observation"; trigger_config?: { rrule?: string; timezo...
962
+ ```
963
+
964
+ ### `posthog.visionActionsDestroy`
965
+
966
+ - **HTTP**: `DELETE /api/projects/{project_id}/vision/actions/{id}/`
967
+ - **What it does**: CRUD for Replay Vision actions — scheduled "and then…" automations over a scanner's observations.
968
+ - **OpenAPI operationId**: `vision_actions_destroy`
969
+ - **Path params**: `id`
970
+ - **Query params**: None
971
+ - **Response codes**: `204`
972
+ - **Transport options**: None
973
+ - **TypeScript**: [Client interface](../types.ts)
974
+
975
+ **Inputs**
976
+
977
+ - Client input type: `{ [key: string]: unknown }`
978
+ - Client transport options: None
979
+
980
+ **Outputs**
981
+
982
+ - Client return type: `unknown`
983
+ - OpenAPI response codes: `204`
984
+
985
+ ```ts
986
+ import posthog from "@utdk/posthog";
987
+
988
+ type VisionActionsDestroyInput = Parameters<typeof posthog.visionActionsDestroy> extends [infer T, ...unknown[]] ? T : undefined;
989
+ type VisionActionsDestroyOutput = Awaited<ReturnType<typeof posthog.visionActionsDestroy>>;
990
+
991
+ const result: VisionActionsDestroyOutput = await posthog.visionActionsDestroy();
992
+
993
+ // Result shape (from schema): unknown
994
+ ```
995
+
996
+ ### `posthog.visionActionsRetrieve`
997
+
998
+ - **HTTP**: `GET /api/projects/{project_id}/vision/actions/{id}/`
999
+ - **What it does**: CRUD for Replay Vision actions — scheduled "and then…" automations over a scanner's observations.
1000
+ - **OpenAPI operationId**: `vision_actions_retrieve`
1001
+ - **Path params**: `id`
1002
+ - **Query params**: None
1003
+ - **Response codes**: `200`
1004
+ - **Transport options**: None
1005
+ - **TypeScript**: [Client interface](../types.ts)
1006
+
1007
+ **Inputs**
1008
+
1009
+ - Client input type: `{ [key: string]: unknown }`
1010
+ - Client transport options: None
1011
+
1012
+ **Outputs**
1013
+
1014
+ - Client return type: `{ id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "group_summary" | "per_observation"; trigger_config?: { rrule?: string; timezo...`
1015
+ - OpenAPI response codes: `200`
1016
+
1017
+ ```ts
1018
+ import posthog from "@utdk/posthog";
1019
+
1020
+ type VisionActionsRetrieveInput = Parameters<typeof posthog.visionActionsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1021
+ type VisionActionsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionActionsRetrieve>>;
1022
+
1023
+ const result: VisionActionsRetrieveOutput = await posthog.visionActionsRetrieve();
1024
+
1025
+ // Result shape (from schema): { id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "group_summary" | "per_observation"; trigger_config?: { rrule?: string; timezo...
1026
+ ```
1027
+
1028
+ ### `posthog.visionActionsPartialUpdate`
1029
+
1030
+ - **HTTP**: `PATCH /api/projects/{project_id}/vision/actions/{id}/`
1031
+ - **What it does**: CRUD for Replay Vision actions — scheduled "and then…" automations over a scanner's observations.
1032
+ - **OpenAPI operationId**: `vision_actions_partial_update`
1033
+ - **Path params**: `id`
1034
+ - **Query params**: None
1035
+ - **Response codes**: `200`
1036
+ - **Transport options**: None
1037
+ - **TypeScript**: [Client interface](../types.ts)
1038
+
1039
+ **Inputs**
1040
+
1041
+ - Client input type: `{ [key: string]: unknown }`
1042
+ - Client transport options: None
1043
+
1044
+ **Outputs**
1045
+
1046
+ - Client return type: `{ id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "group_summary" | "per_observation"; trigger_config?: { rrule?: string; timezo...`
1047
+ - OpenAPI response codes: `200`
1048
+
1049
+ ```ts
1050
+ import posthog from "@utdk/posthog";
1051
+
1052
+ type VisionActionsPartialUpdateInput = Parameters<typeof posthog.visionActionsPartialUpdate> extends [infer T, ...unknown[]] ? T : undefined;
1053
+ type VisionActionsPartialUpdateOutput = Awaited<ReturnType<typeof posthog.visionActionsPartialUpdate>>;
1054
+
1055
+ const result: VisionActionsPartialUpdateOutput = await posthog.visionActionsPartialUpdate();
1056
+
1057
+ // Result shape (from schema): { id: string; name: string; scanner: string; enabled?: boolean; is_scanner_digest?: boolean; trigger_type?: "schedule" | "threshold"; mode?: "group_summary" | "per_observation"; trigger_config?: { rrule?: string; timezo...
1058
+ ```
1059
+
1060
+ ### `posthog.visionActionsRunsList`
1061
+
1062
+ - **HTTP**: `GET /api/projects/{project_id}/vision/actions/{vision_action_id}/runs/`
1063
+ - **What it does**: Read-only run history for a single vision action (nested under /vision/actions/{action_id}/runs/).
1064
+ - **OpenAPI operationId**: `vision_actions_runs_list`
1065
+ - **Path params**: `vision_action_id`
1066
+ - **Query params**: `limit`, `offset`
1067
+ - **Response codes**: `200`
1068
+ - **Transport options**: None
1069
+ - **TypeScript**: [Client interface](../types.ts)
1070
+
1071
+ **Inputs**
1072
+
1073
+ - Client input type: `{ [key: string]: unknown }`
1074
+ - Client transport options: None
1075
+
1076
+ **Outputs**
1077
+
1078
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; status: "running" | "completed" | "failed" | "skipped"; scheduled_at: string | null; observation_count: number; error_reason: stri...`
1079
+ - OpenAPI response codes: `200`
1080
+
1081
+ ```ts
1082
+ import posthog from "@utdk/posthog";
1083
+
1084
+ type VisionActionsRunsListInput = Parameters<typeof posthog.visionActionsRunsList> extends [infer T, ...unknown[]] ? T : undefined;
1085
+ type VisionActionsRunsListOutput = Awaited<ReturnType<typeof posthog.visionActionsRunsList>>;
1086
+
1087
+ const result: VisionActionsRunsListOutput = await posthog.visionActionsRunsList();
1088
+
1089
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; status: "running" | "completed" | "failed" | "skipped"; scheduled_at: string | null; observation_count: number; error_reason: stri...
1090
+ ```
1091
+
1092
+ ### `posthog.visionActionsRunsRetrieve`
1093
+
1094
+ - **HTTP**: `GET /api/projects/{project_id}/vision/actions/{vision_action_id}/runs/{id}/`
1095
+ - **What it does**: Read-only run history for a single vision action (nested under /vision/actions/{action_id}/runs/).
1096
+ - **OpenAPI operationId**: `vision_actions_runs_retrieve`
1097
+ - **Path params**: `id`, `vision_action_id`
1098
+ - **Query params**: None
1099
+ - **Response codes**: `200`
1100
+ - **Transport options**: None
1101
+ - **TypeScript**: [Client interface](../types.ts)
1102
+
1103
+ **Inputs**
1104
+
1105
+ - Client input type: `{ [key: string]: unknown }`
1106
+ - Client transport options: None
1107
+
1108
+ **Outputs**
1109
+
1110
+ - Client return type: `{ id: string; status: "running" | "completed" | "failed" | "skipped"; scheduled_at: string | null; observation_count: number; error_reason: string | null; created_at: string; updated_at: string; synthesized_markdown: st...`
1111
+ - OpenAPI response codes: `200`
1112
+
1113
+ ```ts
1114
+ import posthog from "@utdk/posthog";
1115
+
1116
+ type VisionActionsRunsRetrieveInput = Parameters<typeof posthog.visionActionsRunsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1117
+ type VisionActionsRunsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionActionsRunsRetrieve>>;
1118
+
1119
+ const result: VisionActionsRunsRetrieveOutput = await posthog.visionActionsRunsRetrieve();
1120
+
1121
+ // Result shape (from schema): { id: string; status: "running" | "completed" | "failed" | "skipped"; scheduled_at: string | null; observation_count: number; error_reason: string | null; created_at: string; updated_at: string; synthesized_markdown: st...
1122
+ ```
1123
+
1124
+ ### `posthog.visionObservationsList`
1125
+
1126
+ - **HTTP**: `GET /api/projects/{project_id}/vision/observations/`
1127
+ - **What it does**: Read-only access to a session's observations across every scanner the caller can read, for the replay-page dock.
1128
+ - **OpenAPI operationId**: `vision_observations_list`
1129
+ - **Path params**: None
1130
+ - **Query params**: `limit`, `offset`, `order_by`, `session_id`
1131
+ - **Response codes**: `200`
1132
+ - **Transport options**: None
1133
+ - **TypeScript**: [Client interface](../types.ts)
1134
+
1135
+ **Inputs**
1136
+
1137
+ - Client input type: `{ [key: string]: unknown }`
1138
+ - Client transport options: None
1139
+
1140
+ **Outputs**
1141
+
1142
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...`
1143
+ - OpenAPI response codes: `200`
1144
+
1145
+ ```ts
1146
+ import posthog from "@utdk/posthog";
1147
+
1148
+ type VisionObservationsListInput = Parameters<typeof posthog.visionObservationsList> extends [infer T, ...unknown[]] ? T : undefined;
1149
+ type VisionObservationsListOutput = Awaited<ReturnType<typeof posthog.visionObservationsList>>;
1150
+
1151
+ const result: VisionObservationsListOutput = await posthog.visionObservationsList();
1152
+
1153
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...
1154
+ ```
1155
+
1156
+ ### `posthog.visionObservationsRetrieve`
1157
+
1158
+ - **HTTP**: `GET /api/projects/{project_id}/vision/observations/{id}/`
1159
+ - **What it does**: 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.
1160
+ - **OpenAPI operationId**: `vision_observations_retrieve`
1161
+ - **Path params**: `id`
1162
+ - **Query params**: `labeled`, `order_by`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
1163
+ - **Response codes**: `200`
1164
+ - **Transport options**: None
1165
+ - **TypeScript**: [Client interface](../types.ts)
1166
+
1167
+ **Inputs**
1168
+
1169
+ - Client input type: `{ [key: string]: unknown }`
1170
+ - Client transport options: None
1171
+
1172
+ **Outputs**
1173
+
1174
+ - Client return type: `{ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...`
1175
+ - OpenAPI response codes: `200`
1176
+
1177
+ ```ts
1178
+ import posthog from "@utdk/posthog";
1179
+
1180
+ type VisionObservationsRetrieveInput = Parameters<typeof posthog.visionObservationsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1181
+ type VisionObservationsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionObservationsRetrieve>>;
1182
+
1183
+ const result: VisionObservationsRetrieveOutput = await posthog.visionObservationsRetrieve();
1184
+
1185
+ // Result shape (from schema): { id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...
1186
+ ```
1187
+
1188
+ ### `posthog.visionObservationsLabelDestroy`
1189
+
1190
+ - **HTTP**: `DELETE /api/projects/{project_id}/vision/observations/{id}/label/`
1191
+ - **What it does**: Remove the observation's shared label. Requires session recording edit access.
1192
+ - **OpenAPI operationId**: `vision_observations_label_destroy`
1193
+ - **Path params**: `id`
1194
+ - **Query params**: None
1195
+ - **Response codes**: `204`
1196
+ - **Transport options**: None
1197
+ - **TypeScript**: [Client interface](../types.ts)
1198
+
1199
+ **Inputs**
1200
+
1201
+ - Client input type: `{ [key: string]: unknown }`
1202
+ - Client transport options: None
1203
+
1204
+ **Outputs**
1205
+
1206
+ - Client return type: `unknown`
1207
+ - OpenAPI response codes: `204`
1208
+
1209
+ ```ts
1210
+ import posthog from "@utdk/posthog";
1211
+
1212
+ type VisionObservationsLabelDestroyInput = Parameters<typeof posthog.visionObservationsLabelDestroy> extends [infer T, ...unknown[]] ? T : undefined;
1213
+ type VisionObservationsLabelDestroyOutput = Awaited<ReturnType<typeof posthog.visionObservationsLabelDestroy>>;
1214
+
1215
+ const result: VisionObservationsLabelDestroyOutput = await posthog.visionObservationsLabelDestroy();
1216
+
1217
+ // Result shape (from schema): unknown
1218
+ ```
1219
+
1220
+ ### `posthog.visionObservationsLabelCreate`
1221
+
1222
+ - **HTTP**: `POST /api/projects/{project_id}/vision/observations/{id}/label/`
1223
+ - **What it does**: 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 session recording edit access.
1224
+ - **OpenAPI operationId**: `vision_observations_label_create`
1225
+ - **Path params**: `id`
1226
+ - **Query params**: None
1227
+ - **Response codes**: `200`
1228
+ - **Transport options**: None
1229
+ - **TypeScript**: [Client interface](../types.ts)
1230
+
1231
+ **Inputs**
1232
+
1233
+ - Client input type: `{ [key: string]: unknown }`
1234
+ - Client transport options: None
1235
+
1236
+ **Outputs**
1237
+
1238
+ - Client return type: `{ is_correct: boolean; feedback?: string }`
1239
+ - OpenAPI response codes: `200`
1240
+
1241
+ ```ts
1242
+ import posthog from "@utdk/posthog";
1243
+
1244
+ type VisionObservationsLabelCreateInput = Parameters<typeof posthog.visionObservationsLabelCreate> extends [infer T, ...unknown[]] ? T : undefined;
1245
+ type VisionObservationsLabelCreateOutput = Awaited<ReturnType<typeof posthog.visionObservationsLabelCreate>>;
1246
+
1247
+ const result: VisionObservationsLabelCreateOutput = await posthog.visionObservationsLabelCreate();
1248
+
1249
+ // Result shape (from schema): { is_correct: boolean; feedback?: string }
1250
+ ```
1251
+
1252
+ ### `posthog.visionObservationsRetryCreate`
1253
+
1254
+ - **HTTP**: `POST /api/projects/{project_id}/vision/observations/{id}/retry/`
1255
+ - **What it does**: Delete a failed observation and re-run its scanner on the same recording. Returns 202 with the workflow handle.
1256
+ - **OpenAPI operationId**: `vision_observations_retry_create`
1257
+ - **Path params**: `id`
1258
+ - **Query params**: None
1259
+ - **Response codes**: `202`
1260
+ - **Transport options**: None
1261
+ - **TypeScript**: [Client interface](../types.ts)
1262
+
1263
+ **Inputs**
1264
+
1265
+ - Client input type: `{ [key: string]: unknown }`
1266
+ - Client transport options: None
1267
+
1268
+ **Outputs**
1269
+
1270
+ - Client return type: `unknown`
1271
+ - OpenAPI response codes: `202`
1272
+
1273
+ ```ts
1274
+ import posthog from "@utdk/posthog";
1275
+
1276
+ type VisionObservationsRetryCreateInput = Parameters<typeof posthog.visionObservationsRetryCreate> extends [infer T, ...unknown[]] ? T : undefined;
1277
+ type VisionObservationsRetryCreateOutput = Awaited<ReturnType<typeof posthog.visionObservationsRetryCreate>>;
1278
+
1279
+ const result: VisionObservationsRetryCreateOutput = await posthog.visionObservationsRetryCreate();
1280
+
1281
+ // Result shape (from schema): unknown
1282
+ ```
1283
+
1284
+ ### `posthog.environmentVisionQuotaRetrieve`
1285
+
1286
+ - **HTTP**: `GET /api/projects/{project_id}/vision/quota/`
1287
+ - **OpenAPI operationId**: `environment_vision_quota_retrieve`
1288
+ - **Path params**: None
1289
+ - **Query params**: None
1290
+ - **Response codes**: `200`
1291
+ - **Transport options**: None
1292
+ - **TypeScript**: [Client interface](../types.ts)
1293
+
1294
+ **Inputs**
1295
+
1296
+ - Client input type: `{ [key: string]: unknown }`
1297
+ - Client transport options: None
1298
+
1299
+ **Outputs**
1300
+
1301
+ - Client return type: `{ credit_limit: number | null; credits_used: number; remaining: number | null; exhausted: boolean; period_start: string; period_end: string; projected_monthly_credits: number }`
1302
+ - OpenAPI response codes: `200`
1303
+
1304
+ ```ts
1305
+ import posthog from "@utdk/posthog";
1306
+
1307
+ type EnvironmentVisionQuotaRetrieveInput = Parameters<typeof posthog.environmentVisionQuotaRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1308
+ type EnvironmentVisionQuotaRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentVisionQuotaRetrieve>>;
1309
+
1310
+ const result: EnvironmentVisionQuotaRetrieveOutput = await posthog.environmentVisionQuotaRetrieve();
1311
+
1312
+ // Result shape (from schema): { credit_limit: number | null; credits_used: number; remaining: number | null; exhausted: boolean; period_start: string; period_end: string; projected_monthly_credits: number }
1313
+ ```
1314
+
1315
+ ### `posthog.visionScannersList`
1316
+
1317
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/`
1318
+ - **What it does**: CRUD for Replay Vision scanners.
1319
+ - **OpenAPI operationId**: `vision_scanners_list`
1320
+ - **Path params**: None
1321
+ - **Query params**: `created_by`, `emits_signals`, `enabled`, `limit`, `offset`, `order_by`, `scanner_type`, `search`
1322
+ - **Response codes**: `200`
1323
+ - **Transport options**: None
1324
+ - **TypeScript**: [Client interface](../types.ts)
1325
+
1326
+ **Inputs**
1327
+
1328
+ - Client input type: `{ [key: string]: unknown }`
1329
+ - Client transport options: None
1330
+
1331
+ **Outputs**
1332
+
1333
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; que...`
1334
+ - OpenAPI response codes: `200`
1335
+
1336
+ ```ts
1337
+ import posthog from "@utdk/posthog";
1338
+
1339
+ type VisionScannersListInput = Parameters<typeof posthog.visionScannersList> extends [infer T, ...unknown[]] ? T : undefined;
1340
+ type VisionScannersListOutput = Awaited<ReturnType<typeof posthog.visionScannersList>>;
1341
+
1342
+ const result: VisionScannersListOutput = await posthog.visionScannersList();
1343
+
1344
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; que...
1345
+ ```
1346
+
1347
+ ### `posthog.visionScannersCreate`
1348
+
1349
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/`
1350
+ - **What it does**: CRUD for Replay Vision scanners.
1351
+ - **OpenAPI operationId**: `vision_scanners_create`
1352
+ - **Path params**: None
1353
+ - **Query params**: None
1354
+ - **Response codes**: `201`
1355
+ - **Transport options**: None
1356
+ - **TypeScript**: [Client interface](../types.ts)
1357
+
1358
+ **Inputs**
1359
+
1360
+ - Client input type: `{ [key: string]: unknown }`
1361
+ - Client transport options: None
1362
+
1363
+ **Outputs**
1364
+
1365
+ - Client return type: `{ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...`
1366
+ - OpenAPI response codes: `201`
1367
+
1368
+ ```ts
1369
+ import posthog from "@utdk/posthog";
1370
+
1371
+ type VisionScannersCreateInput = Parameters<typeof posthog.visionScannersCreate> extends [infer T, ...unknown[]] ? T : undefined;
1372
+ type VisionScannersCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersCreate>>;
1373
+
1374
+ const result: VisionScannersCreateOutput = await posthog.visionScannersCreate();
1375
+
1376
+ // Result shape (from schema): { id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...
1377
+ ```
1378
+
1379
+ ### `posthog.visionScannersDestroy`
1380
+
1381
+ - **HTTP**: `DELETE /api/projects/{project_id}/vision/scanners/{id}/`
1382
+ - **What it does**: CRUD for Replay Vision scanners.
1383
+ - **OpenAPI operationId**: `vision_scanners_destroy`
1384
+ - **Path params**: `id`
1385
+ - **Query params**: None
1386
+ - **Response codes**: `204`
1387
+ - **Transport options**: None
1388
+ - **TypeScript**: [Client interface](../types.ts)
1389
+
1390
+ **Inputs**
1391
+
1392
+ - Client input type: `{ [key: string]: unknown }`
1393
+ - Client transport options: None
1394
+
1395
+ **Outputs**
1396
+
1397
+ - Client return type: `unknown`
1398
+ - OpenAPI response codes: `204`
1399
+
1400
+ ```ts
1401
+ import posthog from "@utdk/posthog";
1402
+
1403
+ type VisionScannersDestroyInput = Parameters<typeof posthog.visionScannersDestroy> extends [infer T, ...unknown[]] ? T : undefined;
1404
+ type VisionScannersDestroyOutput = Awaited<ReturnType<typeof posthog.visionScannersDestroy>>;
1405
+
1406
+ const result: VisionScannersDestroyOutput = await posthog.visionScannersDestroy();
1407
+
1408
+ // Result shape (from schema): unknown
1409
+ ```
1410
+
1411
+ ### `posthog.visionScannersRetrieve`
1412
+
1413
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/{id}/`
1414
+ - **What it does**: CRUD for Replay Vision scanners.
1415
+ - **OpenAPI operationId**: `vision_scanners_retrieve`
1416
+ - **Path params**: `id`
1417
+ - **Query params**: None
1418
+ - **Response codes**: `200`
1419
+ - **Transport options**: None
1420
+ - **TypeScript**: [Client interface](../types.ts)
1421
+
1422
+ **Inputs**
1423
+
1424
+ - Client input type: `{ [key: string]: unknown }`
1425
+ - Client transport options: None
1426
+
1427
+ **Outputs**
1428
+
1429
+ - Client return type: `{ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...`
1430
+ - OpenAPI response codes: `200`
1431
+
1432
+ ```ts
1433
+ import posthog from "@utdk/posthog";
1434
+
1435
+ type VisionScannersRetrieveInput = Parameters<typeof posthog.visionScannersRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1436
+ type VisionScannersRetrieveOutput = Awaited<ReturnType<typeof posthog.visionScannersRetrieve>>;
1437
+
1438
+ const result: VisionScannersRetrieveOutput = await posthog.visionScannersRetrieve();
1439
+
1440
+ // Result shape (from schema): { id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...
1441
+ ```
1442
+
1443
+ ### `posthog.visionScannersPartialUpdate`
1444
+
1445
+ - **HTTP**: `PATCH /api/projects/{project_id}/vision/scanners/{id}/`
1446
+ - **What it does**: CRUD for Replay Vision scanners.
1447
+ - **OpenAPI operationId**: `vision_scanners_partial_update`
1448
+ - **Path params**: `id`
1449
+ - **Query params**: None
1450
+ - **Response codes**: `200`
1451
+ - **Transport options**: None
1452
+ - **TypeScript**: [Client interface](../types.ts)
1453
+
1454
+ **Inputs**
1455
+
1456
+ - Client input type: `{ [key: string]: unknown }`
1457
+ - Client transport options: None
1458
+
1459
+ **Outputs**
1460
+
1461
+ - Client return type: `{ id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...`
1462
+ - OpenAPI response codes: `200`
1463
+
1464
+ ```ts
1465
+ import posthog from "@utdk/posthog";
1466
+
1467
+ type VisionScannersPartialUpdateInput = Parameters<typeof posthog.visionScannersPartialUpdate> extends [infer T, ...unknown[]] ? T : undefined;
1468
+ type VisionScannersPartialUpdateOutput = Awaited<ReturnType<typeof posthog.visionScannersPartialUpdate>>;
1469
+
1470
+ const result: VisionScannersPartialUpdateOutput = await posthog.visionScannersPartialUpdate();
1471
+
1472
+ // Result shape (from schema): { id: string; name: string; description?: string; scanner_type: "monitor" | "classifier" | "scorer" | "summarizer"; scanner_config: unknown; query?: unknown; sampling_rate?: number; sampling_mode?: "focused" | "balanced...
1473
+ ```
1474
+
1475
+ ### `posthog.visionScannersObserveCreate`
1476
+
1477
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{id}/observe/`
1478
+ - **What it does**: Apply this scanner to one specific session, on demand. Returns 202 with the workflow handle.
1479
+ - **OpenAPI operationId**: `vision_scanners_observe_create`
1480
+ - **Path params**: `id`
1481
+ - **Query params**: None
1482
+ - **Response codes**: `202`
1483
+ - **Transport options**: None
1484
+ - **TypeScript**: [Client interface](../types.ts)
1485
+
1486
+ **Inputs**
1487
+
1488
+ - Client input type: `{ [key: string]: unknown }`
1489
+ - Client transport options: None
1490
+
1491
+ **Outputs**
1492
+
1493
+ - Client return type: `unknown`
1494
+ - OpenAPI response codes: `202`
1495
+
1496
+ ```ts
1497
+ import posthog from "@utdk/posthog";
1498
+
1499
+ type VisionScannersObserveCreateInput = Parameters<typeof posthog.visionScannersObserveCreate> extends [infer T, ...unknown[]] ? T : undefined;
1500
+ type VisionScannersObserveCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersObserveCreate>>;
1501
+
1502
+ const result: VisionScannersObserveCreateOutput = await posthog.visionScannersObserveCreate();
1503
+
1504
+ // Result shape (from schema): unknown
1505
+ ```
1506
+
1507
+ ### `posthog.visionScannersObservationsList`
1508
+
1509
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/{scanner_id}/observations/`
1510
+ - **What it does**: Read-only access to observations produced by a scanner.
1511
+ - **OpenAPI operationId**: `vision_scanners_observations_list`
1512
+ - **Path params**: `scanner_id`
1513
+ - **Query params**: `labeled`, `limit`, `offset`, `order_by`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
1514
+ - **Response codes**: `200`
1515
+ - **Transport options**: None
1516
+ - **TypeScript**: [Client interface](../types.ts)
1517
+
1518
+ **Inputs**
1519
+
1520
+ - Client input type: `{ [key: string]: unknown }`
1521
+ - Client transport options: None
1522
+
1523
+ **Outputs**
1524
+
1525
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...`
1526
+ - OpenAPI response codes: `200`
1527
+
1528
+ ```ts
1529
+ import posthog from "@utdk/posthog";
1530
+
1531
+ type VisionScannersObservationsListInput = Parameters<typeof posthog.visionScannersObservationsList> extends [infer T, ...unknown[]] ? T : undefined;
1532
+ type VisionScannersObservationsListOutput = Awaited<ReturnType<typeof posthog.visionScannersObservationsList>>;
1533
+
1534
+ const result: VisionScannersObservationsListOutput = await posthog.visionScannersObservationsList();
1535
+
1536
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: strin...
1537
+ ```
1538
+
1539
+ ### `posthog.visionScannersObservationsRetrieve`
1540
+
1541
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/{scanner_id}/observations/{id}/`
1542
+ - **What it does**: 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.
1543
+ - **OpenAPI operationId**: `vision_scanners_observations_retrieve`
1544
+ - **Path params**: `id`, `scanner_id`
1545
+ - **Query params**: `labeled`, `order_by`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
1546
+ - **Response codes**: `200`
1547
+ - **Transport options**: None
1548
+ - **TypeScript**: [Client interface](../types.ts)
1549
+
1550
+ **Inputs**
1551
+
1552
+ - Client input type: `{ [key: string]: unknown }`
1553
+ - Client transport options: None
1554
+
1555
+ **Outputs**
1556
+
1557
+ - Client return type: `{ id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...`
1558
+ - OpenAPI response codes: `200`
1559
+
1560
+ ```ts
1561
+ import posthog from "@utdk/posthog";
1562
+
1563
+ type VisionScannersObservationsRetrieveInput = Parameters<typeof posthog.visionScannersObservationsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1564
+ type VisionScannersObservationsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionScannersObservationsRetrieve>>;
1565
+
1566
+ const result: VisionScannersObservationsRetrieveOutput = await posthog.visionScannersObservationsRetrieve();
1567
+
1568
+ // Result shape (from schema): { id: string; scanner_id: string; session_id: string; status: "pending" | "running" | "succeeded" | "failed" | "ineligible"; error_reason: string; workflow_id: string; scanner_snapshot: { name: string; scanner_type: "mo...
1569
+ ```
1570
+
1571
+ ### `posthog.visionScannersObservationsLabelDestroy`
1572
+
1573
+ - **HTTP**: `DELETE /api/projects/{project_id}/vision/scanners/{scanner_id}/observations/{id}/label/`
1574
+ - **What it does**: Remove the observation's shared label. Requires session recording edit access.
1575
+ - **OpenAPI operationId**: `vision_scanners_observations_label_destroy`
1576
+ - **Path params**: `id`, `scanner_id`
1577
+ - **Query params**: None
1578
+ - **Response codes**: `204`
1579
+ - **Transport options**: None
1580
+ - **TypeScript**: [Client interface](../types.ts)
1581
+
1582
+ **Inputs**
1583
+
1584
+ - Client input type: `{ [key: string]: unknown }`
1585
+ - Client transport options: None
1586
+
1587
+ **Outputs**
1588
+
1589
+ - Client return type: `unknown`
1590
+ - OpenAPI response codes: `204`
1591
+
1592
+ ```ts
1593
+ import posthog from "@utdk/posthog";
1594
+
1595
+ type VisionScannersObservationsLabelDestroyInput = Parameters<typeof posthog.visionScannersObservationsLabelDestroy> extends [infer T, ...unknown[]] ? T : undefined;
1596
+ type VisionScannersObservationsLabelDestroyOutput = Awaited<ReturnType<typeof posthog.visionScannersObservationsLabelDestroy>>;
1597
+
1598
+ const result: VisionScannersObservationsLabelDestroyOutput = await posthog.visionScannersObservationsLabelDestroy();
1599
+
1600
+ // Result shape (from schema): unknown
1601
+ ```
1602
+
1603
+ ### `posthog.visionScannersObservationsLabelCreate`
1604
+
1605
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{scanner_id}/observations/{id}/label/`
1606
+ - **What it does**: 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 session recording edit access.
1607
+ - **OpenAPI operationId**: `vision_scanners_observations_label_create`
1608
+ - **Path params**: `id`, `scanner_id`
1609
+ - **Query params**: None
1610
+ - **Response codes**: `200`
1611
+ - **Transport options**: None
1612
+ - **TypeScript**: [Client interface](../types.ts)
1613
+
1614
+ **Inputs**
1615
+
1616
+ - Client input type: `{ [key: string]: unknown }`
1617
+ - Client transport options: None
1618
+
1619
+ **Outputs**
1620
+
1621
+ - Client return type: `{ is_correct: boolean; feedback?: string }`
1622
+ - OpenAPI response codes: `200`
1623
+
1624
+ ```ts
1625
+ import posthog from "@utdk/posthog";
1626
+
1627
+ type VisionScannersObservationsLabelCreateInput = Parameters<typeof posthog.visionScannersObservationsLabelCreate> extends [infer T, ...unknown[]] ? T : undefined;
1628
+ type VisionScannersObservationsLabelCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersObservationsLabelCreate>>;
1629
+
1630
+ const result: VisionScannersObservationsLabelCreateOutput = await posthog.visionScannersObservationsLabelCreate();
1631
+
1632
+ // Result shape (from schema): { is_correct: boolean; feedback?: string }
1633
+ ```
1634
+
1635
+ ### `posthog.visionScannersObservationsRetryCreate`
1636
+
1637
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{scanner_id}/observations/{id}/retry/`
1638
+ - **What it does**: Delete a failed observation and re-run its scanner on the same recording. Returns 202 with the workflow handle.
1639
+ - **OpenAPI operationId**: `vision_scanners_observations_retry_create`
1640
+ - **Path params**: `id`, `scanner_id`
1641
+ - **Query params**: None
1642
+ - **Response codes**: `202`
1643
+ - **Transport options**: None
1644
+ - **TypeScript**: [Client interface](../types.ts)
1645
+
1646
+ **Inputs**
1647
+
1648
+ - Client input type: `{ [key: string]: unknown }`
1649
+ - Client transport options: None
1650
+
1651
+ **Outputs**
1652
+
1653
+ - Client return type: `unknown`
1654
+ - OpenAPI response codes: `202`
1655
+
1656
+ ```ts
1657
+ import posthog from "@utdk/posthog";
1658
+
1659
+ type VisionScannersObservationsRetryCreateInput = Parameters<typeof posthog.visionScannersObservationsRetryCreate> extends [infer T, ...unknown[]] ? T : undefined;
1660
+ type VisionScannersObservationsRetryCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersObservationsRetryCreate>>;
1661
+
1662
+ const result: VisionScannersObservationsRetryCreateOutput = await posthog.visionScannersObservationsRetryCreate();
1663
+
1664
+ // Result shape (from schema): unknown
1665
+ ```
1666
+
1667
+ ### `posthog.visionScannersObservationsStatsRetrieve`
1668
+
1669
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/{scanner_id}/observations/stats/`
1670
+ - **What it does**: Aggregate counts and per-scanner-type distributions over the filtered observation set. Same filters as the list endpoint apply.
1671
+ - **OpenAPI operationId**: `vision_scanners_observations_stats_retrieve`
1672
+ - **Path params**: `scanner_id`
1673
+ - **Query params**: `labeled`, `recent_days`, `recording_subject`, `session_id`, `status`, `tags`, `triggered_by`, `verdict`
1674
+ - **Response codes**: `200`
1675
+ - **Transport options**: None
1676
+ - **TypeScript**: [Client interface](../types.ts)
1677
+
1678
+ **Inputs**
1679
+
1680
+ - Client input type: `{ [key: string]: unknown }`
1681
+ - Client transport options: None
1682
+
1683
+ **Outputs**
1684
+
1685
+ - Client return type: `{ status_counts: { total: number; succeeded: number; failed: number; ineligible: number; in_flight: number; success_rate: number | null }; coverage: { recent_sessions: number; total_sessions: number; recent_days: number...`
1686
+ - OpenAPI response codes: `200`
1687
+
1688
+ ```ts
1689
+ import posthog from "@utdk/posthog";
1690
+
1691
+ type VisionScannersObservationsStatsRetrieveInput = Parameters<typeof posthog.visionScannersObservationsStatsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1692
+ type VisionScannersObservationsStatsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionScannersObservationsStatsRetrieve>>;
1693
+
1694
+ const result: VisionScannersObservationsStatsRetrieveOutput = await posthog.visionScannersObservationsStatsRetrieve();
1695
+
1696
+ // Result shape (from schema): { status_counts: { total: number; succeeded: number; failed: number; ineligible: number; in_flight: number; success_rate: number | null }; coverage: { recent_sessions: number; total_sessions: number; recent_days: number...
1697
+ ```
1698
+
1699
+ ### `posthog.visionScannersPromptSuggestionsList`
1700
+
1701
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/{scanner_id}/prompt_suggestions/`
1702
+ - **What it does**: AI prompt-rewrite suggestions for a scanner, generated from the team's thumbs up/down ratings.
1703
+ - **OpenAPI operationId**: `vision_scanners_prompt_suggestions_list`
1704
+ - **Path params**: `scanner_id`
1705
+ - **Query params**: `limit`, `offset`
1706
+ - **Response codes**: `200`
1707
+ - **Transport options**: None
1708
+ - **TypeScript**: [Client interface](../types.ts)
1709
+
1710
+ **Inputs**
1711
+
1712
+ - Client input type: `{ [key: string]: unknown }`
1713
+ - Client transport options: None
1714
+
1715
+ **Outputs**
1716
+
1717
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale...`
1718
+ - OpenAPI response codes: `200`
1719
+
1720
+ ```ts
1721
+ import posthog from "@utdk/posthog";
1722
+
1723
+ type VisionScannersPromptSuggestionsListInput = Parameters<typeof posthog.visionScannersPromptSuggestionsList> extends [infer T, ...unknown[]] ? T : undefined;
1724
+ type VisionScannersPromptSuggestionsListOutput = Awaited<ReturnType<typeof posthog.visionScannersPromptSuggestionsList>>;
1725
+
1726
+ const result: VisionScannersPromptSuggestionsListOutput = await posthog.visionScannersPromptSuggestionsList();
1727
+
1728
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale...
1729
+ ```
1730
+
1731
+ ### `posthog.visionScannersPromptSuggestionsApplyCreate`
1732
+
1733
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{scanner_id}/prompt_suggestions/{id}/apply/`
1734
+ - **What it does**: Apply this suggestion: write its prompt to the scanner (bumping the scanner version) and mark the suggestion applied. Only the current pending suggestion can be applied. Requires session recording edit access.
1735
+ - **OpenAPI operationId**: `vision_scanners_prompt_suggestions_apply_create`
1736
+ - **Path params**: `id`, `scanner_id`
1737
+ - **Query params**: None
1738
+ - **Response codes**: `200`
1739
+ - **Transport options**: None
1740
+ - **TypeScript**: [Client interface](../types.ts)
1741
+
1742
+ **Inputs**
1743
+
1744
+ - Client input type: `{ [key: string]: unknown }`
1745
+ - Client transport options: None
1746
+
1747
+ **Outputs**
1748
+
1749
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
1750
+ - OpenAPI response codes: `200`
1751
+
1752
+ ```ts
1753
+ import posthog from "@utdk/posthog";
1754
+
1755
+ type VisionScannersPromptSuggestionsApplyCreateInput = Parameters<typeof posthog.visionScannersPromptSuggestionsApplyCreate> extends [infer T, ...unknown[]] ? T : undefined;
1756
+ type VisionScannersPromptSuggestionsApplyCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersPromptSuggestionsApplyCreate>>;
1757
+
1758
+ const result: VisionScannersPromptSuggestionsApplyCreateOutput = await posthog.visionScannersPromptSuggestionsApplyCreate();
1759
+
1760
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
1761
+ ```
1762
+
1763
+ ### `posthog.visionScannersPromptSuggestionsDismissCreate`
1764
+
1765
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{scanner_id}/prompt_suggestions/{id}/dismiss/`
1766
+ - **What it does**: Dismiss this suggestion without applying it. Only the current pending suggestion can be dismissed. Requires session recording edit access.
1767
+ - **OpenAPI operationId**: `vision_scanners_prompt_suggestions_dismiss_create`
1768
+ - **Path params**: `id`, `scanner_id`
1769
+ - **Query params**: None
1770
+ - **Response codes**: `200`
1771
+ - **Transport options**: None
1772
+ - **TypeScript**: [Client interface](../types.ts)
1773
+
1774
+ **Inputs**
1775
+
1776
+ - Client input type: `{ [key: string]: unknown }`
1777
+ - Client transport options: None
1778
+
1779
+ **Outputs**
1780
+
1781
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
1782
+ - OpenAPI response codes: `200`
1783
+
1784
+ ```ts
1785
+ import posthog from "@utdk/posthog";
1786
+
1787
+ type VisionScannersPromptSuggestionsDismissCreateInput = Parameters<typeof posthog.visionScannersPromptSuggestionsDismissCreate> extends [infer T, ...unknown[]] ? T : undefined;
1788
+ type VisionScannersPromptSuggestionsDismissCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersPromptSuggestionsDismissCreate>>;
1789
+
1790
+ const result: VisionScannersPromptSuggestionsDismissCreateOutput = await posthog.visionScannersPromptSuggestionsDismissCreate();
1791
+
1792
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
1793
+ ```
1794
+
1795
+ ### `posthog.visionScannersPromptSuggestionsEvaluateCreate`
1796
+
1797
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{scanner_id}/prompt_suggestions/{id}/evaluate/`
1798
+ - **What it does**: Test this suggestion before applying it: re-run the scanner with the suggested prompt against already-rated sessions in the background and compare each fresh output with the stored one. Results land on the suggestion's `evaluation` field. Poll `current` while status is running. `session_limit` controls how many rated sessions are re-run (thumbs-down prioritized, up to `evaluation_session_cap`). Each successful re-run charges credits like a normal observation of the same model. The request is refused with 402 when the planned credits exceed what is left of the monthly limit. Only monitor and classifier scanners are supported. Requires session recording edit access.
1799
+ - **OpenAPI operationId**: `vision_scanners_prompt_suggestions_evaluate_create`
1800
+ - **Path params**: `id`, `scanner_id`
1801
+ - **Query params**: None
1802
+ - **Response codes**: `200`
1803
+ - **Transport options**: None
1804
+ - **TypeScript**: [Client interface](../types.ts)
1805
+
1806
+ **Inputs**
1807
+
1808
+ - Client input type: `{ [key: string]: unknown }`
1809
+ - Client transport options: None
1810
+
1811
+ **Outputs**
1812
+
1813
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
1814
+ - OpenAPI response codes: `200`
1815
+
1816
+ ```ts
1817
+ import posthog from "@utdk/posthog";
1818
+
1819
+ type VisionScannersPromptSuggestionsEvaluateCreateInput = Parameters<typeof posthog.visionScannersPromptSuggestionsEvaluateCreate> extends [infer T, ...unknown[]] ? T : undefined;
1820
+ type VisionScannersPromptSuggestionsEvaluateCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersPromptSuggestionsEvaluateCreate>>;
1821
+
1822
+ const result: VisionScannersPromptSuggestionsEvaluateCreateOutput = await posthog.visionScannersPromptSuggestionsEvaluateCreate();
1823
+
1824
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
1825
+ ```
1826
+
1827
+ ### `posthog.visionScannersPromptSuggestionsCurrentRetrieve`
1828
+
1829
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/{scanner_id}/prompt_suggestions/current/`
1830
+ - **What it does**: The scanner's newest prompt suggestion plus whether it is stale (the ratings changed since it was generated) and how many rated observations are available.
1831
+ - **OpenAPI operationId**: `vision_scanners_prompt_suggestions_current_retrieve`
1832
+ - **Path params**: `scanner_id`
1833
+ - **Query params**: None
1834
+ - **Response codes**: `200`
1835
+ - **Transport options**: None
1836
+ - **TypeScript**: [Client interface](../types.ts)
1837
+
1838
+ **Inputs**
1839
+
1840
+ - Client input type: `{ [key: string]: unknown }`
1841
+ - Client transport options: None
1842
+
1843
+ **Outputs**
1844
+
1845
+ - Client return type: `{ suggestion: { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner...`
1846
+ - OpenAPI response codes: `200`
1847
+
1848
+ ```ts
1849
+ import posthog from "@utdk/posthog";
1850
+
1851
+ type VisionScannersPromptSuggestionsCurrentRetrieveInput = Parameters<typeof posthog.visionScannersPromptSuggestionsCurrentRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1852
+ type VisionScannersPromptSuggestionsCurrentRetrieveOutput = Awaited<ReturnType<typeof posthog.visionScannersPromptSuggestionsCurrentRetrieve>>;
1853
+
1854
+ const result: VisionScannersPromptSuggestionsCurrentRetrieveOutput = await posthog.visionScannersPromptSuggestionsCurrentRetrieve();
1855
+
1856
+ // Result shape (from schema): { suggestion: { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner...
1857
+ ```
1858
+
1859
+ ### `posthog.visionScannersPromptSuggestionsGenerateCreate`
1860
+
1861
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/{scanner_id}/prompt_suggestions/generate/`
1862
+ - **What it does**: Generate a fresh prompt suggestion from the team's current ratings. The previous pending suggestion becomes history (superseded). Requires at least one rated observation and session recording edit access.
1863
+ - **OpenAPI operationId**: `vision_scanners_prompt_suggestions_generate_create`
1864
+ - **Path params**: `scanner_id`
1865
+ - **Query params**: None
1866
+ - **Response codes**: `200`
1867
+ - **Transport options**: None
1868
+ - **TypeScript**: [Client interface](../types.ts)
1869
+
1870
+ **Inputs**
1871
+
1872
+ - Client input type: `{ [key: string]: unknown }`
1873
+ - Client transport options: None
1874
+
1875
+ **Outputs**
1876
+
1877
+ - Client return type: `{ id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...`
1878
+ - OpenAPI response codes: `200`
1879
+
1880
+ ```ts
1881
+ import posthog from "@utdk/posthog";
1882
+
1883
+ type VisionScannersPromptSuggestionsGenerateCreateInput = Parameters<typeof posthog.visionScannersPromptSuggestionsGenerateCreate> extends [infer T, ...unknown[]] ? T : undefined;
1884
+ type VisionScannersPromptSuggestionsGenerateCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersPromptSuggestionsGenerateCreate>>;
1885
+
1886
+ const result: VisionScannersPromptSuggestionsGenerateCreateOutput = await posthog.visionScannersPromptSuggestionsGenerateCreate();
1887
+
1888
+ // Result shape (from schema): { id: string; status: "pending" | "applied" | "dismissed" | "superseded" | "no_change"; suggested_prompt: string; base_prompt: string; rationale: string; based_on_up: number; based_on_down: number; scanner_version: numb...
1889
+ ```
1890
+
1891
+ ### `posthog.visionScannersCreatorsRetrieve`
1892
+
1893
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/creators/`
1894
+ - **What it does**: Distinct creators across the team's scanners — feeds the `Created by` filter dropdown.
1895
+ - **OpenAPI operationId**: `vision_scanners_creators_retrieve`
1896
+ - **Path params**: None
1897
+ - **Query params**: None
1898
+ - **Response codes**: `200`
1899
+ - **Transport options**: None
1900
+ - **TypeScript**: [Client interface](../types.ts)
1901
+
1902
+ **Inputs**
1903
+
1904
+ - Client input type: `{ [key: string]: unknown }`
1905
+ - Client transport options: None
1906
+
1907
+ **Outputs**
1908
+
1909
+ - Client return type: `{ creators: ({ id: number; uuid: string; distinct_id?: string | null; first_name?: string; last_name?: string; email: string; is_email_verified?: boolean | null; hedgehog_config: { [key: string]: unknown } | null; role_...`
1910
+ - OpenAPI response codes: `200`
1911
+
1912
+ ```ts
1913
+ import posthog from "@utdk/posthog";
1914
+
1915
+ type VisionScannersCreatorsRetrieveInput = Parameters<typeof posthog.visionScannersCreatorsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1916
+ type VisionScannersCreatorsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionScannersCreatorsRetrieve>>;
1917
+
1918
+ const result: VisionScannersCreatorsRetrieveOutput = await posthog.visionScannersCreatorsRetrieve();
1919
+
1920
+ // Result shape (from schema): { creators: ({ id: number; uuid: string; distinct_id?: string | null; first_name?: string; last_name?: string; email: string; is_email_verified?: boolean | null; hedgehog_config: { [key: string]: unknown } | null; role_...
1921
+ ```
1922
+
1923
+ ### `posthog.visionScannersEstimateCreate`
1924
+
1925
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/estimate/`
1926
+ - **What it does**: Estimate the observation volume a proposed scanner would generate, for the pre-save cost preview.
1927
+ - **OpenAPI operationId**: `vision_scanners_estimate_create`
1928
+ - **Path params**: None
1929
+ - **Query params**: None
1930
+ - **Response codes**: `200`
1931
+ - **Transport options**: None
1932
+ - **TypeScript**: [Client interface](../types.ts)
1933
+
1934
+ **Inputs**
1935
+
1936
+ - Client input type: `{ [key: string]: unknown }`
1937
+ - Client transport options: None
1938
+
1939
+ **Outputs**
1940
+
1941
+ - Client return type: `{ matched_sessions_in_window: number; window_days: number; estimated_observations_per_month: number; credits_per_observation: number; estimated_credits_per_month: number; other_enabled_scanners_monthly_credits: number; ...`
1942
+ - OpenAPI response codes: `200`
1943
+
1944
+ ```ts
1945
+ import posthog from "@utdk/posthog";
1946
+
1947
+ type VisionScannersEstimateCreateInput = Parameters<typeof posthog.visionScannersEstimateCreate> extends [infer T, ...unknown[]] ? T : undefined;
1948
+ type VisionScannersEstimateCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersEstimateCreate>>;
1949
+
1950
+ const result: VisionScannersEstimateCreateOutput = await posthog.visionScannersEstimateCreate();
1951
+
1952
+ // Result shape (from schema): { matched_sessions_in_window: number; window_days: number; estimated_observations_per_month: number; credits_per_observation: number; estimated_credits_per_month: number; other_enabled_scanners_monthly_credits: number; ...
1953
+ ```
1954
+
1955
+ ### `posthog.visionScannersStatsRetrieve`
1956
+
1957
+ - **HTTP**: `GET /api/projects/{project_id}/vision/scanners/stats/`
1958
+ - **What it does**: Team-wide scanner counts — independent of list filters, so the overview stays stable.
1959
+ - **OpenAPI operationId**: `vision_scanners_stats_retrieve`
1960
+ - **Path params**: None
1961
+ - **Query params**: None
1962
+ - **Response codes**: `200`
1963
+ - **Transport options**: None
1964
+ - **TypeScript**: [Client interface](../types.ts)
1965
+
1966
+ **Inputs**
1967
+
1968
+ - Client input type: `{ [key: string]: unknown }`
1969
+ - Client transport options: None
1970
+
1971
+ **Outputs**
1972
+
1973
+ - Client return type: `{ total: number; enabled: number; by_type: { monitor: { enabled: number; total: number }; classifier: { enabled: number; total: number }; scorer: unknown; summarizer: unknown } }`
1974
+ - OpenAPI response codes: `200`
1975
+
1976
+ ```ts
1977
+ import posthog from "@utdk/posthog";
1978
+
1979
+ type VisionScannersStatsRetrieveInput = Parameters<typeof posthog.visionScannersStatsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
1980
+ type VisionScannersStatsRetrieveOutput = Awaited<ReturnType<typeof posthog.visionScannersStatsRetrieve>>;
1981
+
1982
+ const result: VisionScannersStatsRetrieveOutput = await posthog.visionScannersStatsRetrieve();
1983
+
1984
+ // Result shape (from schema): { total: number; enabled: number; by_type: { monitor: { enabled: number; total: number }; classifier: { enabled: number; total: number }; scorer: unknown; summarizer: unknown } }
1985
+ ```
1986
+
1987
+ ### `posthog.visionScannersSuggestTagsCreate`
1988
+
1989
+ - **HTTP**: `POST /api/projects/{project_id}/vision/scanners/suggest_tags/`
1990
+ - **What it does**: Suggest classifier tags grounded in the scanner's own observations and the org's product data.
1991
+ - **OpenAPI operationId**: `vision_scanners_suggest_tags_create`
1992
+ - **Path params**: None
1993
+ - **Query params**: None
1994
+ - **Response codes**: `200`
1995
+ - **Transport options**: None
1996
+ - **TypeScript**: [Client interface](../types.ts)
1997
+
1998
+ **Inputs**
1999
+
2000
+ - Client input type: `{ [key: string]: unknown }`
2001
+ - Client transport options: None
2002
+
2003
+ **Outputs**
2004
+
2005
+ - Client return type: `{ suggestions: ({ tag: string; rationale: string; source: "observed" | "product" | "prompt" })[] }`
2006
+ - OpenAPI response codes: `200`
2007
+
2008
+ ```ts
2009
+ import posthog from "@utdk/posthog";
2010
+
2011
+ type VisionScannersSuggestTagsCreateInput = Parameters<typeof posthog.visionScannersSuggestTagsCreate> extends [infer T, ...unknown[]] ? T : undefined;
2012
+ type VisionScannersSuggestTagsCreateOutput = Awaited<ReturnType<typeof posthog.visionScannersSuggestTagsCreate>>;
2013
+
2014
+ const result: VisionScannersSuggestTagsCreateOutput = await posthog.visionScannersSuggestTagsCreate();
2015
+
2016
+ // Result shape (from schema): { suggestions: ({ tag: string; rationale: string; source: "observed" | "product" | "prompt" })[] }
2017
+ ```
2018
+
2019
+
2020
+ <!-- prompt-hash:
2021
+ 8c3694991a4c289225f05a4e8f1e098cc74d085a088d7dffd82f00d93797b7f8
2022
+ -->