@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
@@ -0,0 +1,816 @@
1
+ # Visual Review
2
+
3
+ ## Operations
4
+
5
+ ### `posthog.visualReviewReposList`
6
+
7
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/`
8
+ - **What it does**: List all projects for the team.
9
+ - **OpenAPI operationId**: `visual_review_repos_list`
10
+ - **Path params**: None
11
+ - **Query params**: `limit`, `offset`
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; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; ena...`
24
+ - OpenAPI response codes: `200`
25
+
26
+ ```ts
27
+ import posthog from "@utdk/posthog";
28
+
29
+ type VisualReviewReposListInput = Parameters<typeof posthog.visualReviewReposList> extends [infer T, ...unknown[]] ? T : undefined;
30
+ type VisualReviewReposListOutput = Awaited<ReturnType<typeof posthog.visualReviewReposList>>;
31
+
32
+ const result: VisualReviewReposListOutput = await posthog.visualReviewReposList();
33
+
34
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; ena...
35
+ ```
36
+
37
+ ### `posthog.visualReviewReposCreate`
38
+
39
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/repos/`
40
+ - **What it does**: Create a new repo.
41
+ - **OpenAPI operationId**: `visual_review_repos_create`
42
+ - **Path params**: None
43
+ - **Query params**: None
44
+ - **Response codes**: `201`
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; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; enable_pr_comments: boolean; created_at: string }`
56
+ - OpenAPI response codes: `201`
57
+
58
+ ```ts
59
+ import posthog from "@utdk/posthog";
60
+
61
+ type VisualReviewReposCreateInput = Parameters<typeof posthog.visualReviewReposCreate> extends [infer T, ...unknown[]] ? T : undefined;
62
+ type VisualReviewReposCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewReposCreate>>;
63
+
64
+ const result: VisualReviewReposCreateOutput = await posthog.visualReviewReposCreate();
65
+
66
+ // Result shape (from schema): { id: string; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; enable_pr_comments: boolean; created_at: string }
67
+ ```
68
+
69
+ ### `posthog.visualReviewReposRetrieve`
70
+
71
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{id}/`
72
+ - **What it does**: Get a repo by ID.
73
+ - **OpenAPI operationId**: `visual_review_repos_retrieve`
74
+ - **Path params**: `id`
75
+ - **Query params**: None
76
+ - **Response codes**: `200`
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: `{ id: string; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; enable_pr_comments: boolean; created_at: string }`
88
+ - OpenAPI response codes: `200`
89
+
90
+ ```ts
91
+ import posthog from "@utdk/posthog";
92
+
93
+ type VisualReviewReposRetrieveInput = Parameters<typeof posthog.visualReviewReposRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
94
+ type VisualReviewReposRetrieveOutput = Awaited<ReturnType<typeof posthog.visualReviewReposRetrieve>>;
95
+
96
+ const result: VisualReviewReposRetrieveOutput = await posthog.visualReviewReposRetrieve();
97
+
98
+ // Result shape (from schema): { id: string; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; enable_pr_comments: boolean; created_at: string }
99
+ ```
100
+
101
+ ### `posthog.visualReviewReposPartialUpdate`
102
+
103
+ - **HTTP**: `PATCH /api/projects/{project_id}/visual_review/repos/{id}/`
104
+ - **What it does**: Update a repo's settings.
105
+ - **OpenAPI operationId**: `visual_review_repos_partial_update`
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: `{ id: string; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; enable_pr_comments: boolean; created_at: string }`
120
+ - OpenAPI response codes: `200`
121
+
122
+ ```ts
123
+ import posthog from "@utdk/posthog";
124
+
125
+ type VisualReviewReposPartialUpdateInput = Parameters<typeof posthog.visualReviewReposPartialUpdate> extends [infer T, ...unknown[]] ? T : undefined;
126
+ type VisualReviewReposPartialUpdateOutput = Awaited<ReturnType<typeof posthog.visualReviewReposPartialUpdate>>;
127
+
128
+ const result: VisualReviewReposPartialUpdateOutput = await posthog.visualReviewReposPartialUpdate();
129
+
130
+ // Result shape (from schema): { id: string; team_id: number; repo_external_id: number; repo_full_name: string; baseline_file_paths: { [key: string]: string | undefined }; enable_pr_comments: boolean; created_at: string }
131
+ ```
132
+
133
+ ### `posthog.visualReviewReposBaselinesRetrieve`
134
+
135
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{id}/baselines/`
136
+ - **What it does**: Snapshots overview for a repo: every identifier with a current baseline (latest non-superseded master/main run per run_type), plus tolerate counts, active quarantine state, and a 30-day stability sparkline. Capped at 5000 entries — sets `truncated` and returns the most recently active when exceeded. Filtering / faceting / search are all done client-side; this endpoint takes no filter query params.
137
+ - **OpenAPI operationId**: `visual_review_repos_baselines_retrieve`
138
+ - **Path params**: `id`
139
+ - **Query params**: None
140
+ - **Response codes**: `200`
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: `{ entries: ({ quarantine?: { created_by?: { id: number; first_name: string; email: string } | null; source_run?: { id: string; branch: string; commit_sha: string; created_at: string; pr_number?: number | null } | null; ...`
152
+ - OpenAPI response codes: `200`
153
+
154
+ ```ts
155
+ import posthog from "@utdk/posthog";
156
+
157
+ type VisualReviewReposBaselinesRetrieveInput = Parameters<typeof posthog.visualReviewReposBaselinesRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
158
+ type VisualReviewReposBaselinesRetrieveOutput = Awaited<ReturnType<typeof posthog.visualReviewReposBaselinesRetrieve>>;
159
+
160
+ const result: VisualReviewReposBaselinesRetrieveOutput = await posthog.visualReviewReposBaselinesRetrieve();
161
+
162
+ // Result shape (from schema): { entries: ({ quarantine?: { created_by?: { id: number; first_name: string; email: string } | null; source_run?: { id: string; branch: string; commit_sha: string; created_at: string; pr_number?: number | null } | null; ...
163
+ ```
164
+
165
+ ### `posthog.visualReviewReposQuarantineList`
166
+
167
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{id}/quarantine/`
168
+ - **What it does**: List quarantined identifiers. Without filter: active only. With identifier: full history.
169
+ - **OpenAPI operationId**: `visual_review_repos_quarantine_list`
170
+ - **Path params**: `id`
171
+ - **Query params**: `identifier`, `limit`, `offset`, `run_type`
172
+ - **Response codes**: `200`
173
+ - **Transport options**: None
174
+ - **TypeScript**: [Client interface](../types.ts)
175
+
176
+ **Inputs**
177
+
178
+ - Client input type: `{ [key: string]: unknown }`
179
+ - Client transport options: None
180
+
181
+ **Outputs**
182
+
183
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ created_by?: { id: number; first_name: string; email: string } | null; source_run?: { id: string; branch: string; commit_sha: string; created_...`
184
+ - OpenAPI response codes: `200`
185
+
186
+ ```ts
187
+ import posthog from "@utdk/posthog";
188
+
189
+ type VisualReviewReposQuarantineListInput = Parameters<typeof posthog.visualReviewReposQuarantineList> extends [infer T, ...unknown[]] ? T : undefined;
190
+ type VisualReviewReposQuarantineListOutput = Awaited<ReturnType<typeof posthog.visualReviewReposQuarantineList>>;
191
+
192
+ const result: VisualReviewReposQuarantineListOutput = await posthog.visualReviewReposQuarantineList();
193
+
194
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ created_by?: { id: number; first_name: string; email: string } | null; source_run?: { id: string; branch: string; commit_sha: string; created_...
195
+ ```
196
+
197
+ ### `posthog.visualReviewReposQuarantineCreate`
198
+
199
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/repos/{id}/quarantine/{run_type}/`
200
+ - **What it does**: Quarantine a snapshot identifier for a specific run type.
201
+ - **OpenAPI operationId**: `visual_review_repos_quarantine_create`
202
+ - **Path params**: `id`, `run_type`
203
+ - **Query params**: None
204
+ - **Response codes**: `201`
205
+ - **Transport options**: None
206
+ - **TypeScript**: [Client interface](../types.ts)
207
+
208
+ **Inputs**
209
+
210
+ - Client input type: `{ [key: string]: unknown }`
211
+ - Client transport options: None
212
+
213
+ **Outputs**
214
+
215
+ - Client return type: `{ created_by?: { id: number; first_name: string; email: string } | null; source_run?: { id: string; branch: string; commit_sha: string; created_at: string; pr_number?: number | null } | null; id: string; identifier: str...`
216
+ - OpenAPI response codes: `201`
217
+
218
+ ```ts
219
+ import posthog from "@utdk/posthog";
220
+
221
+ type VisualReviewReposQuarantineCreateInput = Parameters<typeof posthog.visualReviewReposQuarantineCreate> extends [infer T, ...unknown[]] ? T : undefined;
222
+ type VisualReviewReposQuarantineCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewReposQuarantineCreate>>;
223
+
224
+ const result: VisualReviewReposQuarantineCreateOutput = await posthog.visualReviewReposQuarantineCreate();
225
+
226
+ // Result shape (from schema): { created_by?: { id: number; first_name: string; email: string } | null; source_run?: { id: string; branch: string; commit_sha: string; created_at: string; pr_number?: number | null } | null; id: string; identifier: str...
227
+ ```
228
+
229
+ ### `posthog.visualReviewReposQuarantineExpireCreate`
230
+
231
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/repos/{id}/quarantine/{run_type}/expire/`
232
+ - **What it does**: Expire all active quarantine entries for an identifier.
233
+ - **OpenAPI operationId**: `visual_review_repos_quarantine_expire_create`
234
+ - **Path params**: `id`, `run_type`
235
+ - **Query params**: None
236
+ - **Response codes**: `204`
237
+ - **Transport options**: None
238
+ - **TypeScript**: [Client interface](../types.ts)
239
+
240
+ **Inputs**
241
+
242
+ - Client input type: `{ [key: string]: unknown }`
243
+ - Client transport options: None
244
+
245
+ **Outputs**
246
+
247
+ - Client return type: `unknown`
248
+ - OpenAPI response codes: `204`
249
+
250
+ ```ts
251
+ import posthog from "@utdk/posthog";
252
+
253
+ type VisualReviewReposQuarantineExpireCreateInput = Parameters<typeof posthog.visualReviewReposQuarantineExpireCreate> extends [infer T, ...unknown[]] ? T : undefined;
254
+ type VisualReviewReposQuarantineExpireCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewReposQuarantineExpireCreate>>;
255
+
256
+ const result: VisualReviewReposQuarantineExpireCreateOutput = await posthog.visualReviewReposQuarantineExpireCreate();
257
+
258
+ // Result shape (from schema): unknown
259
+ ```
260
+
261
+ ### `posthog.visualReviewReposThumbnailsRetrieve`
262
+
263
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{id}/thumbnails/{identifier}/`
264
+ - **What it does**: Serve a snapshot thumbnail by identifier. Returns WebP with ETag caching.
265
+ - **OpenAPI operationId**: `visual_review_repos_thumbnails_retrieve`
266
+ - **Path params**: `id`, `identifier`
267
+ - **Query params**: None
268
+ - **Response codes**: `200`
269
+ - **Transport options**: None
270
+ - **TypeScript**: [Client interface](../types.ts)
271
+
272
+ **Inputs**
273
+
274
+ - Client input type: `{ [key: string]: unknown }`
275
+ - Client transport options: None
276
+
277
+ **Outputs**
278
+
279
+ - Client return type: `unknown`
280
+ - OpenAPI response codes: `200`
281
+
282
+ ```ts
283
+ import posthog from "@utdk/posthog";
284
+
285
+ type VisualReviewReposThumbnailsRetrieveInput = Parameters<typeof posthog.visualReviewReposThumbnailsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
286
+ type VisualReviewReposThumbnailsRetrieveOutput = Awaited<ReturnType<typeof posthog.visualReviewReposThumbnailsRetrieve>>;
287
+
288
+ const result: VisualReviewReposThumbnailsRetrieveOutput = await posthog.visualReviewReposThumbnailsRetrieve();
289
+
290
+ // Result shape (from schema): unknown
291
+ ```
292
+
293
+ ### `posthog.visualReviewReposRunsList`
294
+
295
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{repo_id}/runs/`
296
+ - **What it does**: List runs in this repo, optionally filtered by review state and free-text search.
297
+ - **OpenAPI operationId**: `visual_review_repos_runs_list`
298
+ - **Path params**: `repo_id`
299
+ - **Query params**: `limit`, `offset`, `review_state`, `search`
300
+ - **Response codes**: `200`
301
+ - **Transport options**: None
302
+ - **TypeScript**: [Client interface](../types.ts)
303
+
304
+ **Inputs**
305
+
306
+ - Client input type: `{ [key: string]: unknown }`
307
+ - Client transport options: None
308
+
309
+ **Outputs**
310
+
311
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: st...`
312
+ - OpenAPI response codes: `200`
313
+
314
+ ```ts
315
+ import posthog from "@utdk/posthog";
316
+
317
+ type VisualReviewReposRunsListInput = Parameters<typeof posthog.visualReviewReposRunsList> extends [infer T, ...unknown[]] ? T : undefined;
318
+ type VisualReviewReposRunsListOutput = Awaited<ReturnType<typeof posthog.visualReviewReposRunsList>>;
319
+
320
+ const result: VisualReviewReposRunsListOutput = await posthog.visualReviewReposRunsList();
321
+
322
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: st...
323
+ ```
324
+
325
+ ### `posthog.visualReviewReposRunsCountsRetrieve`
326
+
327
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{repo_id}/runs/counts/`
328
+ - **What it does**: Review state counts for runs in this repo.
329
+ - **OpenAPI operationId**: `visual_review_repos_runs_counts_retrieve`
330
+ - **Path params**: `repo_id`
331
+ - **Query params**: None
332
+ - **Response codes**: `200`
333
+ - **Transport options**: None
334
+ - **TypeScript**: [Client interface](../types.ts)
335
+
336
+ **Inputs**
337
+
338
+ - Client input type: `{ [key: string]: unknown }`
339
+ - Client transport options: None
340
+
341
+ **Outputs**
342
+
343
+ - Client return type: `{ needs_review: number; clean: number; processing: number; stale: number }`
344
+ - OpenAPI response codes: `200`
345
+
346
+ ```ts
347
+ import posthog from "@utdk/posthog";
348
+
349
+ type VisualReviewReposRunsCountsRetrieveInput = Parameters<typeof posthog.visualReviewReposRunsCountsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
350
+ type VisualReviewReposRunsCountsRetrieveOutput = Awaited<ReturnType<typeof posthog.visualReviewReposRunsCountsRetrieve>>;
351
+
352
+ const result: VisualReviewReposRunsCountsRetrieveOutput = await posthog.visualReviewReposRunsCountsRetrieve();
353
+
354
+ // Result shape (from schema): { needs_review: number; clean: number; processing: number; stale: number }
355
+ ```
356
+
357
+ ### `posthog.visualReviewReposSnapshotsList`
358
+
359
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/repos/{repo_id}/snapshots/{run_type}/{identifier}/`
360
+ - **What it does**: Deduped baseline timeline for a snapshot identity. Newest first.
361
+ - **OpenAPI operationId**: `visual_review_repos_snapshots_list`
362
+ - **Path params**: `identifier`, `repo_id`, `run_type`
363
+ - **Query params**: `limit`, `offset`
364
+ - **Response codes**: `200`
365
+ - **Transport options**: None
366
+ - **TypeScript**: [Client interface](../types.ts)
367
+
368
+ **Inputs**
369
+
370
+ - Client input type: `{ [key: string]: unknown }`
371
+ - Client transport options: None
372
+
373
+ **Outputs**
374
+
375
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; run_...`
376
+ - OpenAPI response codes: `200`
377
+
378
+ ```ts
379
+ import posthog from "@utdk/posthog";
380
+
381
+ type VisualReviewReposSnapshotsListInput = Parameters<typeof posthog.visualReviewReposSnapshotsList> extends [infer T, ...unknown[]] ? T : undefined;
382
+ type VisualReviewReposSnapshotsListOutput = Awaited<ReturnType<typeof posthog.visualReviewReposSnapshotsList>>;
383
+
384
+ const result: VisualReviewReposSnapshotsListOutput = await posthog.visualReviewReposSnapshotsList();
385
+
386
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; run_...
387
+ ```
388
+
389
+ ### `posthog.visualReviewRunsList`
390
+
391
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/runs/`
392
+ - **What it does**: List runs for the team, optionally filtered by review state, PR number, commit SHA, branch, or free-text search.
393
+ - **OpenAPI operationId**: `visual_review_runs_list`
394
+ - **Path params**: None
395
+ - **Query params**: `branch`, `commit_sha`, `limit`, `offset`, `pr_number`, `review_state`, `search`
396
+ - **Response codes**: `200`
397
+ - **Transport options**: None
398
+ - **TypeScript**: [Client interface](../types.ts)
399
+
400
+ **Inputs**
401
+
402
+ - Client input type: `{ [key: string]: unknown }`
403
+ - Client transport options: None
404
+
405
+ **Outputs**
406
+
407
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: st...`
408
+ - OpenAPI response codes: `200`
409
+
410
+ ```ts
411
+ import posthog from "@utdk/posthog";
412
+
413
+ type VisualReviewRunsListInput = Parameters<typeof posthog.visualReviewRunsList> extends [infer T, ...unknown[]] ? T : undefined;
414
+ type VisualReviewRunsListOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsList>>;
415
+
416
+ const result: VisualReviewRunsListOutput = await posthog.visualReviewRunsList();
417
+
418
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: st...
419
+ ```
420
+
421
+ ### `posthog.visualReviewRunsCreate`
422
+
423
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/`
424
+ - **What it does**: Create a new run from a CI manifest.
425
+ - **OpenAPI operationId**: `visual_review_runs_create`
426
+ - **Path params**: None
427
+ - **Query params**: None
428
+ - **Response codes**: `201`
429
+ - **Transport options**: None
430
+ - **TypeScript**: [Client interface](../types.ts)
431
+
432
+ **Inputs**
433
+
434
+ - Client input type: `{ [key: string]: unknown }`
435
+ - Client transport options: None
436
+
437
+ **Outputs**
438
+
439
+ - Client return type: `{ run_id: string; uploads: ({ content_hash: string; url: string; fields: { [key: string]: string | undefined } })[] }`
440
+ - OpenAPI response codes: `201`
441
+
442
+ ```ts
443
+ import posthog from "@utdk/posthog";
444
+
445
+ type VisualReviewRunsCreateInput = Parameters<typeof posthog.visualReviewRunsCreate> extends [infer T, ...unknown[]] ? T : undefined;
446
+ type VisualReviewRunsCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsCreate>>;
447
+
448
+ const result: VisualReviewRunsCreateOutput = await posthog.visualReviewRunsCreate();
449
+
450
+ // Result shape (from schema): { run_id: string; uploads: ({ content_hash: string; url: string; fields: { [key: string]: string | undefined } })[] }
451
+ ```
452
+
453
+ ### `posthog.visualReviewRunsRetrieve`
454
+
455
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/runs/{id}/`
456
+ - **What it does**: Get run status and summary.
457
+ - **OpenAPI operationId**: `visual_review_runs_retrieve`
458
+ - **Path params**: `id`
459
+ - **Query params**: None
460
+ - **Response codes**: `200`
461
+ - **Transport options**: None
462
+ - **TypeScript**: [Client interface](../types.ts)
463
+
464
+ **Inputs**
465
+
466
+ - Client input type: `{ [key: string]: unknown }`
467
+ - Client transport options: None
468
+
469
+ **Outputs**
470
+
471
+ - Client return type: `{ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: string;...`
472
+ - OpenAPI response codes: `200`
473
+
474
+ ```ts
475
+ import posthog from "@utdk/posthog";
476
+
477
+ type VisualReviewRunsRetrieveInput = Parameters<typeof posthog.visualReviewRunsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
478
+ type VisualReviewRunsRetrieveOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsRetrieve>>;
479
+
480
+ const result: VisualReviewRunsRetrieveOutput = await posthog.visualReviewRunsRetrieve();
481
+
482
+ // Result shape (from schema): { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: string;...
483
+ ```
484
+
485
+ ### `posthog.visualReviewRunsAddSnapshotsCreate`
486
+
487
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/{id}/add-snapshots/`
488
+ - **What it does**: Add a batch of snapshots to a pending run (shard-based flow).
489
+ - **OpenAPI operationId**: `visual_review_runs_add_snapshots_create`
490
+ - **Path params**: `id`
491
+ - **Query params**: None
492
+ - **Response codes**: `200`
493
+ - **Transport options**: None
494
+ - **TypeScript**: [Client interface](../types.ts)
495
+
496
+ **Inputs**
497
+
498
+ - Client input type: `{ [key: string]: unknown }`
499
+ - Client transport options: None
500
+
501
+ **Outputs**
502
+
503
+ - Client return type: `{ added: number; uploads: ({ content_hash: string; url: string; fields: { [key: string]: string | undefined } })[] }`
504
+ - OpenAPI response codes: `200`
505
+
506
+ ```ts
507
+ import posthog from "@utdk/posthog";
508
+
509
+ type VisualReviewRunsAddSnapshotsCreateInput = Parameters<typeof posthog.visualReviewRunsAddSnapshotsCreate> extends [infer T, ...unknown[]] ? T : undefined;
510
+ type VisualReviewRunsAddSnapshotsCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsAddSnapshotsCreate>>;
511
+
512
+ const result: VisualReviewRunsAddSnapshotsCreateOutput = await posthog.visualReviewRunsAddSnapshotsCreate();
513
+
514
+ // Result shape (from schema): { added: number; uploads: ({ content_hash: string; url: string; fields: { [key: string]: string | undefined } })[] }
515
+ ```
516
+
517
+ ### `posthog.visualReviewRunsApproveCreate`
518
+
519
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/{id}/approve/`
520
+ - **What it does**: Mark snapshots reviewed (DB only).
521
+
522
+ Records the per-snapshot "Accept change" decision. Does not commit the baseline
523
+ or change the GitHub gate — call finalize to ship the run.
524
+ - **OpenAPI operationId**: `visual_review_runs_approve_create`
525
+ - **Path params**: `id`
526
+ - **Query params**: None
527
+ - **Response codes**: `200`
528
+ - **Transport options**: None
529
+ - **TypeScript**: [Client interface](../types.ts)
530
+
531
+ **Inputs**
532
+
533
+ - Client input type: `{ [key: string]: unknown }`
534
+ - Client transport options: None
535
+
536
+ **Outputs**
537
+
538
+ - Client return type: `{ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: string;...`
539
+ - OpenAPI response codes: `200`
540
+
541
+ ```ts
542
+ import posthog from "@utdk/posthog";
543
+
544
+ type VisualReviewRunsApproveCreateInput = Parameters<typeof posthog.visualReviewRunsApproveCreate> extends [infer T, ...unknown[]] ? T : undefined;
545
+ type VisualReviewRunsApproveCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsApproveCreate>>;
546
+
547
+ const result: VisualReviewRunsApproveCreateOutput = await posthog.visualReviewRunsApproveCreate();
548
+
549
+ // Result shape (from schema): { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: string;...
550
+ ```
551
+
552
+ ### `posthog.visualReviewRunsCompleteCreate`
553
+
554
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/{id}/complete/`
555
+ - **What it does**: Complete a run: detect removals, verify uploads, trigger diff processing.
556
+ - **OpenAPI operationId**: `visual_review_runs_complete_create`
557
+ - **Path params**: `id`
558
+ - **Query params**: None
559
+ - **Response codes**: `200`
560
+ - **Transport options**: None
561
+ - **TypeScript**: [Client interface](../types.ts)
562
+
563
+ **Inputs**
564
+
565
+ - Client input type: `{ [key: string]: unknown }`
566
+ - Client transport options: None
567
+
568
+ **Outputs**
569
+
570
+ - Client return type: `{ approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: string;...`
571
+ - OpenAPI response codes: `200`
572
+
573
+ ```ts
574
+ import posthog from "@utdk/posthog";
575
+
576
+ type VisualReviewRunsCompleteCreateInput = Parameters<typeof posthog.visualReviewRunsCompleteCreate> extends [infer T, ...unknown[]] ? T : undefined;
577
+ type VisualReviewRunsCompleteCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsCompleteCreate>>;
578
+
579
+ const result: VisualReviewRunsCompleteCreateOutput = await posthog.visualReviewRunsCompleteCreate();
580
+
581
+ // Result shape (from schema): { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: string;...
582
+ ```
583
+
584
+ ### `posthog.visualReviewRunsFinalizeCreate`
585
+
586
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/{id}/finalize/`
587
+ - **What it does**: Finalize a fully-reviewed run: commit the approved baseline and green the gate.
588
+
589
+ Commits exactly the snapshots approved in the DB (tolerated ones keep their baseline)
590
+ and only succeeds once every changed/new snapshot is resolved. With approve_all=true,
591
+ any still-pending changed/new snapshot is approved first. With commit_to_github=false
592
+ the server returns the signed baseline YAML instead of committing it.
593
+ - **OpenAPI operationId**: `visual_review_runs_finalize_create`
594
+ - **Path params**: `id`
595
+ - **Query params**: None
596
+ - **Response codes**: `200`
597
+ - **Transport options**: None
598
+ - **TypeScript**: [Client interface](../types.ts)
599
+
600
+ **Inputs**
601
+
602
+ - Client input type: `{ [key: string]: unknown }`
603
+ - Client transport options: None
604
+
605
+ **Outputs**
606
+
607
+ - Client return type: `{ run: { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: ...`
608
+ - OpenAPI response codes: `200`
609
+
610
+ ```ts
611
+ import posthog from "@utdk/posthog";
612
+
613
+ type VisualReviewRunsFinalizeCreateInput = Parameters<typeof posthog.visualReviewRunsFinalizeCreate> extends [infer T, ...unknown[]] ? T : undefined;
614
+ type VisualReviewRunsFinalizeCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsFinalizeCreate>>;
615
+
616
+ const result: VisualReviewRunsFinalizeCreateOutput = await posthog.visualReviewRunsFinalizeCreate();
617
+
618
+ // Result shape (from schema): { run: { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: ...
619
+ ```
620
+
621
+ ### `posthog.visualReviewRunsRecomputeCreate`
622
+
623
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/{id}/recompute/`
624
+ - **What it does**: Re-evaluate quarantine and counts, update commit status, and optionally rerun the CI job.
625
+ - **OpenAPI operationId**: `visual_review_runs_recompute_create`
626
+ - **Path params**: `id`
627
+ - **Query params**: None
628
+ - **Response codes**: `200`
629
+ - **Transport options**: None
630
+ - **TypeScript**: [Client interface](../types.ts)
631
+
632
+ **Inputs**
633
+
634
+ - Client input type: `{ [key: string]: unknown }`
635
+ - Client transport options: None
636
+
637
+ **Outputs**
638
+
639
+ - Client return type: `{ run: { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: ...`
640
+ - OpenAPI response codes: `200`
641
+
642
+ ```ts
643
+ import posthog from "@utdk/posthog";
644
+
645
+ type VisualReviewRunsRecomputeCreateInput = Parameters<typeof posthog.visualReviewRunsRecomputeCreate> extends [infer T, ...unknown[]] ? T : undefined;
646
+ type VisualReviewRunsRecomputeCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsRecomputeCreate>>;
647
+
648
+ const result: VisualReviewRunsRecomputeCreateOutput = await posthog.visualReviewRunsRecomputeCreate();
649
+
650
+ // Result shape (from schema): { run: { approved_by?: { id: number; first_name: string; email: string } | null; search_match_type: "exact" | "similar" | null; id: string; repo_id: string; status: string; run_type: string; commit_sha: string; branch: ...
651
+ ```
652
+
653
+ ### `posthog.visualReviewRunsSnapshotHistoryList`
654
+
655
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/runs/{id}/snapshot-history/`
656
+ - **What it does**: Recent change history for a snapshot identifier across runs.
657
+ - **OpenAPI operationId**: `visual_review_runs_snapshot_history_list`
658
+ - **Path params**: `id`
659
+ - **Query params**: `identifier`, `limit`, `offset`
660
+ - **Response codes**: `200`
661
+ - **Transport options**: None
662
+ - **TypeScript**: [Client interface](../types.ts)
663
+
664
+ **Inputs**
665
+
666
+ - Client input type: `{ [key: string]: unknown }`
667
+ - Client transport options: None
668
+
669
+ **Outputs**
670
+
671
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; run_...`
672
+ - OpenAPI response codes: `200`
673
+
674
+ ```ts
675
+ import posthog from "@utdk/posthog";
676
+
677
+ type VisualReviewRunsSnapshotHistoryListInput = Parameters<typeof posthog.visualReviewRunsSnapshotHistoryList> extends [infer T, ...unknown[]] ? T : undefined;
678
+ type VisualReviewRunsSnapshotHistoryListOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsSnapshotHistoryList>>;
679
+
680
+ const result: VisualReviewRunsSnapshotHistoryListOutput = await posthog.visualReviewRunsSnapshotHistoryList();
681
+
682
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; run_...
683
+ ```
684
+
685
+ ### `posthog.visualReviewRunsSnapshotsList`
686
+
687
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/runs/{id}/snapshots/`
688
+ - **What it does**: Get a run's snapshots with diff results, excluding quarantined ones by default.
689
+ - **OpenAPI operationId**: `visual_review_runs_snapshots_list`
690
+ - **Path params**: `id`
691
+ - **Query params**: `include_quarantined`, `limit`, `offset`
692
+ - **Response codes**: `200`
693
+ - **Transport options**: None
694
+ - **TypeScript**: [Client interface](../types.ts)
695
+
696
+ **Inputs**
697
+
698
+ - Client input type: `{ [key: string]: unknown }`
699
+ - Client transport options: None
700
+
701
+ **Outputs**
702
+
703
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; base...`
704
+ - OpenAPI response codes: `200`
705
+
706
+ ```ts
707
+ import posthog from "@utdk/posthog";
708
+
709
+ type VisualReviewRunsSnapshotsListInput = Parameters<typeof posthog.visualReviewRunsSnapshotsList> extends [infer T, ...unknown[]] ? T : undefined;
710
+ type VisualReviewRunsSnapshotsListOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsSnapshotsList>>;
711
+
712
+ const result: VisualReviewRunsSnapshotsListOutput = await posthog.visualReviewRunsSnapshotsList();
713
+
714
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; base...
715
+ ```
716
+
717
+ ### `posthog.visualReviewRunsTolerateCreate`
718
+
719
+ - **HTTP**: `POST /api/projects/{project_id}/visual_review/runs/{id}/tolerate/`
720
+ - **What it does**: Mark a changed snapshot as a known tolerated alternate.
721
+ - **OpenAPI operationId**: `visual_review_runs_tolerate_create`
722
+ - **Path params**: `id`
723
+ - **Query params**: None
724
+ - **Response codes**: `200`
725
+ - **Transport options**: None
726
+ - **TypeScript**: [Client interface](../types.ts)
727
+
728
+ **Inputs**
729
+
730
+ - Client input type: `{ [key: string]: unknown }`
731
+ - Client transport options: None
732
+
733
+ **Outputs**
734
+
735
+ - Client return type: `{ current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; baseline_artifact?: { id: string; content_hash: string; width: number | null; h...`
736
+ - OpenAPI response codes: `200`
737
+
738
+ ```ts
739
+ import posthog from "@utdk/posthog";
740
+
741
+ type VisualReviewRunsTolerateCreateInput = Parameters<typeof posthog.visualReviewRunsTolerateCreate> extends [infer T, ...unknown[]] ? T : undefined;
742
+ type VisualReviewRunsTolerateCreateOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsTolerateCreate>>;
743
+
744
+ const result: VisualReviewRunsTolerateCreateOutput = await posthog.visualReviewRunsTolerateCreate();
745
+
746
+ // Result shape (from schema): { current_artifact?: { id: string; content_hash: string; width: number | null; height: number | null; download_url: string | null } | null; baseline_artifact?: { id: string; content_hash: string; width: number | null; h...
747
+ ```
748
+
749
+ ### `posthog.visualReviewRunsToleratedHashesList`
750
+
751
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/runs/{id}/tolerated-hashes/`
752
+ - **What it does**: List known tolerated hashes for a snapshot identifier.
753
+ - **OpenAPI operationId**: `visual_review_runs_tolerated_hashes_list`
754
+ - **Path params**: `id`
755
+ - **Query params**: `identifier`, `limit`, `offset`
756
+ - **Response codes**: `200`
757
+ - **Transport options**: None
758
+ - **TypeScript**: [Client interface](../types.ts)
759
+
760
+ **Inputs**
761
+
762
+ - Client input type: `{ [key: string]: unknown }`
763
+ - Client transport options: None
764
+
765
+ **Outputs**
766
+
767
+ - Client return type: `{ count: number; next?: string | null; previous?: string | null; results: ({ id: string; alternate_hash: string; baseline_hash: string; reason: string; diff_percentage: number | null; created_at: string; source_run_id: ...`
768
+ - OpenAPI response codes: `200`
769
+
770
+ ```ts
771
+ import posthog from "@utdk/posthog";
772
+
773
+ type VisualReviewRunsToleratedHashesListInput = Parameters<typeof posthog.visualReviewRunsToleratedHashesList> extends [infer T, ...unknown[]] ? T : undefined;
774
+ type VisualReviewRunsToleratedHashesListOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsToleratedHashesList>>;
775
+
776
+ const result: VisualReviewRunsToleratedHashesListOutput = await posthog.visualReviewRunsToleratedHashesList();
777
+
778
+ // Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; alternate_hash: string; baseline_hash: string; reason: string; diff_percentage: number | null; created_at: string; source_run_id: ...
779
+ ```
780
+
781
+ ### `posthog.visualReviewRunsCountsRetrieve`
782
+
783
+ - **HTTP**: `GET /api/projects/{project_id}/visual_review/runs/counts/`
784
+ - **What it does**: Review state counts for the runs list.
785
+ - **OpenAPI operationId**: `visual_review_runs_counts_retrieve`
786
+ - **Path params**: None
787
+ - **Query params**: None
788
+ - **Response codes**: `200`
789
+ - **Transport options**: None
790
+ - **TypeScript**: [Client interface](../types.ts)
791
+
792
+ **Inputs**
793
+
794
+ - Client input type: `{ [key: string]: unknown }`
795
+ - Client transport options: None
796
+
797
+ **Outputs**
798
+
799
+ - Client return type: `{ needs_review: number; clean: number; processing: number; stale: number }`
800
+ - OpenAPI response codes: `200`
801
+
802
+ ```ts
803
+ import posthog from "@utdk/posthog";
804
+
805
+ type VisualReviewRunsCountsRetrieveInput = Parameters<typeof posthog.visualReviewRunsCountsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
806
+ type VisualReviewRunsCountsRetrieveOutput = Awaited<ReturnType<typeof posthog.visualReviewRunsCountsRetrieve>>;
807
+
808
+ const result: VisualReviewRunsCountsRetrieveOutput = await posthog.visualReviewRunsCountsRetrieve();
809
+
810
+ // Result shape (from schema): { needs_review: number; clean: number; processing: number; stale: number }
811
+ ```
812
+
813
+
814
+ <!-- prompt-hash:
815
+ 8c3694991a4c289225f05a4e8f1e098cc74d085a088d7dffd82f00d93797b7f8
816
+ -->