openapi: 3.0.3 info: title: PostHog API version: 1.0.0 description: '' paths: /api/code/invites/check-access/: get: operationId: code_invites_check_access_retrieve description: Check whether the authenticated user has access to PostHog Code. summary: Check access tags: - code-invites - code responses: '200': description: Access check result x-explicit-tags: - code-invites - tasks /api/code/invites/redeem/: post: operationId: code_invites_redeem_create description: Redeem a PostHog Code invite code to enable access. summary: Redeem invite code tags: - code-invites - code requestBody: content: application/json: schema: $ref: '#/components/schemas/CodeInviteRedeemRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CodeInviteRedeemRequest' multipart/form-data: schema: $ref: '#/components/schemas/CodeInviteRedeemRequest' required: true responses: '200': description: Invite code redeemed successfully '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid or expired invite code x-explicit-tags: - code-invites - tasks /api/environments/{environment_id}/alerts/: get: operationId: environments_alerts_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - alerts security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertList' description: '' deprecated: true x-explicit-tags: [] post: operationId: environments_alerts_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/Alert' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Alert' multipart/form-data: schema: $ref: '#/components/schemas/Alert' required: true security: - PersonalAPIKeyAuth: - alert:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/alerts/{id}/: get: operationId: environments_alerts_retrieve parameters: - in: query name: checks_date_from schema: type: string description: Relative date string for the start of the check history window (e.g. '-24h', '-7d', '-14d'). Returns checks created after this time. Max retention is 14 days. - in: query name: checks_date_to schema: type: string description: Relative date string for the end of the check history window (e.g. '-1h', '-1d'). Defaults to now if not specified. - in: query name: checks_limit schema: type: integer description: Maximum number of check results to return (default 5, max 500). Applied after date filtering. - in: query name: checks_offset schema: type: integer description: Number of newest checks to skip (0-based). Use with checks_limit for pagination. Default 0. - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true tags: - alerts security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' deprecated: true x-explicit-tags: [] put: operationId: environments_alerts_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/Alert' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Alert' multipart/form-data: schema: $ref: '#/components/schemas/Alert' required: true security: - PersonalAPIKeyAuth: - alert:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_alerts_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAlert' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAlert' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAlert' security: - PersonalAPIKeyAuth: - alert:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_alerts_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true tags: - alerts security: - PersonalAPIKeyAuth: - alert:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/alerts/simulate/: post: operationId: environments_alerts_simulate_create description: Simulate a detector on an insight's historical data. Read-only — no AlertCheck records are created. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertSimulate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AlertSimulate' multipart/form-data: schema: $ref: '#/components/schemas/AlertSimulate' required: true security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AlertSimulateResponse' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/batch_exports/: get: operationId: environments_batch_exports_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportList' description: '' deprecated: true x-explicit-tags: - batch_exports post: operationId: environments_batch_exports_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{batch_export_id}/backfills/: get: operationId: environments_batch_exports_backfills_list description: 'ViewSet for BatchExportBackfill models. Allows creating and reading backfills, but not updating or deleting them.' parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - $ref: '#/components/parameters/EnvironmentIdPath' - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string tags: - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportBackfillList' description: '' deprecated: true x-explicit-tags: [] post: operationId: environments_batch_exports_backfills_create description: Create a new backfill for a BatchExport. parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - $ref: '#/components/parameters/EnvironmentIdPath' tags: - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportBackfill' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportBackfill' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/batch_exports/{batch_export_id}/backfills/{id}/: get: operationId: environments_batch_exports_backfills_retrieve description: 'ViewSet for BatchExportBackfill models. Allows creating and reading backfills, but not updating or deleting them.' parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export backfill. required: true tags: - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/batch_exports/{batch_export_id}/backfills/{id}/cancel/: post: operationId: environments_batch_exports_backfills_cancel_create description: Cancel a batch export backfill. parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export backfill. required: true tags: - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportBackfill' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportBackfill' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/batch_exports/{batch_export_id}/runs/: get: operationId: environments_batch_exports_runs_list parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - $ref: '#/components/parameters/EnvironmentIdPath' - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportRunList' description: '' deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{batch_export_id}/runs/{id}/: get: operationId: environments_batch_exports_runs_retrieve parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExportRun' description: '' deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{batch_export_id}/runs/{id}/cancel/: post: operationId: environments_batch_exports_runs_cancel_create description: Cancel a batch export run. parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportRun' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportRun' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportRun' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{batch_export_id}/runs/{id}/logs/: get: operationId: environments_batch_exports_runs_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - batch_exports - batch_exports responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{batch_export_id}/runs/{id}/retry/: post: operationId: environments_batch_exports_runs_retry_create description: 'Retry a batch export run. We use the same underlying mechanism as when backfilling a batch export, as retrying a run is the same as backfilling one run.' parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportRun' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportRun' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportRun' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{id}/: get: operationId: environments_batch_exports_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' deprecated: true x-explicit-tags: - batch_exports put: operationId: environments_batch_exports_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' deprecated: true x-explicit-tags: - batch_exports patch: operationId: environments_batch_exports_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedBatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedBatchExport' multipart/form-data: schema: $ref: '#/components/schemas/PatchedBatchExport' security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' deprecated: true x-explicit-tags: - batch_exports delete: operationId: environments_batch_exports_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:write responses: '204': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{id}/logs/: get: operationId: environments_batch_exports_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - batch_exports - batch_exports responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{id}/pause/: post: operationId: environments_batch_exports_pause_create description: Pause a BatchExport. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{id}/run_test_step/: post: operationId: environments_batch_exports_run_test_step_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/{id}/unpause/: post: operationId: environments_batch_exports_unpause_create description: Unpause a BatchExport. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/run_test_step_new/: post: operationId: environments_batch_exports_run_test_step_new_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/batch_exports/test/: get: operationId: environments_batch_exports_test_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': description: No response body deprecated: true x-explicit-tags: - batch_exports /api/environments/{environment_id}/dashboards/: get: operationId: environments_dashboards_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - core - dashboards security: - PersonalAPIKeyAuth: - dashboard:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDashboardBasicList' text/event-stream: schema: $ref: '#/components/schemas/PaginatedDashboardBasicList' description: '' deprecated: true x-explicit-tags: - core - dashboards post: operationId: environments_dashboards_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' security: - PersonalAPIKeyAuth: - dashboard:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' deprecated: true x-explicit-tags: - core - dashboards /api/environments/{environment_id}/dashboards/{dashboard_id}/collaborators/: get: operationId: environments_dashboards_collaborators_list parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' tags: - dashboards security: - PersonalAPIKeyAuth: - dashboard:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/DashboardCollaborator' description: '' deprecated: true x-explicit-tags: [] post: operationId: environments_dashboards_collaborators_create parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' tags: - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/DashboardCollaborator' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DashboardCollaborator' multipart/form-data: schema: $ref: '#/components/schemas/DashboardCollaborator' required: true security: - PersonalAPIKeyAuth: - dashboard:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DashboardCollaborator' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/: delete: operationId: environments_dashboards_collaborators_destroy parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: user__uuid schema: type: string format: uuid required: true tags: - dashboards security: - PersonalAPIKeyAuth: - dashboard:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/: get: operationId: environments_dashboards_sharing_list parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - dashboards security: - PersonalAPIKeyAuth: - sharing_configuration:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/passwords/: post: operationId: environments_dashboards_sharing_passwords_create description: Create a new password for the sharing configuration. parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/: delete: operationId: environments_dashboards_sharing_passwords_destroy description: Delete a password from the sharing configuration. parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: password_id schema: type: string required: true tags: - core - dashboards security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '204': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/refresh/: post: operationId: environments_dashboards_sharing_refresh_create parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/: get: operationId: environments_dashboards_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: filters_override schema: type: string description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token. - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - in: query name: variables_override schema: type: string description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"": {"code_name": "", "variableId": "", "value": }}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.' tags: - core - dashboards security: - PersonalAPIKeyAuth: - dashboard:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' deprecated: true x-explicit-tags: - core put: operationId: environments_dashboards_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' deprecated: true x-explicit-tags: - core patch: operationId: environments_dashboards_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDashboard' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDashboard' security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' deprecated: true x-explicit-tags: - core delete: operationId: environments_dashboards_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards security: - PersonalAPIKeyAuth: - dashboard:write responses: '405': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/analyze_refresh_result/: post: operationId: environments_dashboards_analyze_refresh_result_create description: 'Generate AI analysis comparing before/after dashboard refresh. Expects cache_key in request body pointing to the stored ''before'' state.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/copy_tile/: post: operationId: environments_dashboards_copy_tile_create description: Copy an existing dashboard tile to another dashboard (insight or text card; new tile row). parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyDashboardTileRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CopyDashboardTileRequest' multipart/form-data: schema: $ref: '#/components/schemas/CopyDashboardTileRequest' required: true security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/move_tile/: patch: operationId: environments_dashboards_move_tile_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDashboard' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDashboard' responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/reorder_tiles/: post: operationId: environments_dashboards_reorder_tiles_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/ReorderTilesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ReorderTilesRequest' multipart/form-data: schema: $ref: '#/components/schemas/ReorderTilesRequest' required: true security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/run_insights/: get: operationId: environments_dashboards_run_insights_retrieve description: Run all insights on a dashboard and return their results. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: filters_override schema: type: string description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token. - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - in: query name: output_format schema: type: string enum: - json - optimized description: '''optimized'' (default) returns LLM-friendly formatted text per insight. ''json'' returns the raw query result objects.' - in: query name: refresh schema: type: string enum: - blocking - force_blocking - force_cache description: Cache behavior. 'force_cache' (default) serves from cache even if stale. 'blocking' uses cache if fresh, otherwise recalculates. 'force_blocking' always recalculates. - in: query name: variables_override schema: type: string description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"": {"code_name": "", "variableId": "", "value": }}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.' tags: - core - dashboards security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/RunInsightsResponse' text/event-stream: schema: $ref: '#/components/schemas/RunInsightsResponse' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/snapshot/: post: operationId: environments_dashboards_snapshot_create description: 'Snapshot the current dashboard state (from cache) for AI analysis. Returns a cache_key representing the ''before'' state, to be used with analyze_refresh_result.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/{id}/stream_tiles/: get: operationId: environments_dashboards_stream_tiles_retrieve description: Stream dashboard metadata and tiles via Server-Sent Events. Sends metadata first, then tiles as they are rendered. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: filters_override schema: type: string description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token. - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - in: query name: layoutSize schema: type: string enum: - sm - xs description: Layout size for tile positioning. 'sm' (default) for standard, 'xs' for mobile. The snake_case alias `layout_size` is also accepted for backward compatibility. - in: query name: variables_override schema: type: string description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"": {"code_name": "", "variableId": "", "value": }}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.' tags: - core - dashboards responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/dashboards/bulk_update_tags/: post: operationId: environments_dashboards_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' text/event-stream: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' deprecated: true x-explicit-tags: - core - dashboards /api/environments/{environment_id}/dashboards/create_from_template_json/: post: operationId: environments_dashboards_create_from_template_json_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body deprecated: true x-explicit-tags: - core - dashboards /api/environments/{environment_id}/dashboards/create_unlisted_dashboard/: post: operationId: environments_dashboards_create_unlisted_dashboard_create description: 'Creates an unlisted dashboard from template by tag. Enforces uniqueness (one per tag per team). Returns 409 if unlisted dashboard with this tag already exists.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - json - txt tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body deprecated: true x-explicit-tags: - core - dashboards /api/environments/{environment_id}/data_color_themes/: get: operationId: environments_data_color_themes_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - dashboards - data_color_themes security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataColorThemeList' description: '' deprecated: true x-explicit-tags: - dashboards post: operationId: environments_data_color_themes_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - dashboards - data_color_themes requestBody: content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataColorTheme' multipart/form-data: schema: $ref: '#/components/schemas/DataColorTheme' required: true security: - PersonalAPIKeyAuth: - project:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' deprecated: true x-explicit-tags: - dashboards /api/environments/{environment_id}/data_color_themes/{id}/: get: operationId: environments_data_color_themes_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true tags: - dashboards - data_color_themes security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' deprecated: true x-explicit-tags: - dashboards put: operationId: environments_data_color_themes_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true tags: - dashboards - data_color_themes requestBody: content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataColorTheme' multipart/form-data: schema: $ref: '#/components/schemas/DataColorTheme' required: true security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' deprecated: true x-explicit-tags: - dashboards patch: operationId: environments_data_color_themes_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true tags: - dashboards - data_color_themes requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataColorTheme' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataColorTheme' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataColorTheme' security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' deprecated: true x-explicit-tags: - dashboards delete: operationId: environments_data_color_themes_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true tags: - dashboards - data_color_themes security: - PersonalAPIKeyAuth: - project:write responses: '204': description: No response body deprecated: true x-explicit-tags: - dashboards /api/environments/{environment_id}/data_modeling_jobs/: get: operationId: environments_data_modeling_jobs_list description: List data modeling jobs which are "runs" for our saved queries. parameters: - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: saved_query_id schema: type: string format: uuid tags: - data_warehouse - data_modeling_jobs security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataModelingJobList' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_modeling_jobs/{id}/: get: operationId: environments_data_modeling_jobs_retrieve description: List data modeling jobs which are "runs" for our saved queries. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data modeling job. required: true tags: - data_warehouse - data_modeling_jobs security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataModelingJob' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_modeling_jobs/recent/: get: operationId: environments_data_modeling_jobs_recent_retrieve description: Get the most recent non-running job for each saved query from the v2 backend. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - data_modeling_jobs responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataModelingJob' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_modeling_jobs/running/: get: operationId: environments_data_modeling_jobs_running_retrieve description: Get all currently running jobs from the v2 backend. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - data_modeling_jobs responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataModelingJob' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/check-database-name/: get: operationId: environments_data_warehouse_check_database_name_retrieve description: Check if a database name is available. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: name schema: type: string minLength: 1 description: Database name to check required: true tags: - data_warehouse responses: '200': content: application/json: schema: $ref: '#/components/schemas/CheckDatabaseNameResponse' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/completed_activity/: get: operationId: environments_data_warehouse_completed_activity_retrieve description: 'Returns completed/non-running activities (jobs with status ''Completed''). Supports pagination and cutoff time filtering.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/data_health_issues/: get: operationId: environments_data_warehouse_data_health_issues_retrieve description: 'Returns failed/disabled data pipeline items for the Pipeline status side panel. Includes: materializations, syncs, sources, destinations, and transformations.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/data_ops_dashboard/: get: operationId: environments_data_warehouse_data_ops_dashboard_retrieve description: Returns the data ops overview dashboard ID for this team, creating it if it doesn't exist yet. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/deprovision/: post: operationId: environments_data_warehouse_deprovision_create description: Start deprovisioning the managed warehouse for this team. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeprovisionWarehouseResponse' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/job_stats/: get: operationId: environments_data_warehouse_job_stats_retrieve description: 'Returns success and failed job statistics for the last 1, 7, or 30 days. Query parameter ''days'' can be 1, 7, or 30 (default: 7).' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/property_values/: get: operationId: environments_data_warehouse_property_values_retrieve description: API endpoints for data warehouse aggregate statistics and operations. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/provision/: post: operationId: environments_data_warehouse_provision_create description: Start provisioning a managed warehouse for this team. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse requestBody: content: application/json: schema: $ref: '#/components/schemas/ProvisionWarehouseRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProvisionWarehouseRequest' multipart/form-data: schema: $ref: '#/components/schemas/ProvisionWarehouseRequest' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProvisionWarehouseResponse' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/reset-password/: post: operationId: environments_data_warehouse_reset_password_create description: Reset the root password for the managed warehouse. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResetPasswordResponse' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/running_activity/: get: operationId: environments_data_warehouse_running_activity_retrieve description: 'Returns currently running activities (jobs with status ''Running''). Supports pagination and cutoff time filtering.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/total_rows_stats/: get: operationId: environments_data_warehouse_total_rows_stats_retrieve description: 'Returns aggregated statistics for the data warehouse total rows processed within the current billing period. Used by the frontend data warehouse scene to display usage information.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/data_warehouse/warehouse_status/: get: operationId: environments_data_warehouse_warehouse_status_retrieve description: Get the current provisioning status of the managed warehouse. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse responses: '200': content: application/json: schema: $ref: '#/components/schemas/WarehouseStatusResponse' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/dataset_items/: get: operationId: environments_dataset_items_list parameters: - in: query name: dataset schema: type: string description: Filter by dataset ID examples: SingleDatasetID: value: 695401fa-6f0e-4389-b186-c45a7f1273d3 summary: Single dataset ID - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - llm_analytics - dataset_items security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDatasetItemList' description: '' deprecated: true x-explicit-tags: - llm_analytics post: operationId: environments_dataset_items_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - llm_analytics - dataset_items requestBody: content: application/json: schema: $ref: '#/components/schemas/DatasetItem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DatasetItem' multipart/form-data: schema: $ref: '#/components/schemas/DatasetItem' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' deprecated: true x-explicit-tags: - llm_analytics /api/environments/{environment_id}/dataset_items/{id}/: get: operationId: environments_dataset_items_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true tags: - llm_analytics - dataset_items security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' deprecated: true x-explicit-tags: - llm_analytics put: operationId: environments_dataset_items_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true tags: - llm_analytics - dataset_items requestBody: content: application/json: schema: $ref: '#/components/schemas/DatasetItem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DatasetItem' multipart/form-data: schema: $ref: '#/components/schemas/DatasetItem' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' deprecated: true x-explicit-tags: - llm_analytics patch: operationId: environments_dataset_items_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true tags: - llm_analytics - dataset_items requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDatasetItem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDatasetItem' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDatasetItem' security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' deprecated: true x-explicit-tags: - llm_analytics delete: operationId: environments_dataset_items_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true tags: - llm_analytics - dataset_items security: - PersonalAPIKeyAuth: - dataset:write responses: '405': description: No response body deprecated: true x-explicit-tags: - llm_analytics /api/environments/{environment_id}/datasets/: get: operationId: environments_datasets_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: id__in schema: type: array items: type: string format: uuid description: Multiple values may be separated by commas. explode: false style: form - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: array items: type: string enum: - -created_at - -updated_at - created_at - updated_at description: 'Ordering * `created_at` - Created At * `-created_at` - Created At (descending) * `updated_at` - Updated At * `-updated_at` - Updated At (descending)' explode: false style: form - in: query name: search schema: type: string description: Search in name, description, or metadata tags: - llm_analytics - datasets security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDatasetList' description: '' deprecated: true x-explicit-tags: - llm_analytics post: operationId: environments_datasets_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - llm_analytics - datasets requestBody: content: application/json: schema: $ref: '#/components/schemas/Dataset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dataset' multipart/form-data: schema: $ref: '#/components/schemas/Dataset' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' deprecated: true x-explicit-tags: - llm_analytics /api/environments/{environment_id}/datasets/{id}/: get: operationId: environments_datasets_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true tags: - llm_analytics - datasets security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' deprecated: true x-explicit-tags: - llm_analytics put: operationId: environments_datasets_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true tags: - llm_analytics - datasets requestBody: content: application/json: schema: $ref: '#/components/schemas/Dataset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dataset' multipart/form-data: schema: $ref: '#/components/schemas/Dataset' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' deprecated: true x-explicit-tags: - llm_analytics patch: operationId: environments_datasets_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true tags: - llm_analytics - datasets requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataset' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataset' security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' deprecated: true x-explicit-tags: - llm_analytics delete: operationId: environments_datasets_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true tags: - llm_analytics - datasets security: - PersonalAPIKeyAuth: - dataset:write responses: '405': description: No response body deprecated: true x-explicit-tags: - llm_analytics /api/environments/{environment_id}/elements/: get: operationId: environments_elements_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedElementList' description: '' deprecated: true x-explicit-tags: - product_analytics post: operationId: environments_elements_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - product_analytics - elements requestBody: content: application/json: schema: $ref: '#/components/schemas/Element' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Element' multipart/form-data: schema: $ref: '#/components/schemas/Element' security: - PersonalAPIKeyAuth: - element:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/elements/{id}/: get: operationId: environments_elements_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' deprecated: true x-explicit-tags: - product_analytics put: operationId: environments_elements_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true tags: - product_analytics - elements requestBody: content: application/json: schema: $ref: '#/components/schemas/Element' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Element' multipart/form-data: schema: $ref: '#/components/schemas/Element' security: - PersonalAPIKeyAuth: - element:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' deprecated: true x-explicit-tags: - product_analytics patch: operationId: environments_elements_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true tags: - product_analytics - elements requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedElement' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedElement' multipart/form-data: schema: $ref: '#/components/schemas/PatchedElement' security: - PersonalAPIKeyAuth: - element:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' deprecated: true x-explicit-tags: - product_analytics delete: operationId: environments_elements_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:write responses: '204': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/elements/stats/: get: operationId: environments_elements_stats_retrieve description: 'The original version of this API always and only returned $autocapture elements If no include query parameter is sent this remains true. Now, you can pass a combination of include query parameters to get different types of elements Currently only $autocapture and $rageclick and $dead_click are supported' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/elements/values/: get: operationId: environments_elements_values_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/endpoints/: get: operationId: environments_endpoints_list description: List all endpoints for the team. parameters: - in: query name: created_by schema: type: integer - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: is_active schema: type: boolean - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEndpointResponseList' description: '' deprecated: true x-explicit-tags: - endpoints post: operationId: environments_endpoints_create description: Create a new endpoint. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointRequest' security: - PersonalAPIKeyAuth: - endpoint:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/EndpointResponse' description: '' deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/{name}/: get: operationId: environments_endpoints_retrieve description: Retrieve an endpoint, or a specific version via ?version=N. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointVersionResponse' description: '' deprecated: true x-explicit-tags: - endpoints put: operationId: environments_endpoints_update description: Update an existing endpoint. Parameters are optional. Pass version in body or ?version=N query param to target a specific version. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointRequest' security: - PersonalAPIKeyAuth: - endpoint:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointResponse' description: '' deprecated: true x-explicit-tags: - endpoints patch: operationId: environments_endpoints_partial_update description: Update an existing endpoint. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEndpointRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEndpointRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEndpointRequest' security: - PersonalAPIKeyAuth: - endpoint:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointResponse' description: '' deprecated: true x-explicit-tags: - endpoints delete: operationId: environments_endpoints_destroy description: Delete an endpoint and clean up materialized query. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:write responses: '204': description: No response body deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/{name}/materialization_preview/: post: operationId: environments_endpoints_materialization_preview_create description: Preview the materialization transform for an endpoint. Shows what the query will look like after materialization, including range pair detection and bucket functions. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/MaterializationPreviewRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MaterializationPreviewRequest' multipart/form-data: schema: $ref: '#/components/schemas/MaterializationPreviewRequest' security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': description: No response body deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/{name}/materialization_status/: get: operationId: environments_endpoints_materialization_status_retrieve description: Get materialization status for an endpoint. Supports ?version=N query param. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointMaterialization' description: '' deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/{name}/openapi.json/: get: operationId: environments_endpoints_openapi.json_retrieve description: Get OpenAPI 3.0 specification for this endpoint. Use this to generate typed SDK clients. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - in: query name: version schema: type: integer description: Specific endpoint version to generate the spec for. Defaults to latest. tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': description: No response body deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/{name}/run/: get: operationId: environments_endpoints_run_retrieve description: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointRunResponse' description: '' deprecated: true x-explicit-tags: - endpoints post: operationId: environments_endpoints_run_create description: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointRunRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointRunRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointRunRequest' security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointRunResponse' description: '' deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/{name}/versions/: get: operationId: environments_endpoints_versions_list description: List all versions for an endpoint. parameters: - in: query name: created_by schema: type: integer - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: is_active schema: type: boolean - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEndpointVersionResponseList' description: '' deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/endpoints/last_execution_times/: post: operationId: environments_endpoints_last_execution_times_create description: Get the last execution times in the past 6 months for multiple endpoints. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointLastExecutionTimesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointLastExecutionTimesRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointLastExecutionTimesRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryStatusResponse' description: '' deprecated: true x-explicit-tags: - endpoints /api/environments/{environment_id}/error_tracking/releases/: get: operationId: environments_error_tracking_releases_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingReleaseList' description: '' deprecated: true x-explicit-tags: - error_tracking post: operationId: environments_error_tracking_releases_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingRelease' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingRelease' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/releases/{id}/: get: operationId: environments_error_tracking_releases_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' deprecated: true x-explicit-tags: - error_tracking put: operationId: environments_error_tracking_releases_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingRelease' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingRelease' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' deprecated: true x-explicit-tags: - error_tracking patch: operationId: environments_error_tracking_releases_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingRelease' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingRelease' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingRelease' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' deprecated: true x-explicit-tags: - error_tracking delete: operationId: environments_error_tracking_releases_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/releases/hash/{hash_id}/: get: operationId: environments_error_tracking_releases_hash_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: hash_id schema: type: string required: true tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/: get: operationId: environments_error_tracking_symbol_sets_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingSymbolSetList' description: '' deprecated: true x-explicit-tags: - error_tracking post: operationId: environments_error_tracking_symbol_sets_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/{id}/: get: operationId: environments_error_tracking_symbol_sets_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' deprecated: true x-explicit-tags: - error_tracking put: operationId: environments_error_tracking_symbol_sets_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' deprecated: true x-explicit-tags: - error_tracking patch: operationId: environments_error_tracking_symbol_sets_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/PatchedErrorTrackingSymbolSet' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' deprecated: true x-explicit-tags: - error_tracking delete: operationId: environments_error_tracking_symbol_sets_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/{id}/download/: get: operationId: environments_error_tracking_symbol_sets_download_retrieve description: Return a presigned URL for downloading the symbol set's source map. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_SymbolSetDownloadResponse' description: '' deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/{id}/finish_upload/: put: operationId: environments_error_tracking_symbol_sets_finish_upload_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/bulk_delete/: post: operationId: environments_error_tracking_symbol_sets_bulk_delete_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/bulk_finish_upload/: post: operationId: environments_error_tracking_symbol_sets_bulk_finish_upload_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/bulk_start_upload/: post: operationId: environments_error_tracking_symbol_sets_bulk_start_upload_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/error_tracking/symbol_sets/start_upload/: post: operationId: environments_error_tracking_symbol_sets_start_upload_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body deprecated: true x-explicit-tags: - error_tracking /api/environments/{environment_id}/events/: get: operationId: environments_events_list description: "\n This endpoint allows you to list and filter events.\n\ \ It is effectively deprecated and is kept only for backwards compatibility.\n\ \ If you ever ask about it you will be advised to not use it...\n \ \ If you want to ad-hoc list or aggregate events, use the Query endpoint\ \ instead.\n If you want to export all events or many pages of events\ \ you should use our CDP/Batch Exports products instead.\n " parameters: - in: query name: after schema: type: string format: date-time description: 'Only return events with a timestamp after this time. Default: now() - 24 hours.' - in: query name: before schema: type: string format: date-time description: 'Only return events with a timestamp before this time. Default: now() + 5 seconds.' - in: query name: distinct_id schema: type: integer description: Filter list by distinct id. - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: event schema: type: string description: Filter list by event. For example `user sign up` or `$pageview`. - in: query name: format schema: type: string enum: - csv - json - in: query name: limit schema: type: integer description: The maximum number of results to return - in: query name: offset schema: type: integer description: 'Allows to skip first offset rows. Will fail for value larger than 100000. Read about proper way of paginating: https://posthog.com/docs/api/queries#5-use-timestamp-based-pagination-instead-of-offset' deprecated: true - in: query name: person_id schema: type: integer description: Filter list by person id. - in: query name: properties schema: type: array items: $ref: '#/components/schemas/Property' description: Filter events by event property, person property, cohort, groups and more. - in: query name: select schema: type: array items: type: string description: (Experimental) JSON-serialized array of HogQL expressions to return - in: query name: where schema: type: array items: type: string description: (Experimental) JSON-serialized array of HogQL expressions that must pass tags: - events security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedClickhouseEventList' text/csv: schema: $ref: '#/components/schemas/PaginatedClickhouseEventList' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/events/{id}/: get: operationId: environments_events_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string required: true tags: - events security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: type: object additionalProperties: true text/csv: schema: type: object additionalProperties: true description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/events/values/: get: operationId: environments_events_values_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - events security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/exports/: get: operationId: environments_exports_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - core - exports security: - PersonalAPIKeyAuth: - export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExportedAssetList' description: '' deprecated: true x-explicit-tags: - core post: operationId: environments_exports_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - exports requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportedAsset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExportedAsset' multipart/form-data: schema: $ref: '#/components/schemas/ExportedAsset' required: true security: - PersonalAPIKeyAuth: - export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportedAsset' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/exports/{id}/: get: operationId: environments_exports_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this exported asset. required: true tags: - core - exports security: - PersonalAPIKeyAuth: - export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportedAsset' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/exports/{id}/content/: get: operationId: environments_exports_content_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this exported asset. required: true tags: - core - exports security: - PersonalAPIKeyAuth: - export:read responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/external_data_schemas/: get: operationId: environments_external_data_schemas_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSchemaList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_external_data_schemas_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_schemas/{id}/: get: operationId: environments_external_data_schemas_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' deprecated: true x-explicit-tags: - data_warehouse put: operationId: environments_external_data_schemas_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' deprecated: true x-explicit-tags: - data_warehouse patch: operationId: environments_external_data_schemas_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' deprecated: true x-explicit-tags: - data_warehouse delete: operationId: environments_external_data_schemas_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:write responses: '204': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_schemas/{id}/cancel/: post: operationId: environments_external_data_schemas_cancel_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_schemas/{id}/delete_data/: delete: operationId: environments_external_data_schemas_delete_data_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:write responses: '204': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_schemas/{id}/incremental_fields/: post: operationId: environments_external_data_schemas_incremental_fields_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_schemas/{id}/reload/: post: operationId: environments_external_data_schemas_reload_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_schemas/{id}/resync/: post: operationId: environments_external_data_schemas_resync_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/: get: operationId: environments_external_data_sources_list description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSourceSerializersList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_external_data_sources_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceCreate' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceCreate' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/: get: operationId: environments_external_data_sources_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' deprecated: true x-explicit-tags: - data_warehouse put: operationId: environments_external_data_sources_update description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' deprecated: true x-explicit-tags: - data_warehouse patch: operationId: environments_external_data_sources_partial_update description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' deprecated: true x-explicit-tags: - data_warehouse delete: operationId: environments_external_data_sources_destroy description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:write responses: '204': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/bulk_update_schemas/: patch: operationId: environments_external_data_sources_bulk_update_schemas_partial_update description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSourceBulkUpdateSchemas' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSourceBulkUpdateSchemas' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSourceBulkUpdateSchemas' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSchemaList' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/create_webhook/: post: operationId: environments_external_data_sources_create_webhook_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/delete_webhook/: post: operationId: environments_external_data_sources_delete_webhook_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/jobs/: get: operationId: environments_external_data_sources_jobs_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/refresh_schemas/: post: operationId: environments_external_data_sources_refresh_schemas_create description: Fetch current schema/table list from the source and create any new ExternalDataSchema rows (no data sync). parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/reload/: post: operationId: environments_external_data_sources_reload_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/revenue_analytics_config/: patch: operationId: environments_external_data_sources_revenue_analytics_config_partial_update description: Update the revenue analytics configuration and return the full external data source. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/update_webhook_inputs/: post: operationId: environments_external_data_sources_update_webhook_inputs_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/{id}/webhook_info/: get: operationId: environments_external_data_sources_webhook_info_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/check_cdc_prerequisites/: post: operationId: environments_external_data_sources_check_cdc_prerequisites_create description: 'Validate CDC prerequisites against a live Postgres connection. Used by the source wizard to surface ✅/❌ checks before source creation, and by the self-managed setup popup to verify user-created publications.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: type: object properties: valid: type: boolean errors: type: array items: type: string description: Whether the Postgres database satisfies CDC prerequisites. '400': description: Invalid config, disallowed host, or connection failure. deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/connections/: get: operationId: environments_external_data_sources_connections_list description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSourceConnectionOptionList' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/database_schema/: post: operationId: environments_external_data_sources_database_schema_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/DatabaseSchemaRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DatabaseSchemaRequest' multipart/form-data: schema: $ref: '#/components/schemas/DatabaseSchemaRequest' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/source_prefix/: post: operationId: environments_external_data_sources_source_prefix_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/external_data_sources/wizard/: get: operationId: environments_external_data_sources_wizard_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/file_system/: get: operationId: environments_file_system_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - core - file_system security: - PersonalAPIKeyAuth: - file_system:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFileSystemList' description: '' deprecated: true x-explicit-tags: - core post: operationId: environments_file_system_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true security: - PersonalAPIKeyAuth: - file_system:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/{id}/: get: operationId: environments_file_system_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system security: - PersonalAPIKeyAuth: - file_system:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' deprecated: true x-explicit-tags: - core put: operationId: environments_file_system_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true security: - PersonalAPIKeyAuth: - file_system:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' deprecated: true x-explicit-tags: - core patch: operationId: environments_file_system_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedFileSystem' multipart/form-data: schema: $ref: '#/components/schemas/PatchedFileSystem' security: - PersonalAPIKeyAuth: - file_system:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' deprecated: true x-explicit-tags: - core delete: operationId: environments_file_system_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system security: - PersonalAPIKeyAuth: - file_system:write responses: '204': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/{id}/count/: post: operationId: environments_file_system_count_create description: Get count of all files in a folder. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/{id}/link/: post: operationId: environments_file_system_link_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/{id}/move/: post: operationId: environments_file_system_move_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/count_by_path/: post: operationId: environments_file_system_count_by_path_create description: Get count of all files in a folder. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/log_view/: get: operationId: environments_file_system_log_view_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - file_system responses: '200': description: No response body deprecated: true x-explicit-tags: - core post: operationId: environments_file_system_log_view_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/undo_delete/: post: operationId: environments_file_system_undo_delete_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system/unfiled/: get: operationId: environments_file_system_unfiled_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - file_system responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/file_system_shortcut/: get: operationId: environments_file_system_shortcut_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - file_system_shortcut security: - PersonalAPIKeyAuth: - file_system_shortcut:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFileSystemShortcutList' description: '' deprecated: true x-explicit-tags: [] post: operationId: environments_file_system_shortcut_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystemShortcut' multipart/form-data: schema: $ref: '#/components/schemas/FileSystemShortcut' required: true security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/file_system_shortcut/{id}/: get: operationId: environments_file_system_shortcut_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true tags: - file_system_shortcut security: - PersonalAPIKeyAuth: - file_system_shortcut:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' deprecated: true x-explicit-tags: [] put: operationId: environments_file_system_shortcut_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystemShortcut' multipart/form-data: schema: $ref: '#/components/schemas/FileSystemShortcut' required: true security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_file_system_shortcut_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFileSystemShortcut' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedFileSystemShortcut' multipart/form-data: schema: $ref: '#/components/schemas/PatchedFileSystemShortcut' security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_file_system_shortcut_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true tags: - file_system_shortcut security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/file_system_shortcut/reorder/: post: operationId: environments_file_system_shortcut_reorder_create description: Set the display order of the current user's shortcuts. `ordered_ids` becomes the new top-to-bottom order; any unknown IDs are rejected. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcutReorder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystemShortcutReorder' multipart/form-data: schema: $ref: '#/components/schemas/FileSystemShortcutReorder' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFileSystemShortcutList' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/groups/: get: operationId: environments_groups_list description: List all groups of a specific group type. You must pass ?group_type_index= in the URL. To get a list of valid group types, call /api/:project_id/groups_types/ parameters: - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: group_type_index schema: type: integer description: Specify the group type to list required: true - in: query name: search schema: type: string description: Search the group name required: true tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGroupList' description: '' deprecated: true x-explicit-tags: - core post: operationId: environments_groups_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - groups requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGroup' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateGroup' multipart/form-data: schema: $ref: '#/components/schemas/CreateGroup' required: true security: - PersonalAPIKeyAuth: - group:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Group' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/activity/: get: operationId: environments_groups_activity_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - in: query name: id schema: type: string description: Specify the id of the user to find groups for required: true tags: - core - groups security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/delete_property/: post: operationId: environments_groups_delete_property_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: group_key schema: type: string description: Specify the key of the group to find required: true - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true tags: - core - groups requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Group' multipart/form-data: schema: $ref: '#/components/schemas/Group' required: true security: - PersonalAPIKeyAuth: - group:write responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/find/: get: operationId: environments_groups_find_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: group_key schema: type: string description: Specify the key of the group to find required: true - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/property_definitions/: get: operationId: environments_groups_property_definitions_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/property_values/: get: operationId: environments_groups_property_values_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/related/: get: operationId: environments_groups_related_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - in: query name: id schema: type: string description: Specify the id of the user to find groups for required: true tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/groups/update_property/: post: operationId: environments_groups_update_property_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: group_key schema: type: string description: Specify the key of the group to find required: true - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true tags: - core - groups requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Group' multipart/form-data: schema: $ref: '#/components/schemas/Group' required: true security: - PersonalAPIKeyAuth: - group:write responses: '200': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/heatmap_screenshots/{id}/content/: get: operationId: environments_heatmap_screenshots_content_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this saved heatmap. required: true tags: - heatmap_screenshots security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/heatmaps/: get: operationId: environments_heatmaps_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - heatmaps security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHeatmapsResponseList' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/heatmaps/events/: get: operationId: environments_heatmaps_events_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - heatmaps security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/hog_flows/: get: operationId: environments_hog_flows_list parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: updated_at schema: type: string format: date-time tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFlowMinimalList' description: '' deprecated: true x-explicit-tags: - workflows post: operationId: environments_hog_flows_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true security: - PersonalAPIKeyAuth: - hog_flow:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/: get: operationId: environments_hog_flows_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows put: operationId: environments_hog_flows_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true security: - PersonalAPIKeyAuth: - hog_flow:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows patch: operationId: environments_hog_flows_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFlow' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFlow' security: - PersonalAPIKeyAuth: - hog_flow:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows delete: operationId: environments_hog_flows_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:write responses: '204': description: No response body deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/batch_jobs/: get: operationId: environments_hog_flows_batch_jobs_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows post: operationId: environments_hog_flows_batch_jobs_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/blocked_runs/: get: operationId: environments_hog_flows_blocked_runs_retrieve description: List workflow runs that were blocked by the dedup bug. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/invocations/: post: operationId: environments_hog_flows_invocations_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/logs/: get: operationId: environments_hog_flows_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': description: No response body deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/metrics/: get: operationId: environments_hog_flows_metrics_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsResponse' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/metrics/totals/: get: operationId: environments_hog_flows_metrics_totals_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsTotalsResponse' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/replay_all_blocked_runs/: post: operationId: environments_hog_flows_replay_all_blocked_runs_create description: Replay all blocked runs in a single bulk call to Node. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/replay_blocked_run/: post: operationId: environments_hog_flows_replay_blocked_run_create description: Replay a single blocked run. Django fetches the event, Node creates the invocation and writes the log. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/schedules/: get: operationId: environments_hog_flows_schedules_list parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: updated_at schema: type: string format: date-time tags: - workflows - hog_flows responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFlowScheduleList' description: '' deprecated: true x-explicit-tags: - workflows post: operationId: environments_hog_flows_schedules_create parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: updated_at schema: type: string format: date-time tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFlowScheduleList' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/{id}/schedules/{schedule_id}/: patch: operationId: environments_hog_flows_schedules_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: path name: schedule_id schema: type: string required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFlow' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFlow' responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows delete: operationId: environments_hog_flows_schedules_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: path name: schedule_id schema: type: string required: true tags: - workflows - hog_flows responses: '204': description: No response body deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/bulk_delete/: post: operationId: environments_hog_flows_bulk_delete_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_flows/user_blast_radius/: post: operationId: environments_hog_flows_user_blast_radius_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/BlastRadiusRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BlastRadiusRequest' multipart/form-data: schema: $ref: '#/components/schemas/BlastRadiusRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BlastRadius' description: '' deprecated: true x-explicit-tags: - workflows /api/environments/{environment_id}/hog_functions/: get: operationId: environments_hog_functions_list parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - in: query name: enabled schema: type: boolean - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form - in: query name: updated_at schema: type: string format: date-time tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFunctionMinimalList' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp post: operationId: environments_hog_functions_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunction' multipart/form-data: schema: $ref: '#/components/schemas/HogFunction' security: - PersonalAPIKeyAuth: - hog_function:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/{id}/: get: operationId: environments_hog_functions_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp put: operationId: environments_hog_functions_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunction' multipart/form-data: schema: $ref: '#/components/schemas/HogFunction' security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp patch: operationId: environments_hog_functions_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFunction' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFunction' security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp delete: operationId: environments_hog_functions_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true tags: - hog_functions - cdp - hog_functions responses: '405': description: No response body deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/{id}/enable_backfills/: post: operationId: environments_hog_functions_enable_backfills_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunction' multipart/form-data: schema: $ref: '#/components/schemas/HogFunction' responses: '200': description: No response body deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/{id}/invocations/: post: operationId: environments_hog_functions_invocations_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunctionInvocation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunctionInvocation' multipart/form-data: schema: $ref: '#/components/schemas/HogFunctionInvocation' required: true security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunctionInvocation' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/{id}/logs/: get: operationId: environments_hog_functions_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': description: No response body deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/{id}/metrics/: get: operationId: environments_hog_functions_metrics_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsResponse' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/{id}/metrics/totals/: get: operationId: environments_hog_functions_metrics_totals_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsTotalsResponse' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/icon/: get: operationId: environments_hog_functions_icon_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - hog_functions - cdp - hog_functions responses: '200': description: No response body deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/icons/: get: operationId: environments_hog_functions_icons_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - hog_functions - cdp - hog_functions responses: '200': description: No response body deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/hog_functions/rearrange/: patch: operationId: environments_hog_functions_rearrange_partial_update description: Update the execution order of multiple HogFunctions. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFunctionRearrange' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFunctionRearrange' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFunctionRearrange' security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/HogFunction' description: '' deprecated: true x-explicit-tags: - hog_functions - cdp /api/environments/{environment_id}/insight_variables/: get: operationId: environments_insight_variables_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer tags: - data_warehouse - insight_variables security: - PersonalAPIKeyAuth: - insight_variable:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInsightVariableList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_insight_variables_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - insight_variables requestBody: content: application/json: schema: $ref: '#/components/schemas/InsightVariable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InsightVariable' multipart/form-data: schema: $ref: '#/components/schemas/InsightVariable' required: true security: - PersonalAPIKeyAuth: - insight_variable:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/insight_variables/{id}/: get: operationId: environments_insight_variables_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true tags: - data_warehouse - insight_variables security: - PersonalAPIKeyAuth: - insight_variable:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' deprecated: true x-explicit-tags: - data_warehouse put: operationId: environments_insight_variables_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true tags: - data_warehouse - insight_variables requestBody: content: application/json: schema: $ref: '#/components/schemas/InsightVariable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InsightVariable' multipart/form-data: schema: $ref: '#/components/schemas/InsightVariable' required: true security: - PersonalAPIKeyAuth: - insight_variable:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' deprecated: true x-explicit-tags: - data_warehouse patch: operationId: environments_insight_variables_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true tags: - data_warehouse - insight_variables requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInsightVariable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedInsightVariable' multipart/form-data: schema: $ref: '#/components/schemas/PatchedInsightVariable' security: - PersonalAPIKeyAuth: - insight_variable:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' deprecated: true x-explicit-tags: - data_warehouse delete: operationId: environments_insight_variables_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true tags: - data_warehouse - insight_variables security: - PersonalAPIKeyAuth: - insight_variable:write responses: '204': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/insights/: get: operationId: environments_insights_list description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: basic schema: type: boolean description: Return basic insight metadata only (no results, faster). - in: query name: created_by schema: type: string description: JSON-encoded array of user IDs. Only returns insights whose `created_by` is in the list, e.g. `[1,42]`. - in: query name: created_date_from schema: type: string description: Filter by `created_at > created_date_from`. Accepts absolute or relative dates. - in: query name: created_date_to schema: type: string description: Filter by `created_at < created_date_to`. Accepts absolute or relative dates. - in: query name: dashboards schema: type: string description: JSON-encoded array of dashboard IDs. Returns insights attached to every listed dashboard (AND). - in: query name: date_from schema: type: string description: Filter by `last_modified_at > date_from`. Accepts absolute dates (`2025-04-23`) or relative strings (`-7d`, `-1m`). - in: query name: date_to schema: type: string description: Filter by `last_modified_at < date_to`. Accepts absolute dates or relative strings. - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: favorited schema: type: boolean description: Include this parameter (any value) to restrict results to insights marked as favorited. - in: query name: format schema: type: string enum: - csv - json - in: query name: insight schema: type: string enum: - FUNNELS - JSON - LIFECYCLE - PATHS - RETENTION - SQL - STICKINESS - TRENDS description: Restrict to a single insight type. `JSON` matches non-wrapper query insights; `SQL` matches HogQL queries. - in: query name: last_viewed_date_from schema: type: string description: Filter by `last_viewed_at > last_viewed_date_from`. Accepts absolute or relative dates. - in: query name: last_viewed_date_to schema: type: string description: Filter by `last_viewed_at < last_viewed_date_to`. Accepts absolute or relative dates. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: refresh schema: type: string enum: - async - async_except_on_cache_miss - blocking - force_async - force_blocking - force_cache - lazy_async default: force_cache description: ' Whether to refresh the retrieved insights, how aggressively, and if sync or async: - `''force_cache''` - return cached data or a cache miss; always completes immediately as it never calculates - `''blocking''` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache - `''async''` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache - `''lazy_async''` - kick off background calculation, UNLESS there are somewhat fresh results in the cache - `''force_blocking''` - calculate synchronously, even if fresh results are already cached - `''force_async''` - kick off background calculation, even if fresh results are already cached Background calculation can be tracked using the `query_status` response field.' - in: query name: saved schema: type: boolean description: When truthy, restricts results to insights that are saved (or attached to a visible dashboard). When falsy, only unsaved insights. - in: query name: search schema: type: string description: Case-insensitive substring match across name, derived_name, description, and tag names. - in: query name: short_id schema: type: string - in: query name: tags schema: type: string description: JSON-encoded array of tag names. Returns insights with any of the listed tags. - in: query name: user schema: type: boolean description: Include this parameter (any value) to restrict results to insights created by the authenticated user. tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - insight:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInsightList' text/csv: schema: $ref: '#/components/schemas/PaginatedInsightList' description: '' deprecated: true x-explicit-tags: - product_analytics post: operationId: environments_insights_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/{insight_id}/sharing/: get: operationId: environments_insights_sharing_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: insight_id schema: type: integer required: true tags: - core - insights security: - PersonalAPIKeyAuth: - sharing_configuration:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/insights/{insight_id}/sharing/passwords/: post: operationId: environments_insights_sharing_passwords_create description: Create a new password for the sharing configuration. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: insight_id schema: type: integer required: true tags: - core - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/insights/{insight_id}/sharing/passwords/{password_id}/: delete: operationId: environments_insights_sharing_passwords_destroy description: Delete a password from the sharing configuration. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: insight_id schema: type: integer required: true - in: path name: password_id schema: type: string required: true tags: - core - insights security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '204': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/insights/{insight_id}/sharing/refresh/: post: operationId: environments_insights_sharing_refresh_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: insight_id schema: type: integer required: true tags: - core - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/insights/{insight_id}/thresholds/: get: operationId: environments_insights_thresholds_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: insight_id schema: type: integer required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - insights security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedThresholdWithAlertList' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/insights/{insight_id}/thresholds/{id}/: get: operationId: environments_insights_thresholds_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this threshold. required: true - in: path name: insight_id schema: type: integer required: true tags: - insights security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ThresholdWithAlert' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/insights/{id}/: get: operationId: environments_insights_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: query name: from_dashboard schema: type: integer description: ' Only if loading an insight in the context of a dashboard: The relevant dashboard''s ID. When set, the specified dashboard''s filters and date range override will be applied.' - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true - in: query name: refresh schema: type: string enum: - async - async_except_on_cache_miss - blocking - force_async - force_blocking - force_cache - lazy_async default: force_cache description: ' Whether to refresh the insight, how aggresively, and if sync or async: - `''force_cache''` - return cached data or a cache miss; always completes immediately as it never calculates - `''blocking''` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache - `''async''` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache - `''lazy_async''` - kick off background calculation, UNLESS there are somewhat fresh results in the cache - `''force_blocking''` - calculate synchronously, even if fresh results are already cached - `''force_async''` - kick off background calculation, even if fresh results are already cached Background calculation can be tracked using the `query_status` response field.' tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - insight:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' deprecated: true x-explicit-tags: - product_analytics put: operationId: environments_insights_update description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' deprecated: true x-explicit-tags: - product_analytics patch: operationId: environments_insights_partial_update description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInsight' security: - PersonalAPIKeyAuth: - insight:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' deprecated: true x-explicit-tags: - product_analytics delete: operationId: environments_insights_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - insight:write responses: '405': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/{id}/activity/: get: operationId: environments_insights_activity_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/{id}/analyze/: get: operationId: environments_insights_analyze_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true tags: - product_analytics - insights responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/{id}/suggestions/: get: operationId: environments_insights_suggestions_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true tags: - product_analytics - insights responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics post: operationId: environments_insights_suggestions_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/activity/: get: operationId: environments_insights_all_activity_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/bulk_update_tags/: post: operationId: environments_insights_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' text/csv: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/cancel/: post: operationId: environments_insights_cancel_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/generate_metadata/: post: operationId: environments_insights_generate_metadata_create description: Generate an AI-suggested name and description for an insight based on its query configuration. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:write responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/my_last_viewed/: get: operationId: environments_insights_my_last_viewed_retrieve description: Returns basic details about the last 5 insights viewed by this user. Most recently viewed first. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/trending/: get: operationId: environments_insights_trending_retrieve description: 'Returns trending insights based on view count in the last N days (default 7). Defaults to returning top 10 insights.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/insights/viewed/: post: operationId: environments_insights_viewed_create description: 'Update insight view timestamps. Expects: {"insight_ids": [1, 2, 3, ...]}' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:read responses: '200': description: No response body deprecated: true x-explicit-tags: - product_analytics /api/environments/{environment_id}/integrations/: get: operationId: environments_integrations_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedIntegrationConfigList' description: '' deprecated: true x-explicit-tags: - integrations post: operationId: environments_integrations_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true security: - PersonalAPIKeyAuth: - integration:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' description: '' deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/: get: operationId: environments_integrations_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' description: '' deprecated: true x-explicit-tags: - integrations delete: operationId: environments_integrations_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:write responses: '204': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/channels/: get: operationId: environments_integrations_channels_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SlackChannelsResponse' description: '' deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/clickup_lists/: get: operationId: environments_integrations_clickup_lists_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/clickup_spaces/: get: operationId: environments_integrations_clickup_spaces_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/clickup_workspaces/: get: operationId: environments_integrations_clickup_workspaces_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/email/: patch: operationId: environments_integrations_email_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedIntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedIntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedIntegrationConfig' responses: '200': content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' description: '' deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/email/verify/: post: operationId: environments_integrations_email_verify_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/github_branches/: get: operationId: environments_integrations_github_branches_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - in: query name: limit schema: type: integer maximum: 1000 minimum: 1 default: 100 description: Maximum number of branches to return - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Number of branches to skip - in: query name: repo schema: type: string minLength: 1 description: Repository in owner/repo format required: true - in: query name: search schema: type: string default: '' description: Optional case-insensitive branch name search query. tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubBranchesResponse' description: '' deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/github_repos/: get: operationId: environments_integrations_github_repos_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 100 description: Maximum number of repositories to return per request (max 500). - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Number of repositories to skip before returning results. - in: query name: search schema: type: string default: '' description: Optional case-insensitive repository name search query. tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubReposResponse' description: '' deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/github_repos/refresh/: post: operationId: environments_integrations_github_repos_refresh_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubReposRefreshResponse' description: '' deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/google_accessible_accounts/: get: operationId: environments_integrations_google_accessible_accounts_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/google_conversion_actions/: get: operationId: environments_integrations_google_conversion_actions_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/jira_projects/: get: operationId: environments_integrations_jira_projects_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/linear_teams/: get: operationId: environments_integrations_linear_teams_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/linkedin_ads_accounts/: get: operationId: environments_integrations_linkedin_ads_accounts_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/linkedin_ads_conversion_rules/: get: operationId: environments_integrations_linkedin_ads_conversion_rules_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/{id}/twilio_phone_numbers/: get: operationId: environments_integrations_twilio_phone_numbers_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/authorize/: get: operationId: environments_integrations_authorize_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/domain-connect/apply-url/: post: operationId: environments_integrations_domain_connect_apply_url_create description: 'Unified endpoint for generating Domain Connect apply URLs. Accepts a context ("email" or "proxy") and the relevant resource ID. The backend resolves the domain, template variables, and service ID based on context, then builds the signed apply URL.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/domain-connect/check/: get: operationId: environments_integrations_domain_connect_check_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - integrations - integrations responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/github/link_existing/: post: operationId: environments_integrations_github_link_existing_create description: Reuse a GitHub installation already linked to a sibling team in the same organization. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true security: - PersonalAPIKeyAuth: - integration:write responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/integrations/github/oauth_authorize/: post: operationId: environments_integrations_github_oauth_authorize_create description: Mint a User OAuth URL to bootstrap a fresh `code` when the install flow returns without one. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true security: - PersonalAPIKeyAuth: - integration:write responses: '200': description: No response body deprecated: true x-explicit-tags: - integrations /api/environments/{environment_id}/logs/alerts/: get: operationId: environments_logs_alerts_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsAlertConfigurationList' description: '' deprecated: true x-explicit-tags: - logs post: operationId: environments_logs_alerts_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertConfiguration' security: - PersonalAPIKeyAuth: - logs:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/alerts/{id}/: get: operationId: environments_logs_alerts_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' deprecated: true x-explicit-tags: - logs put: operationId: environments_logs_alerts_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertConfiguration' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' deprecated: true x-explicit-tags: - logs patch: operationId: environments_logs_alerts_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLogsAlertConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLogsAlertConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLogsAlertConfiguration' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' deprecated: true x-explicit-tags: - logs delete: operationId: environments_logs_alerts_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:write responses: '204': description: No response body deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/alerts/{id}/destinations/: post: operationId: environments_logs_alerts_destinations_create description: Create a notification destination for this alert. One HogFunction is created per alert event kind (firing, resolved, ...) atomically. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertCreateDestination' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertCreateDestination' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertCreateDestination' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsAlertDestinationResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/alerts/{id}/destinations/delete/: post: operationId: environments_logs_alerts_destinations_delete_create description: Delete a notification destination by deleting its HogFunction group atomically. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertDeleteDestination' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertDeleteDestination' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertDeleteDestination' required: true responses: '204': description: No response body deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/alerts/{id}/events/: get: operationId: environments_logs_alerts_events_list description: Paginated event history for this alert, newest first. Returns state transitions, errored checks, and user-initiated control-plane rows (reset, enable/disable, snooze/unsnooze, threshold change) — quiet no-op check rows (where state didn't change and there was no error) are filtered out since only the last 10 are kept and they carry no forensic value. Optional `?kind=...` narrows to a single kind. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - logs - logs responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsAlertEventList' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/alerts/{id}/reset/: post: operationId: environments_logs_alerts_reset_create description: Reset a broken alert. Clears the consecutive-failure counter and schedules an immediate recheck. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true tags: - logs - logs responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/alerts/simulate/: post: operationId: environments_logs_alerts_simulate_create description: Simulate a logs alert on historical data using the full state machine. Read-only — no alert check records are created. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertSimulateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertSimulateRequest' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertSimulateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertSimulateResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/attributes/: get: operationId: environments_logs_attributes_retrieve parameters: - in: query name: attribute_type schema: enum: - log - resource type: string minLength: 1 description: 'Type of attributes: "log" for log attributes, "resource" for resource attributes. Defaults to "log". * `log` - log * `resource` - resource' - in: query name: dateRange schema: $ref: '#/components/schemas/_DateRange' description: Date range to search within. Defaults to last hour. - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: filterGroup schema: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' default: [] description: Property filters to narrow which logs are scanned for attributes. - in: query name: limit schema: type: integer maximum: 100 minimum: 1 description: 'Max results (default: 100)' - in: query name: offset schema: type: integer minimum: 0 description: 'Pagination offset (default: 0)' - in: query name: search schema: type: string minLength: 1 description: Search filter for attribute names - in: query name: search_values schema: type: boolean default: false description: When true, the search query also matches attribute values (not just keys). Each result indicates whether it matched on key or value. - in: query name: serviceNames schema: type: array items: type: string default: [] description: Filter attributes to those appearing in logs from these services. tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsAttributesResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/count/: post: operationId: environments_logs_count_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsCountRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsCountRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsCountRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsCountResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/count-ranges/: post: operationId: environments_logs_count_ranges_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsCountRangesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsCountRangesRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsCountRangesRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsCountRangesResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/export/: post: operationId: environments_logs_export_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '201': content: application/json: schema: type: object additionalProperties: true description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/has_logs/: get: operationId: environments_logs_has_logs_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/query/: post: operationId: environments_logs_query_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsQueryRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsQueryRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsQueryRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsQueryResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/sampling_rules/: get: operationId: environments_logs_sampling_rules_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsSamplingRuleList' description: '' deprecated: true x-explicit-tags: - logs post: operationId: environments_logs_sampling_rules_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsSamplingRule' multipart/form-data: schema: $ref: '#/components/schemas/LogsSamplingRule' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/sampling_rules/{id}/: get: operationId: environments_logs_sampling_rules_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' deprecated: true x-explicit-tags: - logs put: operationId: environments_logs_sampling_rules_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsSamplingRule' multipart/form-data: schema: $ref: '#/components/schemas/LogsSamplingRule' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' deprecated: true x-explicit-tags: - logs patch: operationId: environments_logs_sampling_rules_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLogsSamplingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLogsSamplingRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLogsSamplingRule' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' deprecated: true x-explicit-tags: - logs delete: operationId: environments_logs_sampling_rules_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:write responses: '204': description: No response body deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/sampling_rules/{id}/simulate/: post: operationId: environments_logs_sampling_rules_simulate_create description: Dry-run estimate for how much volume this rule would remove (placeholder response until CH-backed simulation is wired). parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true tags: - logs - logs responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRuleSimulateResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/sampling_rules/reorder/: post: operationId: environments_logs_sampling_rules_reorder_create description: Atomically reassign priorities so the given ID order maps to ascending priorities (0..n-1). parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRuleReorder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsSamplingRuleReorder' multipart/form-data: schema: $ref: '#/components/schemas/LogsSamplingRuleReorder' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsSamplingRuleList' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/services/: post: operationId: environments_logs_services_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsServicesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsServicesRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsServicesRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsServicesResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/sparkline/: post: operationId: environments_logs_sparkline_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsSparklineRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsSparklineRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsSparklineRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsSparklineResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/logs/values/: get: operationId: environments_logs_values_retrieve parameters: - in: query name: attribute_type schema: enum: - log - resource type: string minLength: 1 description: 'Type of attribute: "log" or "resource". Defaults to "log". * `log` - log * `resource` - resource' - in: query name: dateRange schema: $ref: '#/components/schemas/_DateRange' description: Date range to search within. Defaults to last hour. - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: filterGroup schema: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' default: [] description: Property filters to narrow which logs are scanned for values. - in: query name: key schema: type: string minLength: 1 description: The attribute key to get values for required: true - in: query name: serviceNames schema: type: array items: type: string default: [] description: Filter values to those appearing in logs from these services. - in: query name: value schema: type: string minLength: 1 description: Search filter for attribute values tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsValuesResponse' description: '' deprecated: true x-explicit-tags: - logs /api/environments/{environment_id}/persisted_folder/: get: operationId: environments_persisted_folder_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - persisted_folder security: - PersonalAPIKeyAuth: - persisted_folder:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPersistedFolderList' description: '' deprecated: true x-explicit-tags: [] post: operationId: environments_persisted_folder_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - persisted_folder requestBody: content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PersistedFolder' multipart/form-data: schema: $ref: '#/components/schemas/PersistedFolder' required: true security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/persisted_folder/{id}/: get: operationId: environments_persisted_folder_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true tags: - persisted_folder security: - PersonalAPIKeyAuth: - persisted_folder:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' deprecated: true x-explicit-tags: [] put: operationId: environments_persisted_folder_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true tags: - persisted_folder requestBody: content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PersistedFolder' multipart/form-data: schema: $ref: '#/components/schemas/PersistedFolder' required: true security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_persisted_folder_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true tags: - persisted_folder requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPersistedFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedPersistedFolder' multipart/form-data: schema: $ref: '#/components/schemas/PatchedPersistedFolder' security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_persisted_folder_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true tags: - persisted_folder security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/persons/: get: operationId: environments_persons_list description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: distinct_id schema: type: string description: Filter list by distinct id. - in: query name: email schema: type: string description: Filter persons by email (exact match) examples: Email: value: test@test.com summary: email - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: properties schema: type: array items: $ref: '#/components/schemas/Property' description: Filter Persons by person properties. - in: query name: search schema: type: string description: Search persons, either by email (full text search) or distinct_id (exact match). tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPersonRecordList' text/csv: schema: $ref: '#/components/schemas/PaginatedPersonRecordList' description: '' deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/{id}/: get: operationId: environments_persons_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonRecord' text/csv: schema: $ref: '#/components/schemas/PersonRecord' description: '' deprecated: true x-explicit-tags: - persons put: operationId: environments_persons_update description: 'Only for setting properties on the person. "properties" from the request data will be updated via a "$set" event. This means that only the properties listed will be updated, but other properties won''t be removed nor updated. If you would like to remove a property use the `delete_property` endpoint.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonRecord' text/csv: schema: $ref: '#/components/schemas/PersonRecord' description: '' deprecated: true x-explicit-tags: - persons patch: operationId: environments_persons_partial_update description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonRecord' text/csv: schema: $ref: '#/components/schemas/PersonRecord' description: '' deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/{id}/activity/: get: operationId: environments_persons_activity_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this person. required: true tags: - persons - persons security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/{id}/delete_property/: post: operationId: environments_persons_delete_property_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonDeletePropertyRequest' required: true security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/{id}/properties_timeline/: get: operationId: environments_persons_properties_timeline_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this person. required: true tags: - persons - persons responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/{id}/split/: post: operationId: environments_persons_split_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this person. required: true tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/{id}/update_property/: post: operationId: environments_persons_update_property_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonUpdatePropertyRequest' required: true security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/activity/: get: operationId: environments_persons_all_activity_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/batch_by_distinct_ids/: post: operationId: environments_persons_batch_by_distinct_ids_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/batch_by_uuids/: post: operationId: environments_persons_batch_by_uuids_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/bulk_delete/: post: operationId: environments_persons_bulk_delete_create description: This endpoint allows you to bulk delete persons, either by the PostHog person IDs or by distinct IDs. You can pass in a maximum of 1000 IDs per call. Only events captured before the request will be deleted. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonBulkDeleteRequest' security: - PersonalAPIKeyAuth: - person:write responses: '202': content: application/json: schema: $ref: '#/components/schemas/PersonBulkDeleteResponse' text/csv: schema: $ref: '#/components/schemas/PersonBulkDeleteResponse' description: '' deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/cohorts/: get: operationId: environments_persons_cohorts_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: query name: person_id schema: type: string description: The person ID or UUID to get cohorts for. required: true tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read - cohort:read responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/deletion_status/: get: operationId: environments_persons_deletion_status_list description: List the status of queued event deletions for persons. When you delete a person with `delete_events=true`, an async deletion is queued. Use this endpoint to check whether those deletions are still pending or have been completed. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: person_uuid schema: type: string format: uuid description: Filter by a specific person UUID. - in: query name: status schema: type: string enum: - all - completed - pending description: 'Filter by deletion status: ''pending'', ''completed'', or ''all''.' tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAsyncDeletionStatusList' text/csv: schema: $ref: '#/components/schemas/PaginatedAsyncDeletionStatusList' description: '' deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/funnel/: get: operationId: environments_persons_funnel_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons responses: '200': description: No response body deprecated: true x-explicit-tags: - persons post: operationId: environments_persons_funnel_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/funnel/correlation/: get: operationId: environments_persons_funnel_correlation_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons responses: '200': description: No response body deprecated: true x-explicit-tags: - persons post: operationId: environments_persons_funnel_correlation_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/lifecycle/: get: operationId: environments_persons_lifecycle_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/properties_at_time/: get: operationId: environments_persons_properties_at_time_retrieve description: 'Get person properties as they existed at a specific point in time. This endpoint reconstructs person properties by querying ClickHouse events for $set and $set_once operations up to the specified timestamp. Query parameters: - distinct_id: The distinct_id of the person - timestamp: ISO datetime string for the point in time (e.g., "2023-06-15T14:30:00Z") - include_set_once: Whether to handle $set_once operations (default: false) - debug: Whether to include debug information with raw events (default: false)' parameters: - in: query name: debug schema: type: boolean description: 'Whether to include debug information with raw events (only works when DEBUG=True, default: false)' - in: query name: distinct_id schema: type: string description: The distinct_id of the person (mutually exclusive with person_id) - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: query name: include_set_once schema: type: boolean description: 'Whether to handle $set_once operations (default: false)' - in: query name: person_id schema: type: string description: The person_id (UUID) to build properties for (mutually exclusive with distinct_id) - in: query name: timestamp schema: type: string description: ISO datetime string for the point in time (e.g., '2023-06-15T14:30:00Z') required: true tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonPropertiesAtTimeResponse' text/csv: schema: $ref: '#/components/schemas/PersonPropertiesAtTimeResponse' description: '' '400': content: application/json: schema: description: Bad request - invalid parameters text/csv: schema: description: Bad request - invalid parameters description: '' '404': content: application/json: schema: description: Person not found text/csv: schema: description: Person not found description: '' '500': content: application/json: schema: description: Internal server error text/csv: schema: description: Internal server error description: '' deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/reset_person_distinct_id/: post: operationId: environments_persons_reset_person_distinct_id_create description: Reset a distinct_id for a deleted person. This allows the distinct_id to be used again. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/trends/: get: operationId: environments_persons_trends_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json tags: - persons - persons responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/persons/values/: get: operationId: environments_persons_values_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: format schema: type: string enum: - csv - json - in: query name: key schema: type: string description: The person property key to get values for (e.g., 'email', 'plan', 'role'). required: true - in: query name: value schema: type: string description: Optional search string to filter values (case-insensitive substring match). tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': description: No response body deprecated: true x-explicit-tags: - persons /api/environments/{environment_id}/plugin_configs/{plugin_config_id}/logs/: get: operationId: environments_plugin_configs_logs_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: path name: plugin_config_id schema: type: integer required: true tags: - plugin_configs security: - PersonalAPIKeyAuth: - plugin:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPluginLogEntryList' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/project_secret_api_keys/: get: operationId: environments_project_secret_api_keys_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - core - project_secret_api_keys security: - PersonalAPIKeyAuth: - project:read - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectSecretAPIKeyList' description: '' deprecated: true x-explicit-tags: - core post: operationId: environments_project_secret_api_keys_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - project_secret_api_keys requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' multipart/form-data: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' required: true security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/project_secret_api_keys/{id}/: get: operationId: environments_project_secret_api_keys_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true tags: - core - project_secret_api_keys security: - PersonalAPIKeyAuth: - project:read - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' deprecated: true x-explicit-tags: - core put: operationId: environments_project_secret_api_keys_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true tags: - core - project_secret_api_keys requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' multipart/form-data: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' required: true security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' deprecated: true x-explicit-tags: - core patch: operationId: environments_project_secret_api_keys_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true tags: - core - project_secret_api_keys requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectSecretAPIKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectSecretAPIKey' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectSecretAPIKey' security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' deprecated: true x-explicit-tags: - core delete: operationId: environments_project_secret_api_keys_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true tags: - core - project_secret_api_keys security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '204': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/project_secret_api_keys/{id}/roll/: post: operationId: environments_project_secret_api_keys_roll_create description: Roll a project secret API key parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true tags: - core - project_secret_api_keys responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/query/: post: operationId: environments_query_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - query requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QueryRequest' multipart/form-data: schema: $ref: '#/components/schemas/QueryRequest' required: true security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryResponseAlternative' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/query/{id}/: get: operationId: environments_query_retrieve description: (Experimental) parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string required: true tags: - query security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryStatusResponse' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_query_destroy description: (Experimental) parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string required: true tags: - query security: - PersonalAPIKeyAuth: - query:read responses: '204': description: Query cancelled deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/query/{id}/log/: get: operationId: environments_query_log_retrieve description: Get query log details from query_log_archive table for a specific query_id, the query must have been issued in last 24 hours. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string required: true tags: - query responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/query/{query_kind}/: post: operationId: environments_query_create_with_kind description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: query_kind schema: type: string pattern: ^[A-Z][A-Za-z]*$ required: true tags: - query responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/query/check_auth_for_async/: post: operationId: environments_query_check_auth_for_async_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - query responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/query/draft_sql/: get: operationId: environments_query_draft_sql_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - query responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/query/upgrade/: post: operationId: environments_query_upgrade_create description: Upgrades a query without executing it. Returns a query with all nodes migrated to the latest version. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - query requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryUpgradeRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QueryUpgradeRequest' multipart/form-data: schema: $ref: '#/components/schemas/QueryUpgradeRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryUpgradeResponse' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/saved/: get: operationId: environments_saved_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - saved security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHeatmapScreenshotResponseList' description: '' deprecated: true x-explicit-tags: [] post: operationId: environments_saved_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - saved requestBody: content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' multipart/form-data: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' required: true security: - PersonalAPIKeyAuth: - heatmap:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' description: '' deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/saved/{short_id}/: get: operationId: environments_saved_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - saved security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_saved_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - saved requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHeatmapScreenshotResponse' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHeatmapScreenshotResponse' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHeatmapScreenshotResponse' security: - PersonalAPIKeyAuth: - heatmap:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_saved_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - saved security: - PersonalAPIKeyAuth: - heatmap:write responses: '405': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/saved/{short_id}/regenerate/: post: operationId: environments_saved_regenerate_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - saved requestBody: content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' multipart/form-data: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/session_recording_playlists/: get: operationId: environments_session_recording_playlists_list description: Override list to include synthetic playlists parameters: - in: query name: created_by schema: type: integer - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: short_id schema: type: string tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSessionRecordingPlaylistList' description: '' deprecated: true x-explicit-tags: - replay post: operationId: environments_session_recording_playlists_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' deprecated: true x-explicit-tags: - replay /api/environments/{environment_id}/session_recording_playlists/{short_id}/: get: operationId: environments_session_recording_playlists_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' deprecated: true x-explicit-tags: - replay put: operationId: environments_session_recording_playlists_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' deprecated: true x-explicit-tags: - replay patch: operationId: environments_session_recording_playlists_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionRecordingPlaylist' security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' deprecated: true x-explicit-tags: - replay delete: operationId: environments_session_recording_playlists_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '405': description: No response body deprecated: true x-explicit-tags: - replay /api/environments/{environment_id}/session_recording_playlists/{short_id}/recordings/: get: operationId: environments_session_recording_playlists_recordings_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:read responses: '200': description: No response body deprecated: true x-explicit-tags: - replay /api/environments/{environment_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/: post: operationId: environments_session_recording_playlists_recordings_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: session_recording_id schema: type: string required: true - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' responses: '200': description: No response body deprecated: true x-explicit-tags: - replay delete: operationId: environments_session_recording_playlists_recordings_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: session_recording_id schema: type: string required: true - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists responses: '204': description: No response body deprecated: true x-explicit-tags: - replay /api/environments/{environment_id}/session_recordings/: get: operationId: environments_session_recordings_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - replay - session_recordings security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSessionRecordingList' description: '' deprecated: true x-explicit-tags: - replay /api/environments/{environment_id}/session_recordings/{id}/: get: operationId: environments_session_recordings_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true tags: - replay - session_recordings security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecording' description: '' deprecated: true x-explicit-tags: - replay put: operationId: environments_session_recordings_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true tags: - replay - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecording' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecording' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecording' security: - PersonalAPIKeyAuth: - session_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecording' description: '' deprecated: true x-explicit-tags: - replay patch: operationId: environments_session_recordings_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true tags: - replay - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionRecording' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionRecording' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionRecording' security: - PersonalAPIKeyAuth: - session_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecording' description: '' deprecated: true x-explicit-tags: - replay delete: operationId: environments_session_recordings_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true tags: - replay - session_recordings security: - PersonalAPIKeyAuth: - session_recording:write responses: '204': description: No response body deprecated: true x-explicit-tags: - replay /api/environments/{environment_id}/session_recordings/{recording_id}/sharing/: get: operationId: environments_session_recordings_sharing_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings security: - PersonalAPIKeyAuth: - sharing_configuration:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/session_recordings/{recording_id}/sharing/passwords/: post: operationId: environments_session_recordings_sharing_passwords_create description: Create a new password for the sharing configuration. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/session_recordings/{recording_id}/sharing/passwords/{password_id}/: delete: operationId: environments_session_recordings_sharing_passwords_destroy description: Delete a password from the sharing configuration. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: password_id schema: type: string required: true - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '204': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/session_recordings/{recording_id}/sharing/refresh/: post: operationId: environments_session_recordings_sharing_refresh_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/sessions/property_definitions/: get: operationId: environments_sessions_property_definitions_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - sessions security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/sessions/values/: get: operationId: environments_sessions_values_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - sessions security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/subscriptions/: get: operationId: environments_subscriptions_list parameters: - in: query name: created_by schema: type: string description: Filter by creator user UUID. - in: query name: dashboard schema: type: integer description: Filter by dashboard ID. - $ref: '#/components/parameters/EnvironmentIdPath' - in: query name: insight schema: type: integer description: Filter by insight ID. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string - in: query name: resource_type schema: type: string enum: - dashboard - insight description: 'Filter by subscription resource: insight vs dashboard export.' - name: search required: false in: query description: A search term. schema: type: string - in: query name: target_type schema: type: string enum: - email - slack - webhook description: Filter by delivery channel (email, Slack, or webhook). tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSubscriptionList' description: '' deprecated: true x-explicit-tags: - core post: operationId: environments_subscriptions_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - core - subscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Subscription' multipart/form-data: schema: $ref: '#/components/schemas/Subscription' required: true security: - PersonalAPIKeyAuth: - subscription:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/subscriptions/{id}/: get: operationId: environments_subscriptions_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' deprecated: true x-explicit-tags: - core put: operationId: environments_subscriptions_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true tags: - core - subscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Subscription' multipart/form-data: schema: $ref: '#/components/schemas/Subscription' required: true security: - PersonalAPIKeyAuth: - subscription:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' deprecated: true x-explicit-tags: - core patch: operationId: environments_subscriptions_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true tags: - core - subscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSubscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSubscription' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSubscription' security: - PersonalAPIKeyAuth: - subscription:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' deprecated: true x-explicit-tags: - core delete: operationId: environments_subscriptions_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:write responses: '405': description: No response body deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/subscriptions/{id}/test-delivery/: post: operationId: environments_subscriptions_test_delivery_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:write responses: '202': description: Test delivery workflow started deprecated: true x-explicit-tags: - core /api/environments/{environment_id}/warehouse_saved_queries/: get: operationId: environments_warehouse_saved_queries_list description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataWarehouseSavedQueryMinimalList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_warehouse_saved_queries_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/: get: operationId: environments_warehouse_saved_queries_retrieve description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse put: operationId: environments_warehouse_saved_queries_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse patch: operationId: environments_warehouse_saved_queries_partial_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQuery' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse delete: operationId: environments_warehouse_saved_queries_destroy description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/activity/: get: operationId: environments_warehouse_saved_queries_activity_retrieve description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/ancestors/: post: operationId: environments_warehouse_saved_queries_ancestors_create description: 'Return the ancestors of this saved query. By default, we return the immediate parents. The `level` parameter can be used to look further back into the ancestor tree. If `level` overshoots (i.e. points to only ancestors beyond the root), we return an empty list.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/cancel/: post: operationId: environments_warehouse_saved_queries_cancel_create description: Cancel a running saved query workflow. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/dependencies/: get: operationId: environments_warehouse_saved_queries_dependencies_retrieve description: Return the count of immediate upstream and downstream dependencies for this saved query. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/descendants/: post: operationId: environments_warehouse_saved_queries_descendants_create description: 'Return the descendants of this saved query. By default, we return the immediate children. The `level` parameter can be used to look further ahead into the descendants tree. If `level` overshoots (i.e. points to only descendants further than a leaf), we return an empty list.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/materialize/: post: operationId: environments_warehouse_saved_queries_materialize_create description: Enable materialization for this saved query with a 24-hour sync frequency. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/revert_materialization/: post: operationId: environments_warehouse_saved_queries_revert_materialization_create description: 'Undo materialization, revert back to the original view. (i.e. delete the materialized table and the schedule)' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/run/: post: operationId: environments_warehouse_saved_queries_run_create description: Run this saved query. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/{id}/run_history/: get: operationId: environments_warehouse_saved_queries_run_history_retrieve description: Return the recent run history (up to 5 most recent) for this materialized view. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_queries/resume_schedules/: post: operationId: environments_warehouse_saved_queries_resume_schedules_create description: 'Resume paused materialization schedules for multiple matviews. Accepts a list of view IDs in the request body: {"view_ids": ["id1", "id2", ...]} This endpoint is idempotent - calling it on already running or non-existent schedules is safe.' parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_query_folders/: get: operationId: environments_warehouse_saved_query_folders_list parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - warehouse_saved_query_folders security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_warehouse_saved_query_folders_create parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - data_warehouse - warehouse_saved_query_folders requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_saved_query_folders/{id}/: get: operationId: environments_warehouse_saved_query_folders_retrieve parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query folder. required: true tags: - data_warehouse - warehouse_saved_query_folders security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' deprecated: true x-explicit-tags: - data_warehouse patch: operationId: environments_warehouse_saved_query_folders_partial_update parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query folder. required: true tags: - data_warehouse - warehouse_saved_query_folders requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQueryFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQueryFolder' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQueryFolder' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' deprecated: true x-explicit-tags: - data_warehouse delete: operationId: environments_warehouse_saved_query_folders_destroy parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query folder. required: true tags: - data_warehouse - warehouse_saved_query_folders security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_tables/: get: operationId: environments_warehouse_tables_list description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - warehouse_tables security: - PersonalAPIKeyAuth: - warehouse_table:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTableList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_warehouse_tables_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_tables/{id}/: get: operationId: environments_warehouse_tables_retrieve description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true tags: - warehouse_tables security: - PersonalAPIKeyAuth: - warehouse_table:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' deprecated: true x-explicit-tags: [] put: operationId: environments_warehouse_tables_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_warehouse_tables_partial_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTable' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTable' security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_warehouse_tables_destroy description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true tags: - warehouse_tables security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/warehouse_tables/{id}/refresh_schema/: post: operationId: environments_warehouse_tables_refresh_schema_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/warehouse_tables/{id}/update_schema/: post: operationId: environments_warehouse_tables_update_schema_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/warehouse_tables/file/: post: operationId: environments_warehouse_tables_file_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - warehouse_tables requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' required: true security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_view_link/: get: operationId: environments_warehouse_view_link_list description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - warehouse_view_link security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedViewLinkList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_warehouse_view_link_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_view_link/{id}/: get: operationId: environments_warehouse_view_link_retrieve description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_link security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: [] put: operationId: environments_warehouse_view_link_update description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_warehouse_view_link_partial_update description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedViewLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedViewLink' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_warehouse_view_link_destroy description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_link security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/warehouse_view_link/validate/: post: operationId: environments_warehouse_view_link_validate_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLinkValidation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLinkValidation' multipart/form-data: schema: $ref: '#/components/schemas/ViewLinkValidation' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_view_links/: get: operationId: environments_warehouse_view_links_list description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string tags: - warehouse_view_links security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedViewLinkList' description: '' deprecated: true x-explicit-tags: - data_warehouse post: operationId: environments_warehouse_view_links_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: - data_warehouse /api/environments/{environment_id}/warehouse_view_links/{id}/: get: operationId: environments_warehouse_view_links_retrieve description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_links security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: [] put: operationId: environments_warehouse_view_links_update description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: [] patch: operationId: environments_warehouse_view_links_partial_update description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedViewLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedViewLink' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' deprecated: true x-explicit-tags: [] delete: operationId: environments_warehouse_view_links_destroy description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true tags: - warehouse_view_links security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body deprecated: true x-explicit-tags: [] /api/environments/{environment_id}/warehouse_view_links/validate/: post: operationId: environments_warehouse_view_links_validate_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/EnvironmentIdPath' tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLinkValidation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLinkValidation' multipart/form-data: schema: $ref: '#/components/schemas/ViewLinkValidation' required: true responses: '200': description: No response body deprecated: true x-explicit-tags: - data_warehouse /api/environments/{project_id}/approval_policies/: get: operationId: approval_policies_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - approval_policies security: - PersonalAPIKeyAuth: - approvals:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedApprovalPolicyList' description: '' x-explicit-tags: - platform_features post: operationId: approval_policies_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - approval_policies requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalPolicy' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ApprovalPolicy' multipart/form-data: schema: $ref: '#/components/schemas/ApprovalPolicy' required: true security: - PersonalAPIKeyAuth: - approvals:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ApprovalPolicy' description: '' x-explicit-tags: - platform_features /api/environments/{project_id}/approval_policies/{id}/: get: operationId: approval_policies_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this approval policy. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - approval_policies security: - PersonalAPIKeyAuth: - approvals:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ApprovalPolicy' description: '' x-explicit-tags: - platform_features put: operationId: approval_policies_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this approval policy. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - approval_policies requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalPolicy' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ApprovalPolicy' multipart/form-data: schema: $ref: '#/components/schemas/ApprovalPolicy' required: true security: - PersonalAPIKeyAuth: - approvals:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ApprovalPolicy' description: '' x-explicit-tags: - platform_features patch: operationId: approval_policies_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this approval policy. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - approval_policies requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedApprovalPolicy' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedApprovalPolicy' multipart/form-data: schema: $ref: '#/components/schemas/PatchedApprovalPolicy' security: - PersonalAPIKeyAuth: - approvals:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ApprovalPolicy' description: '' x-explicit-tags: - platform_features delete: operationId: approval_policies_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this approval policy. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - approval_policies security: - PersonalAPIKeyAuth: - approvals:write responses: '204': description: No response body x-explicit-tags: - platform_features /api/environments/{project_id}/change_requests/: get: operationId: change_requests_list parameters: - in: query name: action_key schema: type: string - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: requester schema: type: number - in: query name: resource_id schema: type: string - in: query name: resource_type schema: type: string - in: query name: state schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form tags: - platform_features - change_requests security: - PersonalAPIKeyAuth: - approvals:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedChangeRequestList' description: '' x-explicit-tags: - platform_features /api/environments/{project_id}/change_requests/{id}/: get: operationId: change_requests_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this change request. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - change_requests security: - PersonalAPIKeyAuth: - approvals:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' description: '' x-explicit-tags: - platform_features /api/environments/{project_id}/change_requests/{id}/approve/: post: operationId: change_requests_approve_create description: 'Approve a change request. If quorum is reached, automatically applies the change immediately.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this change request. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - change_requests requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ChangeRequest' multipart/form-data: schema: $ref: '#/components/schemas/ChangeRequest' security: - PersonalAPIKeyAuth: - approvals:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' description: '' x-explicit-tags: - platform_features /api/environments/{project_id}/change_requests/{id}/cancel/: post: operationId: change_requests_cancel_create description: 'Cancel a change request. Only the requester can cancel their own pending change request.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this change request. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - change_requests requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ChangeRequest' multipart/form-data: schema: $ref: '#/components/schemas/ChangeRequest' security: - PersonalAPIKeyAuth: - approvals:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' description: '' x-explicit-tags: - platform_features /api/environments/{project_id}/change_requests/{id}/reject/: post: operationId: change_requests_reject_create description: Reject a change request. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this change request. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - change_requests requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ChangeRequest' multipart/form-data: schema: $ref: '#/components/schemas/ChangeRequest' security: - PersonalAPIKeyAuth: - approvals:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ChangeRequest' description: '' x-explicit-tags: - platform_features /api/environments/{project_id}/conversations/: get: operationId: conversations_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations security: - PersonalAPIKeyAuth: - conversation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedConversationMinimalList' description: '' x-explicit-tags: - max post: operationId: conversations_create description: 'Unified endpoint that handles both conversation creation and streaming. - If message is provided: Start new conversation processing - If no message: Stream from existing conversation' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/Message' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Message' multipart/form-data: schema: $ref: '#/components/schemas/Message' required: true security: - PersonalAPIKeyAuth: - conversation:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Message' description: '' x-explicit-tags: - max /api/environments/{project_id}/conversations/{conversation}/: get: operationId: conversations_retrieve parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations security: - PersonalAPIKeyAuth: - conversation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Conversation' description: '' x-explicit-tags: - max /api/environments/{project_id}/conversations/{conversation}/append_message/: post: operationId: conversations_append_message_create description: 'Appends a message to an existing conversation without triggering AI processing. This is used for client-side generated messages that need to be persisted (e.g., support ticket confirmation messages).' parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/MessageMinimal' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MessageMinimal' multipart/form-data: schema: $ref: '#/components/schemas/MessageMinimal' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/MessageMinimal' description: '' x-explicit-tags: - max /api/environments/{project_id}/conversations/{conversation}/cancel/: patch: operationId: conversations_cancel_partial_update parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedConversation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedConversation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedConversation' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Conversation' description: '' x-explicit-tags: - max /api/environments/{project_id}/conversations/{conversation}/queue/: get: operationId: conversations_queue_retrieve parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations responses: '200': content: application/json: schema: $ref: '#/components/schemas/Conversation' description: '' x-explicit-tags: - max post: operationId: conversations_queue_create parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/Conversation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Conversation' multipart/form-data: schema: $ref: '#/components/schemas/Conversation' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Conversation' description: '' x-explicit-tags: - max /api/environments/{project_id}/conversations/{conversation}/queue/{queue_id}/: patch: operationId: conversations_queue_partial_update parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: queue_id schema: type: string required: true tags: - max - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedConversation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedConversation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedConversation' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Conversation' description: '' x-explicit-tags: - max delete: operationId: conversations_queue_destroy parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: queue_id schema: type: string required: true tags: - max - conversations responses: '204': description: No response body x-explicit-tags: - max /api/environments/{project_id}/conversations/{conversation}/queue/clear/: post: operationId: conversations_queue_clear_create parameters: - in: path name: conversation schema: type: string format: uuid description: A UUID string identifying this conversation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - max - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/Conversation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Conversation' multipart/form-data: schema: $ref: '#/components/schemas/Conversation' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Conversation' description: '' x-explicit-tags: - max /api/environments/{project_id}/conversations/views/: get: operationId: conversations_views_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations - conversations security: - PersonalAPIKeyAuth: - conversation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTicketViewList' description: '' x-explicit-tags: - conversations post: operationId: conversations_views_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/TicketView' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TicketView' multipart/form-data: schema: $ref: '#/components/schemas/TicketView' required: true security: - PersonalAPIKeyAuth: - conversation:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/TicketView' description: '' x-explicit-tags: - conversations /api/environments/{project_id}/conversations/views/{short_id}/: get: operationId: conversations_views_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - conversations - conversations security: - PersonalAPIKeyAuth: - conversation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TicketView' description: '' x-explicit-tags: - conversations delete: operationId: conversations_views_destroy parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - conversations - conversations security: - PersonalAPIKeyAuth: - conversation:write responses: '204': description: No response body x-explicit-tags: - conversations /api/environments/{project_id}/customer_journeys/: get: operationId: customer_journeys_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_journeys security: - PersonalAPIKeyAuth: - customer_journey:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCustomerJourneyList' description: '' x-explicit-tags: - customer_analytics post: operationId: customer_journeys_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_journeys requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerJourney' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CustomerJourney' multipart/form-data: schema: $ref: '#/components/schemas/CustomerJourney' required: true security: - PersonalAPIKeyAuth: - customer_journey:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/CustomerJourney' description: '' x-explicit-tags: - customer_analytics /api/environments/{project_id}/customer_journeys/{id}/: get: operationId: customer_journeys_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer journey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_journeys security: - PersonalAPIKeyAuth: - customer_journey:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomerJourney' description: '' x-explicit-tags: [] put: operationId: customer_journeys_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer journey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_journeys requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerJourney' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CustomerJourney' multipart/form-data: schema: $ref: '#/components/schemas/CustomerJourney' required: true security: - PersonalAPIKeyAuth: - customer_journey:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomerJourney' description: '' x-explicit-tags: [] patch: operationId: customer_journeys_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer journey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_journeys requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCustomerJourney' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCustomerJourney' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCustomerJourney' security: - PersonalAPIKeyAuth: - customer_journey:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomerJourney' description: '' x-explicit-tags: [] delete: operationId: customer_journeys_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer journey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_journeys security: - PersonalAPIKeyAuth: - customer_journey:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/customer_profile_configs/: get: operationId: customer_profile_configs_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_profile_configs security: - PersonalAPIKeyAuth: - customer_profile_config:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCustomerProfileConfigList' description: '' x-explicit-tags: - customer_analytics post: operationId: customer_profile_configs_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_profile_configs requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerProfileConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CustomerProfileConfig' multipart/form-data: schema: $ref: '#/components/schemas/CustomerProfileConfig' required: true security: - PersonalAPIKeyAuth: - customer_profile_config:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/CustomerProfileConfig' description: '' x-explicit-tags: - customer_analytics /api/environments/{project_id}/customer_profile_configs/{id}/: get: operationId: customer_profile_configs_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer profile config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_profile_configs security: - PersonalAPIKeyAuth: - customer_profile_config:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomerProfileConfig' description: '' x-explicit-tags: [] put: operationId: customer_profile_configs_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer profile config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_profile_configs requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerProfileConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CustomerProfileConfig' multipart/form-data: schema: $ref: '#/components/schemas/CustomerProfileConfig' required: true security: - PersonalAPIKeyAuth: - customer_profile_config:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomerProfileConfig' description: '' x-explicit-tags: [] patch: operationId: customer_profile_configs_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer profile config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_profile_configs requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCustomerProfileConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCustomerProfileConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCustomerProfileConfig' security: - PersonalAPIKeyAuth: - customer_profile_config:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/CustomerProfileConfig' description: '' x-explicit-tags: [] delete: operationId: customer_profile_configs_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this customer profile config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_profile_configs security: - PersonalAPIKeyAuth: - customer_profile_config:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/desktop_recordings/: get: operationId: desktop_recordings_list description: 'RESTful API for managing desktop meeting recordings. Standard CRUD operations plus transcript management as a subresource.' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings security: - PersonalAPIKeyAuth: - desktop_recording:read - PersonalAPIKeyAuth: - desktop_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDesktopRecordingList' description: '' x-explicit-tags: - desktop_recordings post: operationId: desktop_recordings_create description: Create a new recording and get Recall.ai upload token for the desktop SDK parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRecordingRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateRecordingRequest' multipart/form-data: schema: $ref: '#/components/schemas/CreateRecordingRequest' security: - PersonalAPIKeyAuth: - desktop_recording:write - PersonalAPIKeyAuth: - desktop_recording:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateRecordingResponse' description: '' x-explicit-tags: - desktop_recordings /api/environments/{project_id}/desktop_recordings/{id}/: get: operationId: desktop_recordings_retrieve description: 'RESTful API for managing desktop meeting recordings. Standard CRUD operations plus transcript management as a subresource.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this desktop recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings security: - PersonalAPIKeyAuth: - desktop_recording:read - PersonalAPIKeyAuth: - desktop_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DesktopRecording' description: '' x-explicit-tags: - desktop_recordings put: operationId: desktop_recordings_update description: 'RESTful API for managing desktop meeting recordings. Standard CRUD operations plus transcript management as a subresource.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this desktop recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/DesktopRecording' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DesktopRecording' multipart/form-data: schema: $ref: '#/components/schemas/DesktopRecording' required: true security: - PersonalAPIKeyAuth: - desktop_recording:write - PersonalAPIKeyAuth: - desktop_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DesktopRecording' description: '' x-explicit-tags: - desktop_recordings patch: operationId: desktop_recordings_partial_update description: 'RESTful API for managing desktop meeting recordings. Standard CRUD operations plus transcript management as a subresource.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this desktop recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDesktopRecording' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDesktopRecording' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDesktopRecording' security: - PersonalAPIKeyAuth: - desktop_recording:write - PersonalAPIKeyAuth: - desktop_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DesktopRecording' description: '' x-explicit-tags: - desktop_recordings delete: operationId: desktop_recordings_destroy description: 'RESTful API for managing desktop meeting recordings. Standard CRUD operations plus transcript management as a subresource.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this desktop recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings security: - PersonalAPIKeyAuth: - desktop_recording:write - PersonalAPIKeyAuth: - desktop_recording:write responses: '204': description: No response body x-explicit-tags: - desktop_recordings /api/environments/{project_id}/desktop_recordings/{id}/append_segments/: post: operationId: desktop_recordings_append_segments_create description: Append transcript segments (supports batched real-time streaming) parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this desktop recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - desktop_recordings - desktop_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/AppendSegments' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AppendSegments' multipart/form-data: schema: $ref: '#/components/schemas/AppendSegments' required: true security: - PersonalAPIKeyAuth: - desktop_recording:write - PersonalAPIKeyAuth: - desktop_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DesktopRecording' description: '' x-explicit-tags: - desktop_recordings /api/environments/{project_id}/error_tracking/assignment_rules/: get: operationId: error_tracking_assignment_rules_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingAssignmentRuleList' description: '' x-explicit-tags: - error_tracking post: operationId: error_tracking_assignment_rules_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRuleCreateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRuleCreateRequest' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRuleCreateRequest' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRule' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/assignment_rules/{id}/: get: operationId: error_tracking_assignment_rules_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking assignment rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRule' description: '' x-explicit-tags: [] put: operationId: error_tracking_assignment_rules_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking assignment rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRuleUpdateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRuleUpdateRequest' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingAssignmentRuleUpdateRequest' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: [] patch: operationId: error_tracking_assignment_rules_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking assignment rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingAssignmentRuleUpdateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingAssignmentRuleUpdateRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingAssignmentRuleUpdateRequest' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: [] delete: operationId: error_tracking_assignment_rules_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking assignment rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/error_tracking/assignment_rules/reorder/: patch: operationId: error_tracking_assignment_rules_reorder_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingAssignmentRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingAssignmentRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingAssignmentRule' responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/fingerprints/: get: operationId: error_tracking_fingerprints_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingFingerprintList' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/fingerprints/{id}/: get: operationId: error_tracking_fingerprints_retrieve parameters: - in: path name: id schema: type: string format: uuid description: Fingerprint ID. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingFingerprint' description: '' x-explicit-tags: - error_tracking delete: operationId: error_tracking_fingerprints_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking responses: '405': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/git-provider-file-links/resolve_github/: get: operationId: error_tracking_git_provider_file_links_resolve_github_retrieve parameters: - in: query name: code_sample schema: type: string minLength: 1 description: Code snippet to search for in repository files. required: true - in: query name: file_name schema: type: string minLength: 1 description: File name to match in search results. required: true - in: query name: owner schema: type: string minLength: 1 description: Repository owner or namespace. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: repository schema: type: string minLength: 1 description: Repository name. required: true tags: - error_tracking - error_tracking responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitProviderFileLinkResolveResponse' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/git-provider-file-links/resolve_gitlab/: get: operationId: error_tracking_git_provider_file_links_resolve_gitlab_retrieve parameters: - in: query name: code_sample schema: type: string minLength: 1 description: Code snippet to search for in repository files. required: true - in: query name: file_name schema: type: string minLength: 1 description: File name to match in search results. required: true - in: query name: owner schema: type: string minLength: 1 description: Repository owner or namespace. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: repository schema: type: string minLength: 1 description: Repository name. required: true tags: - error_tracking - error_tracking responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitProviderFileLinkResolveResponse' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/grouping_rules/: get: operationId: error_tracking_grouping_rules_list parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRuleListResponse' description: '' x-explicit-tags: - error_tracking post: operationId: error_tracking_grouping_rules_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRuleCreateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRuleCreateRequest' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRuleCreateRequest' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/grouping_rules/{id}/: get: operationId: error_tracking_grouping_rules_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking grouping rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' description: '' x-explicit-tags: [] put: operationId: error_tracking_grouping_rules_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking grouping rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' description: '' x-explicit-tags: [] patch: operationId: error_tracking_grouping_rules_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking grouping rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingGroupingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingGroupingRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingGroupingRule' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingGroupingRule' description: '' x-explicit-tags: [] delete: operationId: error_tracking_grouping_rules_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking grouping rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/error_tracking/grouping_rules/reorder/: patch: operationId: error_tracking_grouping_rules_reorder_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingGroupingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingGroupingRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingGroupingRule' responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/: get: operationId: error_tracking_issues_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingIssueFullList' description: '' x-explicit-tags: - error_tracking post: operationId: error_tracking_issues_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/{id}/: get: operationId: error_tracking_issues_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' description: '' x-explicit-tags: - error_tracking put: operationId: error_tracking_issues_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' description: '' x-explicit-tags: - error_tracking patch: operationId: error_tracking_issues_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingIssueFull' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingIssueFull' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingIssueFull' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' description: '' x-explicit-tags: - error_tracking delete: operationId: error_tracking_issues_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '405': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/{id}/activity/: get: operationId: error_tracking_issues_activity_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/{id}/assign/: patch: operationId: error_tracking_issues_assign_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingIssueFull' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingIssueFull' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingIssueFull' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/{id}/cohort/: put: operationId: error_tracking_issues_cohort_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/{id}/merge/: post: operationId: error_tracking_issues_merge_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueMergeRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingIssueMergeRequest' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingIssueMergeRequest' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueMergeResponse' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/{id}/split/: post: operationId: error_tracking_issues_split_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueSplitRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingIssueSplitRequest' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingIssueSplitRequest' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueSplitResponse' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/activity/: get: operationId: error_tracking_issues_all_activity_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/bulk/: post: operationId: error_tracking_issues_bulk_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingIssueFull' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/exists/: get: operationId: error_tracking_issues_exists_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/issues/values/: get: operationId: error_tracking_issues_values_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/recommendations/: get: operationId: error_tracking_recommendations_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingRecommendationList' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/recommendations/{id}/dismiss/: post: operationId: error_tracking_recommendations_dismiss_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking recommendation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRecommendation' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/recommendations/{id}/refresh/: post: operationId: error_tracking_recommendations_refresh_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking recommendation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRecommendation' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/recommendations/{id}/restore/: post: operationId: error_tracking_recommendations_restore_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking recommendation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRecommendation' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/spike_detection_config/: get: operationId: error_tracking_spike_detection_config_list parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ErrorTrackingSpikeDetectionConfig' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/spike_detection_config/update_config/: patch: operationId: error_tracking_spike_detection_config_update_config_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingSpikeDetectionConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingSpikeDetectionConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingSpikeDetectionConfig' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSpikeDetectionConfig' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/spike_events/: get: operationId: error_tracking_spike_events_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingSpikeEventList' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/stack_frames/: get: operationId: error_tracking_stack_frames_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingStackFrameList' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/stack_frames/{id}/: get: operationId: error_tracking_stack_frames_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking stack frame. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingStackFrame' description: '' x-explicit-tags: - error_tracking delete: operationId: error_tracking_stack_frames_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking stack frame. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking responses: '405': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/stack_frames/batch_get/: post: operationId: error_tracking_stack_frames_batch_get_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingStackFrame' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingStackFrame' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingStackFrame' required: true security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/suppression_rules/: get: operationId: error_tracking_suppression_rules_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingSuppressionRuleList' description: '' x-explicit-tags: - error_tracking post: operationId: error_tracking_suppression_rules_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRuleCreateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRuleCreateRequest' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRuleCreateRequest' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' description: '' x-explicit-tags: - error_tracking /api/environments/{project_id}/error_tracking/suppression_rules/{id}/: get: operationId: error_tracking_suppression_rules_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking suppression rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' description: '' x-explicit-tags: [] put: operationId: error_tracking_suppression_rules_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking suppression rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' description: '' x-explicit-tags: [] patch: operationId: error_tracking_suppression_rules_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking suppression rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingSuppressionRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingSuppressionRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingSuppressionRule' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' description: '' x-explicit-tags: [] delete: operationId: error_tracking_suppression_rules_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking suppression rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/error_tracking/suppression_rules/reorder/: patch: operationId: error_tracking_suppression_rules_reorder_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingSuppressionRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingSuppressionRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingSuppressionRule' responses: '200': description: No response body x-explicit-tags: - error_tracking /api/environments/{project_id}/evaluation_runs/: post: operationId: evaluation_runs_create description: 'Create a new evaluation run. This endpoint validates the request and enqueues a Temporal workflow to asynchronously execute the evaluation.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluation_runs requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationRunRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EvaluationRunRequest' multipart/form-data: schema: $ref: '#/components/schemas/EvaluationRunRequest' required: true security: - PersonalAPIKeyAuth: - evaluation:write responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/evaluations/: get: operationId: evaluations_list parameters: - in: query name: enabled schema: type: boolean description: Filter by enabled status - in: query name: id__in schema: type: array items: type: string format: uuid description: Multiple values may be separated by commas. explode: false style: form - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: array items: type: string enum: - -created_at - -name - -updated_at - created_at - name - updated_at description: 'Ordering * `created_at` - Created At * `-created_at` - Created At (descending) * `updated_at` - Updated At * `-updated_at` - Updated At (descending) * `name` - Name * `-name` - Name (descending)' explode: false style: form - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search in name or description tags: - llm_analytics - evaluations security: - PersonalAPIKeyAuth: - evaluation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEvaluationList' description: '' x-explicit-tags: - llm_analytics post: operationId: evaluations_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluations requestBody: content: application/json: schema: $ref: '#/components/schemas/Evaluation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Evaluation' multipart/form-data: schema: $ref: '#/components/schemas/Evaluation' required: true security: - PersonalAPIKeyAuth: - evaluation:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Evaluation' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/evaluations/{id}/: get: operationId: evaluations_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluations security: - PersonalAPIKeyAuth: - evaluation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Evaluation' description: '' x-explicit-tags: - llm_analytics put: operationId: evaluations_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluations requestBody: content: application/json: schema: $ref: '#/components/schemas/Evaluation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Evaluation' multipart/form-data: schema: $ref: '#/components/schemas/Evaluation' required: true security: - PersonalAPIKeyAuth: - evaluation:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Evaluation' description: '' x-explicit-tags: - llm_analytics patch: operationId: evaluations_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEvaluation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEvaluation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEvaluation' security: - PersonalAPIKeyAuth: - evaluation:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Evaluation' description: '' x-explicit-tags: - llm_analytics delete: operationId: evaluations_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluations security: - PersonalAPIKeyAuth: - evaluation:write responses: '405': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/evaluations/test_hog/: post: operationId: evaluations_test_hog_create description: Test Hog evaluation code against sample events without saving. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - evaluations requestBody: content: application/json: schema: $ref: '#/components/schemas/TestHogRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TestHogRequest' multipart/form-data: schema: $ref: '#/components/schemas/TestHogRequest' required: true security: - PersonalAPIKeyAuth: - evaluation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TestHogResponse' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/event_filter/: get: operationId: event_filter_retrieve description: Returns the event filter config for the team, or null if not yet created. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - event_filter security: - PersonalAPIKeyAuth: - event_filter:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventFilterConfig' description: '' x-explicit-tags: [] post: operationId: event_filter_create description: Create or update the event filter config. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - event_filter requestBody: content: application/json: schema: $ref: '#/components/schemas/EventFilterConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EventFilterConfig' multipart/form-data: schema: $ref: '#/components/schemas/EventFilterConfig' security: - PersonalAPIKeyAuth: - event_filter:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventFilterConfig' description: '' x-explicit-tags: [] /api/environments/{project_id}/event_filter/metrics/: get: operationId: event_filter_metrics_retrieve description: 'Single event filter per team. GET /event_filter/ — returns the config (or null if not yet created) POST /event_filter/ — creates or updates the config (upsert) GET /event_filter/metrics/ — time-series metrics GET /event_filter/metrics/totals/ — aggregate totals' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - event_filter security: - PersonalAPIKeyAuth: - event_filter:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsResponse' description: '' x-explicit-tags: [] /api/environments/{project_id}/event_filter/metrics/totals/: get: operationId: event_filter_metrics_totals_retrieve description: 'Single event filter per team. GET /event_filter/ — returns the config (or null if not yet created) POST /event_filter/ — creates or updates the config (upsert) GET /event_filter/metrics/ — time-series metrics GET /event_filter/metrics/totals/ — aggregate totals' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - event_filter security: - PersonalAPIKeyAuth: - event_filter:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsTotalsResponse' description: '' x-explicit-tags: [] /api/environments/{project_id}/health_issues/: get: operationId: health_issues_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - health_issues security: - PersonalAPIKeyAuth: - health_issue:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHealthIssueList' description: '' x-explicit-tags: [] /api/environments/{project_id}/health_issues/{id}/: get: operationId: health_issues_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this health issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - health_issues security: - PersonalAPIKeyAuth: - health_issue:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HealthIssue' description: '' x-explicit-tags: [] patch: operationId: health_issues_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this health issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - health_issues requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHealthIssue' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHealthIssue' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHealthIssue' security: - PersonalAPIKeyAuth: - health_issue:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HealthIssue' description: '' x-explicit-tags: [] /api/environments/{project_id}/health_issues/{id}/resolve/: post: operationId: health_issues_resolve_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this health issue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - health_issues requestBody: content: application/json: schema: $ref: '#/components/schemas/HealthIssue' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HealthIssue' multipart/form-data: schema: $ref: '#/components/schemas/HealthIssue' responses: '200': content: application/json: schema: $ref: '#/components/schemas/HealthIssue' description: '' x-explicit-tags: [] /api/environments/{project_id}/health_issues/summary/: get: operationId: health_issues_summary_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - health_issues security: - PersonalAPIKeyAuth: - health_issue:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HealthIssue' description: '' x-explicit-tags: [] /api/environments/{project_id}/lineage/get_upstream/: get: operationId: lineage_get_upstream_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - lineage responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/environments/{project_id}/llm_analytics/clustering_config/: get: operationId: llm_analytics_clustering_config_retrieve description: Team-level clustering configuration (event filters for automated pipelines). parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/clustering_config/set_event_filters/: post: operationId: llm_analytics_clustering_config_set_event_filters_create description: Team-level clustering configuration (event filters for automated pipelines). parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/clustering_jobs/: get: operationId: llm_analytics_clustering_jobs_list description: CRUD for clustering job configurations (max 5 per team). parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedClusteringJobList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_clustering_jobs_create description: CRUD for clustering job configurations (max 5 per team). parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusteringJob' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ClusteringJob' multipart/form-data: schema: $ref: '#/components/schemas/ClusteringJob' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ClusteringJob' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/clustering_jobs/{id}/: get: operationId: llm_analytics_clustering_jobs_retrieve description: CRUD for clustering job configurations (max 5 per team). parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this clustering job. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ClusteringJob' description: '' x-explicit-tags: [] put: operationId: llm_analytics_clustering_jobs_update description: CRUD for clustering job configurations (max 5 per team). parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this clustering job. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusteringJob' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ClusteringJob' multipart/form-data: schema: $ref: '#/components/schemas/ClusteringJob' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ClusteringJob' description: '' x-explicit-tags: [] patch: operationId: llm_analytics_clustering_jobs_partial_update description: CRUD for clustering job configurations (max 5 per team). parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this clustering job. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedClusteringJob' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedClusteringJob' multipart/form-data: schema: $ref: '#/components/schemas/PatchedClusteringJob' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ClusteringJob' description: '' x-explicit-tags: [] delete: operationId: llm_analytics_clustering_jobs_destroy description: CRUD for clustering job configurations (max 5 per team). parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this clustering job. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/llm_analytics/evaluation_config/: get: operationId: llm_analytics_evaluation_config_retrieve description: Get the evaluation config for this team parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - evaluation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EvaluationConfig' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/evaluation_config/set_active_key/: post: operationId: llm_analytics_evaluation_config_set_active_key_create description: Set the active provider key for evaluations parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationConfigSetActiveKeyRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EvaluationConfigSetActiveKeyRequest' multipart/form-data: schema: $ref: '#/components/schemas/EvaluationConfigSetActiveKeyRequest' required: true security: - PersonalAPIKeyAuth: - evaluation:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EvaluationConfig' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/evaluation_reports/: get: operationId: llm_analytics_evaluation_reports_list description: CRUD for evaluation report configurations + report run history. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEvaluationReportList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_evaluation_reports_create description: CRUD for evaluation report configurations + report run history. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationReport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EvaluationReport' multipart/form-data: schema: $ref: '#/components/schemas/EvaluationReport' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/EvaluationReport' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/evaluation_reports/{id}/: get: operationId: llm_analytics_evaluation_reports_retrieve description: CRUD for evaluation report configurations + report run history. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation report. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EvaluationReport' description: '' x-explicit-tags: - llm_analytics put: operationId: llm_analytics_evaluation_reports_update description: CRUD for evaluation report configurations + report run history. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation report. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationReport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EvaluationReport' multipart/form-data: schema: $ref: '#/components/schemas/EvaluationReport' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EvaluationReport' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_analytics_evaluation_reports_partial_update description: CRUD for evaluation report configurations + report run history. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation report. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEvaluationReport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEvaluationReport' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEvaluationReport' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EvaluationReport' description: '' x-explicit-tags: - llm_analytics delete: operationId: llm_analytics_evaluation_reports_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation report. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '405': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/evaluation_reports/{id}/generate/: post: operationId: llm_analytics_evaluation_reports_generate_create description: Trigger immediate report generation. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation report. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '202': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/evaluation_reports/{id}/runs/: get: operationId: llm_analytics_evaluation_reports_runs_list description: List report runs (history) for this report. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this evaluation report. required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEvaluationReportRunList' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/evaluation_summary/: post: operationId: llm_analytics_evaluation_summary_create description: "\nGenerate an AI-powered summary of evaluation results.\n\nThis\ \ endpoint analyzes evaluation runs and identifies patterns in passing\nand\ \ failing evaluations, providing actionable recommendations.\n\nData is fetched\ \ server-side by evaluation ID to ensure data integrity.\n\n**Use Cases:**\n\ - Understand why evaluations are passing or failing\n- Identify systematic\ \ issues in LLM responses\n- Get recommendations for improving response quality\n\ - Review patterns across many evaluation runs at once\n " parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - LLM Analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationSummaryRequest' examples: EvaluationSummaryRequest: value: evaluation_id: 550e8400-e29b-41d4-a716-446655440000 filter: all force_refresh: false summary: Evaluation Summary Request description: Summarize evaluation results by ID application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EvaluationSummaryRequest' multipart/form-data: schema: $ref: '#/components/schemas/EvaluationSummaryRequest' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EvaluationSummaryResponse' examples: SuccessResponse: value: overall_assessment: Evaluations show generally good quality with some factual accuracy issues. pass_patterns: - title: Clear Communication description: Responses consistently provided well-structured information frequency: common example_generation_ids: - gen_abc123 - gen_ghi789 fail_patterns: - title: Factual Errors description: Some responses contained inaccurate information frequency: occasional example_generation_ids: - gen_def456 na_patterns: [] recommendations: - Implement fact-checking for critical claims - Add source citations where applicable statistics: total_analyzed: 3 pass_count: 2 fail_count: 1 na_count: 0 summary: Success Response description: '' '400': content: application/json: schema: type: object additionalProperties: true description: '' '403': content: application/json: schema: type: object additionalProperties: true description: '' '404': content: application/json: schema: type: object additionalProperties: true description: '' '500': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - LLM Analytics - llm_analytics /api/environments/{project_id}/llm_analytics/models/: get: operationId: llm_analytics_models_retrieve description: List available models for a provider. parameters: - in: query name: key_id schema: type: string format: uuid description: Optional provider key UUID. When supplied, models reachable with that specific key are returned (useful for Azure OpenAI, where the deployment list depends on the configured endpoint). Must belong to the same provider as the `provider` parameter. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: provider schema: type: string enum: - anthropic - azure_openai - fireworks - gemini - openai - openrouter - together_ai description: LLM provider to list models for. Must be one of the supported providers. required: true tags: - llm_analytics security: - PersonalAPIKeyAuth: - evaluation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMModelsListResponse' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/provider_key_validations/: post: operationId: llm_analytics_provider_key_validations_create description: Validate LLM provider API keys without persisting them parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_provider_key:write responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/provider_keys/: get: operationId: llm_analytics_provider_keys_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_provider_key:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLLMProviderKeyList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_provider_keys_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMProviderKey' multipart/form-data: schema: $ref: '#/components/schemas/LLMProviderKey' required: true security: - PersonalAPIKeyAuth: - llm_provider_key:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/provider_keys/{id}/: get: operationId: llm_analytics_provider_keys_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_provider_key:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: [] put: operationId: llm_analytics_provider_keys_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMProviderKey' multipart/form-data: schema: $ref: '#/components/schemas/LLMProviderKey' required: true security: - PersonalAPIKeyAuth: - llm_provider_key:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: [] patch: operationId: llm_analytics_provider_keys_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLLMProviderKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLLMProviderKey' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLLMProviderKey' security: - PersonalAPIKeyAuth: - llm_provider_key:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: [] delete: operationId: llm_analytics_provider_keys_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics security: - PersonalAPIKeyAuth: - llm_provider_key:write responses: '204': description: No response body x-explicit-tags: [] /api/environments/{project_id}/llm_analytics/provider_keys/{id}/assign/: post: operationId: llm_analytics_provider_keys_assign_create description: Assign this key to evaluations and optionally re-enable them. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMProviderKey' multipart/form-data: schema: $ref: '#/components/schemas/LLMProviderKey' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: [] /api/environments/{project_id}/llm_analytics/provider_keys/{id}/dependent_configs/: get: operationId: llm_analytics_provider_keys_dependent_configs_retrieve description: Get evaluations using this key and alternative keys for replacement. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: [] /api/environments/{project_id}/llm_analytics/provider_keys/{id}/validate/: post: operationId: llm_analytics_provider_keys_validate_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this llm provider key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMProviderKey' multipart/form-data: schema: $ref: '#/components/schemas/LLMProviderKey' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: [] /api/environments/{project_id}/llm_analytics/provider_keys/trial_evaluations/: get: operationId: llm_analytics_provider_keys_trial_evaluations_retrieve description: List enabled evaluations currently using trial credits for a given provider. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMProviderKey' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/review_queue_items/: get: operationId: llm_analytics_review_queue_items_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: string description: Order by `created_at` or `updated_at`. examples: NewestFirst: value: -created_at summary: Newest first - $ref: '#/components/parameters/ProjectIdPath' - in: query name: queue_id schema: type: string format: uuid description: Filter by a specific review queue ID. - in: query name: search schema: type: string description: Search pending trace IDs. examples: Search: value: trace_ - in: query name: trace_id schema: type: string description: Filter by an exact trace ID. examples: TraceID: value: trace_123 summary: Trace ID - in: query name: trace_id__in schema: type: string description: Filter by multiple trace IDs separated by commas. examples: TraceIDs: value: trace_123,trace_456 summary: Trace IDs tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedReviewQueueItemList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_review_queue_items_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/ReviewQueueItemCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ReviewQueueItemCreate' multipart/form-data: schema: $ref: '#/components/schemas/ReviewQueueItemCreate' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReviewQueueItem' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/review_queue_items/{id}/: get: operationId: llm_analytics_review_queue_items_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this review queue item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReviewQueueItem' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_analytics_review_queue_items_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this review queue item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedReviewQueueItemUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedReviewQueueItemUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedReviewQueueItemUpdate' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReviewQueueItem' description: '' x-explicit-tags: - llm_analytics delete: operationId: llm_analytics_review_queue_items_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this review queue item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '204': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/review_queues/: get: operationId: llm_analytics_review_queues_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: name schema: type: string - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: string description: Order by `name`, `updated_at`, or `created_at`. examples: Alphabetical: value: name - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search review queue names. examples: QueueSearch: value: support summary: Queue search tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedReviewQueueList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_review_queues_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/ReviewQueueCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ReviewQueueCreate' multipart/form-data: schema: $ref: '#/components/schemas/ReviewQueueCreate' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReviewQueue' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/review_queues/{id}/: get: operationId: llm_analytics_review_queues_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this review queue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReviewQueue' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_analytics_review_queues_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this review queue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedReviewQueueUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedReviewQueueUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedReviewQueueUpdate' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReviewQueue' description: '' x-explicit-tags: - llm_analytics delete: operationId: llm_analytics_review_queues_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this review queue. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '204': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/score_definitions/: get: operationId: llm_analytics_score_definitions_list parameters: - in: query name: archived schema: type: boolean description: Filter by archived state. examples: ActiveScorers: value: false summary: Active scorers - in: query name: kind schema: type: string description: Filter by scorer kind. examples: CategoricalScorer: value: categorical summary: Categorical scorer - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: string description: Sort by name, kind, created_at, updated_at, or current_version. examples: SortByName: value: name summary: Sort by name - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search scorers by name or description. examples: SearchScorer: value: quality summary: Search scorer tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedScoreDefinitionList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_score_definitions_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/ScoreDefinitionCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ScoreDefinitionCreate' multipart/form-data: schema: $ref: '#/components/schemas/ScoreDefinitionCreate' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ScoreDefinition' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/score_definitions/{id}/: get: operationId: llm_analytics_score_definitions_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this score definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScoreDefinition' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_analytics_score_definitions_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this score definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedScoreDefinitionMetadata' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedScoreDefinitionMetadata' multipart/form-data: schema: $ref: '#/components/schemas/PatchedScoreDefinitionMetadata' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScoreDefinition' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/score_definitions/{id}/new_version/: post: operationId: llm_analytics_score_definitions_new_version_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this score definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/ScoreDefinitionNewVersion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ScoreDefinitionNewVersion' multipart/form-data: schema: $ref: '#/components/schemas/ScoreDefinitionNewVersion' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ScoreDefinition' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/sentiment/: post: operationId: llm_analytics_sentiment_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - LLM Analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/SentimentRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SentimentRequest' multipart/form-data: schema: $ref: '#/components/schemas/SentimentRequest' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SentimentBatchResponse' description: '' '400': content: application/json: schema: type: object additionalProperties: true description: '' '500': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - LLM Analytics - llm_analytics /api/environments/{project_id}/llm_analytics/summarization/: post: operationId: llm_analytics_summarization_create description: "\nGenerate an AI-powered summary of an LLM trace or event.\n\n\ This endpoint analyzes the provided trace/event, generates a line-numbered\ \ text\nrepresentation, and uses an LLM to create a concise summary with line\ \ references.\n\n**Two ways to use this endpoint:**\n\n1. **By ID (recommended):**\ \ Pass `trace_id` or `generation_id` with an optional `date_from`/`date_to`.\n\ \ The backend fetches the data automatically. `summarize_type` is inferred.\n\ 2. **By data:** Pass the full trace/event data blob in `data` with `summarize_type`.\n\ \ This is how the frontend uses it.\n\n**Summary Format:**\n- Title (concise,\ \ max 10 words)\n- Mermaid flow diagram showing the main flow\n- 3-10 summary\ \ bullets with line references\n- \"Interesting Notes\" section for failures,\ \ successes, or unusual patterns\n- Line references in [L45] or [L45-52] format\ \ pointing to relevant sections\n\nThe response includes the structured summary,\ \ the text representation, and metadata.\n " parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - LLM Analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/SummarizeRequest' examples: TraceSummarization: value: summarize_type: trace data: trace: id: trace_123 properties: $ai_span_name: ChatBot Interaction hierarchy: - event: id: gen_1 event: $ai_generation properties: $ai_input: - role: user content: Hello $ai_output_choices: - message: role: assistant content: Hi there! children: [] summary: Trace Summarization description: Summarize a full trace with hierarchy EventSummarization: value: summarize_type: event data: event: id: gen_456 event: $ai_generation properties: $ai_input: - role: user content: Explain Python $ai_output_choices: - message: role: assistant content: Python is... summary: Event Summarization description: Summarize a single generation event application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SummarizeRequest' multipart/form-data: schema: $ref: '#/components/schemas/SummarizeRequest' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SummarizeResponse' examples: SuccessResponse: value: summary: '## Summary - User initiated conversation with greeting [L5-8] - Assistant responded with friendly message [L12-15] ## Interesting Notes - Standard greeting pattern with no errors' metadata: text_repr_length: 450 model: gpt-4.1 summary: Success Response description: '' '400': content: application/json: schema: type: object additionalProperties: true description: '' '403': content: application/json: schema: type: object additionalProperties: true description: '' '500': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - LLM Analytics - llm_analytics /api/environments/{project_id}/llm_analytics/summarization/batch_check/: post: operationId: llm_analytics_summarization_batch_check_create description: "\nCheck which traces have cached summaries available.\n\nThis\ \ endpoint allows batch checking of multiple trace IDs to see which ones\n\ have cached summaries. Returns only the traces that have cached summaries\n\ with their titles.\n\n**Use Cases:**\n- Load cached summaries on session view\ \ load\n- Avoid unnecessary LLM calls for already-summarized traces\n- Display\ \ summary previews without generating new summaries\n " parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - LLM Analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchCheckRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchCheckRequest' multipart/form-data: schema: $ref: '#/components/schemas/BatchCheckRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchCheckResponse' description: '' '400': content: application/json: schema: type: object additionalProperties: true description: '' '403': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - LLM Analytics - llm_analytics /api/environments/{project_id}/llm_analytics/text_repr/: post: operationId: llm_analytics_text_repr_create description: "\nGenerate a human-readable text representation of an LLM trace\ \ event.\n\nThis endpoint converts LLM analytics events ($ai_generation, $ai_span,\ \ $ai_embedding, or $ai_trace)\ninto formatted text representations suitable\ \ for display, logging, or analysis.\n\n**Supported Event Types:**\n- `$ai_generation`:\ \ Individual LLM API calls with input/output messages\n- `$ai_span`: Logical\ \ spans with state transitions\n- `$ai_embedding`: Embedding generation events\ \ (text input → vector)\n- `$ai_trace`: Full traces with hierarchical structure\n\ \n**Options:**\n- `max_length`: Maximum character count (default: 2000000)\n\ - `truncated`: Enable middle-content truncation within events (default: true)\n\ - `truncate_buffer`: Characters at start/end when truncating (default: 1000)\n\ - `include_markers`: Use interactive markers vs plain text indicators (default:\ \ true)\n - Frontend: set true for `<<>>` markers\n\ \ - Backend/LLM: set false for `... (X chars truncated) ...` text\n- `collapsed`:\ \ Show summary vs full trace tree (default: false)\n- `include_hierarchy`:\ \ Include tree structure for traces (default: true)\n- `max_depth`: Maximum\ \ depth for hierarchical rendering (default: unlimited)\n- `tools_collapse_threshold`:\ \ Number of tools before auto-collapsing list (default: 5)\n - Tool lists\ \ >5 items show `<<>>` marker for frontend\n - Or `[+]\ \ AVAILABLE TOOLS: N` for backend when `include_markers: false`\n- `include_line_numbers`:\ \ Prefix each line with line number like L001:, L010: (default: false)\n\n\ **Use Cases:**\n- Frontend display: `truncated: true, include_markers: true,\ \ include_line_numbers: true`\n- Backend LLM context (summary): `truncated:\ \ true, include_markers: false, collapsed: true`\n- Backend LLM context (full):\ \ `truncated: false`\n\nThe response includes the formatted text and metadata\ \ about the rendering.\n " parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - LLM Analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/TextReprRequest' examples: GenerationExample: value: event_type: $ai_generation data: id: gen_123 properties: $ai_input: - role: user content: What is the capital of France? $ai_output_choices: - message: role: assistant content: The capital of France is Paris. options: max_length: 10000 summary: Generation Example description: Stringify an $ai_generation event TraceExample: value: event_type: $ai_trace data: trace: trace_id: trace_123 name: ChatBot Interaction hierarchy: - id: gen_1 event: $ai_generation children: [] summary: Trace Example description: Stringify a full trace with hierarchy application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TextReprRequest' multipart/form-data: schema: $ref: '#/components/schemas/TextReprRequest' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TextReprResponse' examples: SuccessResponse: value: text: 'INPUT: [1] USER What is the capital of France? ...' metadata: event_type: $ai_generation event_id: gen_123 rendering: detailed char_count: 150 truncated: false summary: Success Response description: '' '400': content: application/json: schema: type: object additionalProperties: true description: '' '500': content: application/json: schema: type: object additionalProperties: true description: '' '503': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - LLM Analytics - llm_analytics /api/environments/{project_id}/llm_analytics/trace_reviews/: get: operationId: llm_analytics_trace_reviews_list parameters: - in: query name: definition_id schema: type: string format: uuid description: Filter by a stable scorer definition ID. - in: query name: definition_id__in schema: type: string description: Filter by multiple scorer definition IDs separated by commas. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: string description: Order by `updated_at` or `created_at`. examples: NewestFirst: value: -updated_at summary: Newest first - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search trace IDs and comments. examples: CommentSearch: value: hallucination summary: Comment search - in: query name: trace_id schema: type: string description: Filter by an exact trace ID. examples: TraceID: value: trace_123 summary: Trace ID - in: query name: trace_id__in schema: type: string description: Filter by multiple trace IDs separated by commas. examples: TraceIDs: value: trace_123,trace_456 summary: Trace IDs tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTraceReviewList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_analytics_trace_reviews_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/TraceReviewCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TraceReviewCreate' multipart/form-data: schema: $ref: '#/components/schemas/TraceReviewCreate' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/TraceReview' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/trace_reviews/{id}/: get: operationId: llm_analytics_trace_reviews_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this trace review. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TraceReview' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_analytics_trace_reviews_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this trace review. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTraceReviewUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTraceReviewUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTraceReviewUpdate' security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TraceReview' description: '' x-explicit-tags: - llm_analytics delete: operationId: llm_analytics_trace_reviews_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this trace review. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_analytics security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '204': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_analytics/translate/: post: operationId: llm_analytics_translate_create description: Translate text to target language. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics requestBody: content: application/json: schema: $ref: '#/components/schemas/TranslateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TranslateRequest' multipart/form-data: schema: $ref: '#/components/schemas/TranslateRequest' required: true security: - PersonalAPIKeyAuth: - llm_analytics:write responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_prompts/: get: operationId: llm_prompts_list parameters: - in: query name: content schema: enum: - full - preview - none type: string default: full minLength: 1 description: 'Controls how much prompt content is included in the response. ''full'' includes the full prompt, ''preview'' includes a short prompt_preview, and ''none'' omits prompt content entirely. The outline field is always included. * `full` - full * `preview` - preview * `none` - none' - in: query name: created_by_id schema: type: integer description: Filter prompts by the ID of the user who created them. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Optional substring filter applied to prompt names and prompt content. tags: - llm_analytics - llm_prompts security: - PersonalAPIKeyAuth: - llm_prompt:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLLMPromptListList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_prompts_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_prompts requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMPrompt' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMPrompt' multipart/form-data: schema: $ref: '#/components/schemas/LLMPrompt' required: true security: - PersonalAPIKeyAuth: - llm_prompt:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LLMPrompt' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_prompts/name/{prompt_name}/: get: operationId: llm_prompts_name_retrieve parameters: - in: query name: content schema: enum: - full - preview - none type: string default: full minLength: 1 description: 'Controls how much prompt content is included in the response. ''full'' includes the full prompt, ''preview'' includes a short prompt_preview, and ''none'' omits prompt content entirely. The outline field is always included. * `full` - full * `preview` - preview * `none` - none' - $ref: '#/components/parameters/ProjectIdPath' - in: path name: prompt_name schema: type: string pattern: ^[^/]+$ required: true - in: query name: version schema: type: integer minimum: 1 description: Specific prompt version to fetch. If omitted, the latest version is returned. tags: - llm_analytics - llm_prompts security: - PersonalAPIKeyAuth: - llm_prompt:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMPromptPublic' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_prompts_name_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: prompt_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_prompts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLLMPromptPublish' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLLMPromptPublish' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLLMPromptPublish' security: - PersonalAPIKeyAuth: - llm_prompt:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMPrompt' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_prompts/name/{prompt_name}/archive/: post: operationId: llm_prompts_name_archive_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: prompt_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_prompts requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMPrompt' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMPrompt' multipart/form-data: schema: $ref: '#/components/schemas/LLMPrompt' required: true security: - PersonalAPIKeyAuth: - llm_prompt:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMPrompt' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_prompts/name/{prompt_name}/duplicate/: post: operationId: llm_prompts_name_duplicate_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: prompt_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_prompts requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMPromptDuplicate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMPromptDuplicate' multipart/form-data: schema: $ref: '#/components/schemas/LLMPromptDuplicate' required: true security: - PersonalAPIKeyAuth: - llm_prompt:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LLMPrompt' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_prompts/resolve/name/{prompt_name}/: get: operationId: llm_prompts_resolve_name_retrieve parameters: - in: query name: before_version schema: type: integer minimum: 1 description: Return versions older than this version number. Mutually exclusive with offset. - in: query name: limit schema: type: integer maximum: 100 minimum: 1 default: 50 description: Maximum number of versions to return per page (1-100). - in: query name: offset schema: type: integer minimum: 0 description: Zero-based offset into version history for pagination. Mutually exclusive with before_version. - $ref: '#/components/parameters/ProjectIdPath' - in: path name: prompt_name schema: type: string pattern: ^[^/]+$ required: true - in: query name: version schema: type: integer minimum: 1 description: Specific prompt version to fetch. If omitted, the latest version is returned. - in: query name: version_id schema: type: string format: uuid description: Exact prompt version UUID to resolve. Can be used together with version for extra safety. tags: - llm_analytics - llm_prompts security: - PersonalAPIKeyAuth: - llm_prompt:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMPromptResolveResponse' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/: get: operationId: llm_skills_list parameters: - in: query name: created_by_id schema: type: integer description: Filter skills by the ID of the user who created them. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Optional substring filter applied to skill names and descriptions. tags: - llm_analytics - llm_skills security: - PersonalAPIKeyAuth: - llm_skill:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLLMSkillListList' description: '' x-explicit-tags: - llm_analytics post: operationId: llm_skills_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - llm_skills requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMSkillCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMSkillCreate' multipart/form-data: schema: $ref: '#/components/schemas/LLMSkillCreate' required: true security: - PersonalAPIKeyAuth: - llm_skill:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LLMSkillCreate' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/name/{skill_name}/: get: operationId: llm_skills_name_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true - in: query name: version schema: type: integer minimum: 1 description: Specific skill version to fetch. If omitted, the latest version is returned. tags: - llm_analytics - llm_skills security: - PersonalAPIKeyAuth: - llm_skill:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMSkill' description: '' x-explicit-tags: - llm_analytics patch: operationId: llm_skills_name_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_skills requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLLMSkillPublish' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLLMSkillPublish' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLLMSkillPublish' security: - PersonalAPIKeyAuth: - llm_skill:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMSkill' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/name/{skill_name}/archive/: post: operationId: llm_skills_name_archive_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_skills security: - PersonalAPIKeyAuth: - llm_skill:write responses: '204': description: No response body x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/name/{skill_name}/duplicate/: post: operationId: llm_skills_name_duplicate_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_skills requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMSkillDuplicate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMSkillDuplicate' multipart/form-data: schema: $ref: '#/components/schemas/LLMSkillDuplicate' required: true security: - PersonalAPIKeyAuth: - llm_skill:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LLMSkill' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/name/{skill_name}/files/: post: operationId: llm_skills_name_files_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_skills requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMSkillFileCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMSkillFileCreate' multipart/form-data: schema: $ref: '#/components/schemas/LLMSkillFileCreate' required: true security: - PersonalAPIKeyAuth: - llm_skill:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LLMSkill' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/name/{skill_name}/files-rename/: post: operationId: llm_skills_name_files_rename_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_skills requestBody: content: application/json: schema: $ref: '#/components/schemas/LLMSkillFileRename' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LLMSkillFileRename' multipart/form-data: schema: $ref: '#/components/schemas/LLMSkillFileRename' required: true security: - PersonalAPIKeyAuth: - llm_skill:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMSkill' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/name/{skill_name}/files/{file_path}/: get: operationId: llm_skills_name_files_retrieve parameters: - in: path name: file_path schema: type: string pattern: ^.+$ required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true - in: query name: version schema: type: integer minimum: 1 description: Specific skill version to fetch. If omitted, the latest version is returned. tags: - llm_analytics - llm_skills security: - PersonalAPIKeyAuth: - llm_skill:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMSkillFile' description: '' x-explicit-tags: - llm_analytics delete: operationId: llm_skills_name_files_destroy parameters: - in: query name: base_version schema: type: integer minimum: 1 description: Latest version you are editing from. If provided, the request fails with 409 when another write has landed in the meantime. - in: path name: file_path schema: type: string pattern: ^.+$ required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true tags: - llm_analytics - llm_skills security: - PersonalAPIKeyAuth: - llm_skill:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMSkill' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/llm_skills/resolve/name/{skill_name}/: get: operationId: llm_skills_resolve_name_retrieve parameters: - in: query name: before_version schema: type: integer minimum: 1 description: Return versions older than this version number. Mutually exclusive with offset. - in: query name: limit schema: type: integer maximum: 100 minimum: 1 default: 50 description: Maximum number of versions to return per page (1-100). - in: query name: offset schema: type: integer minimum: 0 description: Zero-based offset into version history for pagination. Mutually exclusive with before_version. - $ref: '#/components/parameters/ProjectIdPath' - in: path name: skill_name schema: type: string pattern: ^[^/]+$ required: true - in: query name: version schema: type: integer minimum: 1 description: Specific skill version to fetch. If omitted, the latest version is returned. - in: query name: version_id schema: type: string format: uuid description: Exact skill version UUID to resolve. tags: - llm_analytics - llm_skills security: - PersonalAPIKeyAuth: - llm_skill:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LLMSkillResolveResponse' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/logs/explainLogWithAI/: post: operationId: logs_explainLogWithAI_create description: 'Explain a log entry using AI. POST /api/environments/:id/logs/explainLogWithAI/' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/ExplainRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExplainRequest' multipart/form-data: schema: $ref: '#/components/schemas/ExplainRequest' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExplainRequest' description: '' x-explicit-tags: - logs /api/environments/{project_id}/logs/views/: get: operationId: logs_views_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsViewList' description: '' x-explicit-tags: - logs post: operationId: logs_views_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsView' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsView' multipart/form-data: schema: $ref: '#/components/schemas/LogsView' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsView' description: '' x-explicit-tags: - logs /api/environments/{project_id}/logs/views/{short_id}/: get: operationId: logs_views_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsView' description: '' x-explicit-tags: - logs put: operationId: logs_views_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsView' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsView' multipart/form-data: schema: $ref: '#/components/schemas/LogsView' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsView' description: '' x-explicit-tags: - logs patch: operationId: logs_views_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLogsView' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLogsView' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLogsView' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsView' description: '' x-explicit-tags: - logs delete: operationId: logs_views_destroy parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:write responses: '204': description: No response body x-explicit-tags: - logs /api/environments/{project_id}/managed_viewsets/{kind}/: get: operationId: managed_viewsets_retrieve description: 'Get all views associated with a specific managed viewset. GET /api/environments/{team_id}/managed_viewsets/{kind}/' parameters: - in: path name: kind schema: enum: - revenue_analytics type: string description: '* `revenue_analytics` - Revenue Analytics' required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - managed_viewsets security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': description: No response body x-explicit-tags: - data_warehouse put: operationId: managed_viewsets_update description: 'Enable or disable a managed viewset by kind. PUT /api/environments/{team_id}/managed_viewsets/{kind}/ with body {"enabled": true/false}' parameters: - in: path name: kind schema: enum: - revenue_analytics type: string description: '* `revenue_analytics` - Revenue Analytics' required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - managed_viewsets security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/environments/{project_id}/max_tools/create_and_query_insight/: post: operationId: max_tools_create_and_query_insight_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - max_tools requestBody: content: application/json: schema: $ref: '#/components/schemas/InsightsToolCall' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InsightsToolCall' multipart/form-data: schema: $ref: '#/components/schemas/InsightsToolCall' required: true security: - PersonalAPIKeyAuth: - insight:read - query:read - PersonalAPIKeyAuth: - insight:read - query:read responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/environments/{project_id}/mcp_server_installations/: get: operationId: mcp_server_installations_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedMCPServerInstallationList' description: '' x-explicit-tags: - mcp_store post: operationId: mcp_server_installations_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MCPServerInstallation' multipart/form-data: schema: $ref: '#/components/schemas/MCPServerInstallation' security: - PersonalAPIKeyAuth: - project:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/{id}/: get: operationId: mcp_server_installations_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store put: operationId: mcp_server_installations_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MCPServerInstallation' multipart/form-data: schema: $ref: '#/components/schemas/MCPServerInstallation' security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store patch: operationId: mcp_server_installations_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMCPServerInstallationUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMCPServerInstallationUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMCPServerInstallationUpdate' security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store delete: operationId: mcp_server_installations_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations security: - PersonalAPIKeyAuth: - project:read responses: '204': description: No response body x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/{id}/proxy/: post: operationId: mcp_server_installations_proxy_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MCPServerInstallation' multipart/form-data: schema: $ref: '#/components/schemas/MCPServerInstallation' security: - PersonalAPIKeyAuth: - project:read responses: '200': content: '*/*': schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/{id}/tools/: get: operationId: mcp_server_installations_tools_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedMCPServerInstallationToolList' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/{id}/tools/{tool_name}/: patch: operationId: mcp_server_installations_tools_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: tool_name schema: type: string pattern: ^[^/]+$ required: true tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedToolApprovalUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedToolApprovalUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedToolApprovalUpdate' security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallationTool' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/{id}/tools/refresh/: post: operationId: mcp_server_installations_tools_refresh_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this mcp server installation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MCPServerInstallation' multipart/form-data: schema: $ref: '#/components/schemas/MCPServerInstallation' security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedMCPServerInstallationToolList' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/authorize/: get: operationId: mcp_server_installations_authorize_retrieve description: 'Start (or re-start) an OAuth flow. Pass ``template_id`` to (re)connect a catalog template, or ``installation_id`` to reconnect an existing custom install using its cached metadata and per-user DCR creds.' parameters: - in: query name: install_source schema: enum: - posthog - posthog-code type: string default: posthog minLength: 1 description: '* `posthog` - posthog * `posthog-code` - posthog-code' - in: query name: installation_id schema: type: string format: uuid - in: query name: posthog_code_callback_url schema: type: string default: '' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: template_id schema: type: string format: uuid tags: - mcp_store - mcp_server_installations security: - PersonalAPIKeyAuth: - project:read responses: '200': description: No response body x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/install_custom/: post: operationId: mcp_server_installations_install_custom_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/InstallCustom' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InstallCustom' multipart/form-data: schema: $ref: '#/components/schemas/InstallCustom' required: true security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/OAuthRedirectResponse' description: '' '201': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_server_installations/install_template/: post: operationId: mcp_server_installations_install_template_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_server_installations requestBody: content: application/json: schema: $ref: '#/components/schemas/InstallTemplate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InstallTemplate' multipart/form-data: schema: $ref: '#/components/schemas/InstallTemplate' required: true security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/OAuthRedirectResponse' description: '' '201': content: application/json: schema: $ref: '#/components/schemas/MCPServerInstallation' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_servers/: get: operationId: mcp_servers_list description: 'Lists curated MCP server templates that users can install with one click. Templates are seeded by PostHog operators and carry shared, encrypted OAuth client credentials. Inactive templates are hidden from the catalog.' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - mcp_store - mcp_servers security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedMCPServerTemplateList' description: '' x-explicit-tags: - mcp_store /api/environments/{project_id}/mcp_tools/{tool_name}/: post: operationId: mcp_tools_create description: 'Invoke an MCP tool by name. This endpoint allows MCP callers to invoke Max AI tools directly without going through the full LangChain conversation flow. Scopes are resolved dynamically per tool via dangerously_get_required_scopes.' parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: tool_name schema: type: string required: true tags: - mcp_tools responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - posthog_ai /api/environments/{project_id}/session_summaries/config/: get: operationId: retrieve_session_summaries_config description: Retrieve the team's session summaries configuration (product context used to tailor single-session replay summaries). parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - session_summaries responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionSummariesConfig' description: '' x-explicit-tags: [] patch: operationId: update_session_summaries_config description: Update the team's session summaries configuration (product context used to tailor single-session replay summaries). parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - session_summaries requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionSummariesConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionSummariesConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionSummariesConfig' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionSummariesConfig' description: '' x-explicit-tags: [] /api/environments/{project_id}/session_summaries/create_session_summaries/: post: operationId: create_session_summaries description: Generate AI summary for a group of session recordings to find patterns and generate a notebook. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - session_summaries requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionSummaries' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionSummaries' multipart/form-data: schema: $ref: '#/components/schemas/SessionSummaries' required: true security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionSummaries' description: '' x-explicit-tags: [] /api/environments/{project_id}/session_summaries/create_session_summaries_individually/: post: operationId: create_session_summaries_individually description: Generate AI individual summary for each session, without grouping. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_summaries requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionSummaries' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionSummaries' multipart/form-data: schema: $ref: '#/components/schemas/SessionSummaries' required: true security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionSummaries' description: '' x-explicit-tags: - replay /api/environments/{project_id}/subscriptions/{subscription_id}/deliveries/: get: operationId: subscriptions_deliveries_list description: Paginated delivery history for a subscription. Requires premium subscriptions. summary: List subscription deliveries parameters: - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - $ref: '#/components/parameters/ProjectIdPath' - in: query name: status schema: type: string enum: - completed - failed - skipped - starting description: Return only deliveries in this run status (starting, completed, failed, or skipped). - in: path name: subscription_id schema: type: integer required: true tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSubscriptionDeliveryList' description: '' x-explicit-tags: - core /api/environments/{project_id}/subscriptions/{subscription_id}/deliveries/{id}/: get: operationId: subscriptions_deliveries_retrieve description: Fetch one delivery row by id. summary: Retrieve subscription delivery parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this subscription delivery. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: subscription_id schema: type: integer required: true tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SubscriptionDelivery' description: '' x-explicit-tags: - core /api/environments/{project_id}/taggers/: get: operationId: taggers_list parameters: - in: query name: enabled schema: type: boolean description: Filter by enabled status - in: query name: id__in schema: type: array items: type: string format: uuid description: Multiple values may be separated by commas. explode: false style: form - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: array items: type: string enum: - -created_at - -name - -updated_at - created_at - name - updated_at description: 'Ordering * `created_at` - Created At * `-created_at` - Created At (descending) * `updated_at` - Updated At * `-updated_at` - Updated At (descending) * `name` - Name * `-name` - Name (descending)' explode: false style: form - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search in name or description tags: - taggers security: - PersonalAPIKeyAuth: - tagger:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTaggerList' description: '' x-explicit-tags: - llm_analytics post: operationId: taggers_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - taggers requestBody: content: application/json: schema: $ref: '#/components/schemas/Tagger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Tagger' multipart/form-data: schema: $ref: '#/components/schemas/Tagger' required: true security: - PersonalAPIKeyAuth: - tagger:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Tagger' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/taggers/{id}/: get: operationId: taggers_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this tagger. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - taggers security: - PersonalAPIKeyAuth: - tagger:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Tagger' description: '' x-explicit-tags: [] put: operationId: taggers_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this tagger. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - taggers requestBody: content: application/json: schema: $ref: '#/components/schemas/Tagger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Tagger' multipart/form-data: schema: $ref: '#/components/schemas/Tagger' required: true security: - PersonalAPIKeyAuth: - tagger:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Tagger' description: '' x-explicit-tags: [] patch: operationId: taggers_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this tagger. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - taggers requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTagger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTagger' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTagger' security: - PersonalAPIKeyAuth: - tagger:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Tagger' description: '' x-explicit-tags: [] delete: operationId: taggers_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this tagger. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - taggers security: - PersonalAPIKeyAuth: - tagger:write responses: '405': description: No response body x-explicit-tags: [] /api/environments/{project_id}/taggers/test_hog/: post: operationId: taggers_test_hog_create description: Test Hog tagger code against sample events without saving. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - taggers requestBody: content: application/json: schema: $ref: '#/components/schemas/Tagger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Tagger' multipart/form-data: schema: $ref: '#/components/schemas/Tagger' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Tagger' description: '' x-explicit-tags: - llm_analytics /api/environments/{project_id}/user_interviews/: get: operationId: user_interviews_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - user_interviews - user_interviews security: - PersonalAPIKeyAuth: - user_interview_DO_NOT_USE:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUserInterviewList' description: '' x-explicit-tags: - user_interviews post: operationId: user_interviews_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - user_interviews - user_interviews requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UserInterview' application/json: schema: $ref: '#/components/schemas/UserInterview' required: true security: - PersonalAPIKeyAuth: - user_interview_DO_NOT_USE:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/UserInterview' description: '' x-explicit-tags: - user_interviews /api/environments/{project_id}/user_interviews/{id}/: get: operationId: user_interviews_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this user interview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - user_interviews - user_interviews security: - PersonalAPIKeyAuth: - user_interview_DO_NOT_USE:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserInterview' description: '' x-explicit-tags: - user_interviews put: operationId: user_interviews_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this user interview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - user_interviews - user_interviews requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UserInterview' application/json: schema: $ref: '#/components/schemas/UserInterview' required: true security: - PersonalAPIKeyAuth: - user_interview_DO_NOT_USE:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserInterview' description: '' x-explicit-tags: - user_interviews patch: operationId: user_interviews_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this user interview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - user_interviews - user_interviews requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PatchedUserInterview' application/json: schema: $ref: '#/components/schemas/PatchedUserInterview' security: - PersonalAPIKeyAuth: - user_interview_DO_NOT_USE:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserInterview' description: '' x-explicit-tags: - user_interviews delete: operationId: user_interviews_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this user interview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - user_interviews - user_interviews security: - PersonalAPIKeyAuth: - user_interview_DO_NOT_USE:write responses: '204': description: No response body x-explicit-tags: - user_interviews /api/environments/{project_id}/web_analytics/weekly_digest/: get: operationId: web_analytics_weekly_digest description: 'Summarizes a project''s web analytics over a lookback window (default 7 days): unique visitors, pageviews, sessions, bounce rate, and average session duration with period-over-period comparisons, plus the top 5 pages, top 5 traffic sources, and goal conversions.' summary: Summarize web analytics parameters: - in: query name: compare schema: type: boolean default: true description: When true (default), include period-over-period change for each metric comparing against the prior equal-length period. Set to false to skip the comparison query (faster). - in: query name: days schema: type: integer default: 7 description: Lookback window in days (1–90). Defaults to 7. - $ref: '#/components/parameters/ProjectIdPath' tags: - web_analytics - web_analytics security: - PersonalAPIKeyAuth: - web_analytics:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/WeeklyDigestResponse' description: '' x-explicit-tags: - web_analytics /api/environments/{project_id}/web_vitals/: get: operationId: web_vitals_retrieve description: 'Get web vitals for a specific pathname. Toolbar accesses this via OAuth (handled by TeamAndOrgViewSetMixin.get_authenticators).' parameters: - in: query name: pathname schema: type: string description: Filter web vitals by pathname required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - web_vitals security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/organizations/: get: operationId: list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - platform_features - organizations security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationList' description: '' x-explicit-tags: - platform_features post: operationId: create tags: - platform_features - organizations requestBody: content: application/json: schema: $ref: '#/components/schemas/Organization' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Organization' multipart/form-data: schema: $ref: '#/components/schemas/Organization' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Organization' description: '' x-explicit-tags: - platform_features /api/organizations/{id}/: get: operationId: retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization. required: true tags: - platform_features - organizations security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Organization' description: '' x-explicit-tags: - platform_features put: operationId: update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization. required: true tags: - platform_features - organizations requestBody: content: application/json: schema: $ref: '#/components/schemas/Organization' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Organization' multipart/form-data: schema: $ref: '#/components/schemas/Organization' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Organization' description: '' x-explicit-tags: - platform_features patch: operationId: partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization. required: true tags: - platform_features - organizations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOrganization' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOrganization' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOrganization' security: - PersonalAPIKeyAuth: - organization:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Organization' description: '' x-explicit-tags: - platform_features delete: operationId: destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization. required: true tags: - platform_features - organizations security: - PersonalAPIKeyAuth: - organization:write responses: '204': description: No response body x-explicit-tags: - platform_features /api/organizations/{organization_id}/batch_exports/: get: operationId: org_organizations_batch_exports_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportList' description: '' x-explicit-tags: - batch_exports deprecated: true post: operationId: org_organizations_batch_exports_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/{id}/: get: operationId: org_organizations_batch_exports_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports deprecated: true put: operationId: org_organizations_batch_exports_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports deprecated: true patch: operationId: org_organizations_batch_exports_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedBatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedBatchExport' multipart/form-data: schema: $ref: '#/components/schemas/PatchedBatchExport' security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports deprecated: true delete: operationId: org_organizations_batch_exports_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:write responses: '204': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/{id}/logs/: get: operationId: org_organizations_batch_exports_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - $ref: '#/components/parameters/OrganizationIdPath' - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - batch_exports - batch_exports responses: '200': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/{id}/pause/: post: operationId: org_organizations_batch_exports_pause_create description: Pause a BatchExport. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/{id}/run_test_step/: post: operationId: org_organizations_batch_exports_run_test_step_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/{id}/unpause/: post: operationId: org_organizations_batch_exports_unpause_create description: Unpause a BatchExport. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/run_test_step_new/: post: operationId: org_organizations_batch_exports_run_test_step_new_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/batch_exports/test/: get: operationId: org_organizations_batch_exports_test_retrieve parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': description: No response body x-explicit-tags: - batch_exports deprecated: true /api/organizations/{organization_id}/domains/: get: operationId: domains_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationDomainList' description: '' x-explicit-tags: - core post: operationId: domains_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationDomain' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationDomain' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/domains/{id}/: get: operationId: domains_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' description: '' x-explicit-tags: - core put: operationId: domains_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationDomain' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationDomain' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' description: '' x-explicit-tags: - core patch: operationId: domains_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOrganizationDomain' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOrganizationDomain' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOrganizationDomain' security: - PersonalAPIKeyAuth: - organization:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' description: '' x-explicit-tags: - core delete: operationId: domains_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains security: - PersonalAPIKeyAuth: - organization:write responses: '204': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/domains/{id}/scim/logs/: get: operationId: domains_scim_logs_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains responses: '200': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/domains/{id}/scim/token/: post: operationId: domains_scim_token_create description: Regenerate SCIM bearer token. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationDomain' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationDomain' required: true responses: '200': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/domains/{id}/verify/: post: operationId: domains_verify_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this domain. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - domains requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationDomain' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationDomain' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationDomain' required: true responses: '200': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/integrations/: get: operationId: org_organizations_integrations_list description: 'ViewSet for organization-level integrations. Provides access to integrations that are scoped to the entire organization (vs. project-level integrations). Examples include Vercel, AWS Marketplace, etc. Creation is handled by the integration installation flows (e.g., Vercel marketplace installation). Users can disconnect integrations via the DELETE endpoint.' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - organizations - integrations security: - PersonalAPIKeyAuth: - organization_integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationIntegrationList' description: '' x-explicit-tags: - organizations deprecated: true /api/organizations/{organization_id}/integrations/{id}/: get: operationId: org_organizations_integrations_retrieve description: 'ViewSet for organization-level integrations. Provides access to integrations that are scoped to the entire organization (vs. project-level integrations). Examples include Vercel, AWS Marketplace, etc. Creation is handled by the integration installation flows (e.g., Vercel marketplace installation). Users can disconnect integrations via the DELETE endpoint.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization integration. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - organizations - integrations security: - PersonalAPIKeyAuth: - organization_integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationIntegration' description: '' x-explicit-tags: - organizations deprecated: true delete: operationId: org_organization_integrations_destroy description: 'ViewSet for organization-level integrations. Provides access to integrations that are scoped to the entire organization (vs. project-level integrations). Examples include Vercel, AWS Marketplace, etc. Creation is handled by the integration installation flows (e.g., Vercel marketplace installation). Users can disconnect integrations via the DELETE endpoint.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization integration. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - organizations - integrations security: - PersonalAPIKeyAuth: - organization_integration:write responses: '204': description: No response body x-explicit-tags: - organizations deprecated: true /api/organizations/{organization_id}/integrations/{id}/environment-mapping/: patch: operationId: integrations_environment_mapping_partial_update description: 'ViewSet for organization-level integrations. Provides access to integrations that are scoped to the entire organization (vs. project-level integrations). Examples include Vercel, AWS Marketplace, etc. Creation is handled by the integration installation flows (e.g., Vercel marketplace installation). Users can disconnect integrations via the DELETE endpoint.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization integration. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - organizations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOrganizationIntegration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOrganizationIntegration' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOrganizationIntegration' responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationIntegration' description: '' x-explicit-tags: - organizations /api/organizations/{organization_id}/invites/: get: operationId: invites_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - invites security: - PersonalAPIKeyAuth: - organization_member:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationInviteList' description: '' x-explicit-tags: - core post: operationId: invites_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - invites requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationInvite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationInvite' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationInvite' required: true security: - PersonalAPIKeyAuth: - organization_member:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/OrganizationInvite' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/invites/{id}/: delete: operationId: invites_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this organization invite. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - invites security: - PersonalAPIKeyAuth: - organization_member:write responses: '204': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/invites/bulk/: post: operationId: invites_bulk_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - invites requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationInvite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationInvite' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationInvite' required: true security: - PersonalAPIKeyAuth: - organization_member:write responses: '200': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/legal_documents/: get: operationId: legal_documents_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - legal_documents security: - PersonalAPIKeyAuth: - legal_document:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLegalDocumentDTOList' description: '' x-explicit-tags: - core - legal_documents post: operationId: legal_documents_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - legal_documents requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateLegalDocument' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateLegalDocument' multipart/form-data: schema: $ref: '#/components/schemas/CreateLegalDocument' required: true security: - PersonalAPIKeyAuth: - legal_document:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LegalDocumentDTO' description: '' x-explicit-tags: - core - legal_documents /api/organizations/{organization_id}/legal_documents/{id}/: get: operationId: legal_documents_retrieve parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - legal_documents security: - PersonalAPIKeyAuth: - legal_document:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LegalDocumentDTO' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/legal_documents/{id}/download/: get: operationId: legal_documents_download_retrieve description: 'Short-lived redirect to the signed PDF in object storage. 404 while the envelope is still out for signature (or if the upload hasn''t completed yet). The underlying presigned URL expires in ~60s; clients should hit this endpoint each time they want to view the PDF rather than caching.' parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - legal_documents responses: '302': description: No response body '404': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/members/: get: operationId: members_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order schema: type: string enum: - -joined_at - joined_at description: Sort order. Defaults to `-joined_at`. - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - members security: - PersonalAPIKeyAuth: - organization_member:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationMemberList' description: '' x-explicit-tags: - core - platform_features /api/organizations/{organization_id}/members/{user__uuid}/: put: operationId: members_update parameters: - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: user__uuid schema: type: string format: uuid required: true tags: - core - platform_features - members requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationMember' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationMember' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationMember' security: - PersonalAPIKeyAuth: - organization_member:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationMember' description: '' x-explicit-tags: - core - platform_features patch: operationId: members_partial_update parameters: - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: user__uuid schema: type: string format: uuid required: true tags: - core - platform_features - members requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedOrganizationMember' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedOrganizationMember' multipart/form-data: schema: $ref: '#/components/schemas/PatchedOrganizationMember' security: - PersonalAPIKeyAuth: - organization_member:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationMember' description: '' x-explicit-tags: - core - platform_features delete: operationId: members_destroy parameters: - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: user__uuid schema: type: string format: uuid required: true tags: - core - platform_features - members security: - PersonalAPIKeyAuth: - organization_member:write responses: '204': description: No response body x-explicit-tags: - core - platform_features /api/organizations/{organization_id}/members/{user__uuid}/scoped_api_keys/: get: operationId: members_scoped_api_keys_retrieve parameters: - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: user__uuid schema: type: string format: uuid required: true tags: - core - platform_features - members responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationMember' description: '' x-explicit-tags: - core - platform_features /api/organizations/{organization_id}/oauth_applications/: get: operationId: oauth_applications_list description: ViewSet for listing OAuth applications at the organization level (read-only). parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - oauth_applications security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationOAuthApplicationList' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/: get: operationId: organizations_projects_list description: Projects for the current organization. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - core - projects security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectBackwardCompatBasicList' description: '' x-explicit-tags: - core post: operationId: organizations_projects_create description: Projects for the current organization. parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/ProjectBackwardCompat' security: - PersonalAPIKeyAuth: - project:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/: get: operationId: organizations_projects_retrieve description: Retrieve a project and its settings. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core put: operationId: organizations_projects_update description: Replace a project and its settings. Prefer the PATCH endpoint for partial updates — PUT requires every writable field to be provided. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/ProjectBackwardCompat' security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core patch: operationId: organizations_projects_partial_update description: Update one or more of a project's settings. Only the fields included in the request body are changed. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core delete: operationId: organizations_projects_destroy description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects security: - PersonalAPIKeyAuth: - project:write responses: '204': description: No response body x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/activity/: get: operationId: organizations_projects_activity_retrieve description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/add_product_intent/: patch: operationId: organizations_projects_add_product_intent_partial_update description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/change_organization/: post: operationId: organizations_projects_change_organization_create description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/ProjectBackwardCompat' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/complete_product_onboarding/: patch: operationId: organizations_projects_complete_product_onboarding_partial_update description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/delete_secret_token_backup/: patch: operationId: organizations_projects_delete_secret_token_backup_partial_update description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/generate_conversations_public_token/: post: operationId: organizations_projects_generate_conversations_public_token_create description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/ProjectBackwardCompat' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/is_generating_demo_data/: get: operationId: organizations_projects_is_generating_demo_data_retrieve description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/reset_token/: patch: operationId: organizations_projects_reset_token_partial_update description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/projects/{id}/rotate_secret_token/: patch: operationId: organizations_projects_rotate_secret_token_partial_update description: Projects for the current organization. parameters: - in: path name: id schema: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 description: A unique value identifying this project. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - projects requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectBackwardCompat' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectBackwardCompat' description: '' x-explicit-tags: - core /api/organizations/{organization_id}/proxy_records/: get: operationId: proxy_records_list description: List all reverse proxies configured for the organization. Returns proxy records along with the maximum number allowed by the current plan. parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - reverse_proxy - proxy_records security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ProxyRecordListResponse' description: '' x-explicit-tags: - reverse_proxy post: operationId: proxy_records_create description: Create a new managed reverse proxy. Provide the domain you want to proxy through. The response includes the CNAME target you need to add as a DNS record. Once the CNAME is configured, the proxy will be automatically verified and provisioned. parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - reverse_proxy - proxy_records requestBody: content: application/json: schema: $ref: '#/components/schemas/ProxyRecord' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProxyRecord' multipart/form-data: schema: $ref: '#/components/schemas/ProxyRecord' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProxyRecord' description: '' x-explicit-tags: - reverse_proxy /api/organizations/{organization_id}/proxy_records/{id}/: get: operationId: proxy_records_retrieve description: Get details of a specific reverse proxy by ID. Returns the full configuration including domain, CNAME target, and current provisioning status. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this proxy record. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - reverse_proxy - proxy_records security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProxyRecord' description: '' x-explicit-tags: - reverse_proxy delete: operationId: proxy_records_destroy description: Delete a reverse proxy. For proxies in 'waiting', 'erroring', or 'timed_out' status, the record is deleted immediately. For active proxies, a deletion workflow is started to clean up the provisioned infrastructure. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this proxy record. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - reverse_proxy - proxy_records security: - PersonalAPIKeyAuth: - organization:write responses: '204': description: No response body x-explicit-tags: - reverse_proxy /api/organizations/{organization_id}/proxy_records/{id}/retry/: post: operationId: proxy_records_retry_create description: Retry provisioning a failed reverse proxy. Only available for proxies in 'erroring' or 'timed_out' status. Resets the proxy to 'waiting' status and restarts the provisioning workflow. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this proxy record. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - reverse_proxy - proxy_records responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProxyRecord' description: '' x-explicit-tags: - reverse_proxy /api/organizations/{organization_id}/role_external_references/: get: operationId: role_external_references_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - integrations - role_external_references security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRoleExternalReferenceList' description: '' x-explicit-tags: - integrations post: operationId: role_external_references_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - integrations - role_external_references requestBody: content: application/json: schema: $ref: '#/components/schemas/RoleExternalReference' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RoleExternalReference' multipart/form-data: schema: $ref: '#/components/schemas/RoleExternalReference' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/RoleExternalReference' description: '' x-explicit-tags: - integrations /api/organizations/{organization_id}/role_external_references/{id}/: delete: operationId: role_external_references_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role external reference. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - integrations - role_external_references security: - PersonalAPIKeyAuth: - organization:write responses: '204': description: No response body x-explicit-tags: - integrations /api/organizations/{organization_id}/role_external_references/lookup/: get: operationId: role_external_references_lookup_retrieve parameters: - $ref: '#/components/parameters/OrganizationIdPath' - in: query name: provider schema: type: string minLength: 1 description: Integration kind (e.g., github, linear, jira, slack). required: true - in: query name: provider_organization_id schema: type: string minLength: 1 description: Provider organization/workspace/site identifier. required: true - in: query name: provider_role_id schema: type: string minLength: 1 description: Stable provider role identifier. - in: query name: provider_role_slug schema: type: string minLength: 1 description: Human-friendly provider role identifier. tags: - integrations - role_external_references responses: '200': content: application/json: schema: $ref: '#/components/schemas/RoleLookupResponse' description: '' x-explicit-tags: - integrations /api/organizations/{organization_id}/roles/: get: operationId: roles_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - roles security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRoleList' description: '' x-explicit-tags: - core - platform_features post: operationId: roles_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - roles requestBody: content: application/json: schema: $ref: '#/components/schemas/Role' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Role' multipart/form-data: schema: $ref: '#/components/schemas/Role' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Role' description: '' x-explicit-tags: - core - platform_features /api/organizations/{organization_id}/roles/{id}/: get: operationId: roles_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - roles security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Role' description: '' x-explicit-tags: - core - platform_features put: operationId: roles_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - roles requestBody: content: application/json: schema: $ref: '#/components/schemas/Role' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Role' multipart/form-data: schema: $ref: '#/components/schemas/Role' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Role' description: '' x-explicit-tags: - core - platform_features patch: operationId: roles_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - roles requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRole' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRole' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRole' security: - PersonalAPIKeyAuth: - organization:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Role' description: '' x-explicit-tags: - core - platform_features delete: operationId: roles_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role. required: true - $ref: '#/components/parameters/OrganizationIdPath' tags: - core - platform_features - roles security: - PersonalAPIKeyAuth: - organization:write responses: '204': description: No response body x-explicit-tags: - core - platform_features /api/organizations/{organization_id}/roles/{role_id}/role_memberships/: get: operationId: roles_role_memberships_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: role_id schema: type: string format: uuid required: true tags: - platform_features - roles security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRoleMembershipList' description: '' x-explicit-tags: - platform_features post: operationId: roles_role_memberships_create parameters: - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: role_id schema: type: string format: uuid required: true tags: - platform_features - roles requestBody: content: application/json: schema: $ref: '#/components/schemas/RoleMembership' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RoleMembership' multipart/form-data: schema: $ref: '#/components/schemas/RoleMembership' required: true security: - PersonalAPIKeyAuth: - organization:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/RoleMembership' description: '' x-explicit-tags: - platform_features /api/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/: get: operationId: roles_role_memberships_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role membership. required: true - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: role_id schema: type: string format: uuid required: true tags: - platform_features - roles security: - PersonalAPIKeyAuth: - organization:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/RoleMembership' description: '' x-explicit-tags: - platform_features delete: operationId: roles_role_memberships_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this role membership. required: true - $ref: '#/components/parameters/OrganizationIdPath' - in: path name: role_id schema: type: string format: uuid required: true tags: - platform_features - roles security: - PersonalAPIKeyAuth: - organization:write responses: '204': description: No response body x-explicit-tags: - platform_features /api/organizations/{organization_id}/welcome/current/: get: operationId: welcome_current_retrieve description: Aggregated payload for the invited-user welcome screen. parameters: - $ref: '#/components/parameters/OrganizationIdPath' tags: - platform_features - welcome responses: '200': content: application/json: schema: $ref: '#/components/schemas/WelcomeResponse' description: '' '404': description: Current organization not found x-explicit-tags: - platform_features /api/projects/{project_id}/actions/: get: operationId: actions_list parameters: - in: query name: format schema: type: string enum: - csv - json - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions security: - PersonalAPIKeyAuth: - action:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedActionList' text/csv: schema: $ref: '#/components/schemas/PaginatedActionList' description: '' x-explicit-tags: - actions post: operationId: actions_create parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions requestBody: content: application/json: schema: $ref: '#/components/schemas/Action' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Action' multipart/form-data: schema: $ref: '#/components/schemas/Action' security: - PersonalAPIKeyAuth: - action:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Action' text/csv: schema: $ref: '#/components/schemas/Action' description: '' x-explicit-tags: - actions /api/projects/{project_id}/actions/{id}/: get: operationId: actions_retrieve parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this action. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions security: - PersonalAPIKeyAuth: - action:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Action' text/csv: schema: $ref: '#/components/schemas/Action' description: '' x-explicit-tags: - actions put: operationId: actions_update parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this action. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions requestBody: content: application/json: schema: $ref: '#/components/schemas/Action' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Action' multipart/form-data: schema: $ref: '#/components/schemas/Action' security: - PersonalAPIKeyAuth: - action:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Action' text/csv: schema: $ref: '#/components/schemas/Action' description: '' x-explicit-tags: - actions patch: operationId: actions_partial_update parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this action. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAction' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAction' security: - PersonalAPIKeyAuth: - action:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Action' text/csv: schema: $ref: '#/components/schemas/Action' description: '' x-explicit-tags: - actions delete: operationId: actions_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this action. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions security: - PersonalAPIKeyAuth: - action:write responses: '405': description: No response body x-explicit-tags: - actions /api/projects/{project_id}/actions/{id}/references/: get: operationId: actions_references_list parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this action. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions security: - PersonalAPIKeyAuth: - action:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/ActionReference' text/csv: schema: type: array items: $ref: '#/components/schemas/ActionReference' description: '' x-explicit-tags: - actions /api/projects/{project_id}/actions/bulk_update_tags/: post: operationId: actions_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - actions - actions requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' text/csv: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - actions /api/projects/{project_id}/activity_log/: get: operationId: activity_log_list parameters: - in: query name: item_id schema: type: string minLength: 1 description: Filter by the ID of the affected resource. - in: query name: page schema: type: integer minimum: 1 description: Page number for pagination. When provided, uses page-based pagination ordered by most recent first. - in: query name: page_size schema: type: integer maximum: 1000 minimum: 1 default: 100 description: 'Number of results per page (default: 100, max: 1000). Only used with page-based pagination.' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: scope schema: enum: - Cohort - FeatureFlag - Person - Group - Insight - Plugin - PluginConfig - HogFunction - HogFlow - DataManagement - EventDefinition - PropertyDefinition - Notebook - Endpoint - EndpointVersion - Dashboard - Replay - Experiment - ExperimentHoldout - ExperimentSavedMetric - Survey - EarlyAccessFeature - SessionRecordingPlaylist - Comment - Team - Project - ErrorTrackingIssue - DataWarehouseSavedQuery - LegalDocument - Organization - OrganizationDomain - OrganizationMembership - Role - UserGroup - BatchExport - BatchImport - Integration - Annotation - Tag - TaggedItem - Subscription - PersonalAPIKey - ProjectSecretAPIKey - User - Action - AlertConfiguration - Threshold - AlertSubscription - ExternalDataSource - ExternalDataSchema - LLMTrace - WebAnalyticsFilterPreset - CustomerProfileConfig - Log - LogsAlertConfiguration - LogsExclusionRule - ProductTour - Ticket type: string minLength: 1 description: 'Filter by a single activity scope, e.g. "FeatureFlag", "Insight", "Dashboard", "Experiment". * `Cohort` - Cohort * `FeatureFlag` - FeatureFlag * `Person` - Person * `Group` - Group * `Insight` - Insight * `Plugin` - Plugin * `PluginConfig` - PluginConfig * `HogFunction` - HogFunction * `HogFlow` - HogFlow * `DataManagement` - DataManagement * `EventDefinition` - EventDefinition * `PropertyDefinition` - PropertyDefinition * `Notebook` - Notebook * `Endpoint` - Endpoint * `EndpointVersion` - EndpointVersion * `Dashboard` - Dashboard * `Replay` - Replay * `Experiment` - Experiment * `ExperimentHoldout` - ExperimentHoldout * `ExperimentSavedMetric` - ExperimentSavedMetric * `Survey` - Survey * `EarlyAccessFeature` - EarlyAccessFeature * `SessionRecordingPlaylist` - SessionRecordingPlaylist * `Comment` - Comment * `Team` - Team * `Project` - Project * `ErrorTrackingIssue` - ErrorTrackingIssue * `DataWarehouseSavedQuery` - DataWarehouseSavedQuery * `LegalDocument` - LegalDocument * `Organization` - Organization * `OrganizationDomain` - OrganizationDomain * `OrganizationMembership` - OrganizationMembership * `Role` - Role * `UserGroup` - UserGroup * `BatchExport` - BatchExport * `BatchImport` - BatchImport * `Integration` - Integration * `Annotation` - Annotation * `Tag` - Tag * `TaggedItem` - TaggedItem * `Subscription` - Subscription * `PersonalAPIKey` - PersonalAPIKey * `ProjectSecretAPIKey` - ProjectSecretAPIKey * `User` - User * `Action` - Action * `AlertConfiguration` - AlertConfiguration * `Threshold` - Threshold * `AlertSubscription` - AlertSubscription * `ExternalDataSource` - ExternalDataSource * `ExternalDataSchema` - ExternalDataSchema * `LLMTrace` - LLMTrace * `WebAnalyticsFilterPreset` - WebAnalyticsFilterPreset * `CustomerProfileConfig` - CustomerProfileConfig * `Log` - Log * `LogsAlertConfiguration` - LogsAlertConfiguration * `LogsExclusionRule` - LogsExclusionRule * `ProductTour` - ProductTour * `Ticket` - Ticket' - in: query name: scopes schema: type: array items: enum: - Cohort - FeatureFlag - Person - Group - Insight - Plugin - PluginConfig - HogFunction - HogFlow - DataManagement - EventDefinition - PropertyDefinition - Notebook - Endpoint - EndpointVersion - Dashboard - Replay - Experiment - ExperimentHoldout - ExperimentSavedMetric - Survey - EarlyAccessFeature - SessionRecordingPlaylist - Comment - Team - Project - ErrorTrackingIssue - DataWarehouseSavedQuery - LegalDocument - Organization - OrganizationDomain - OrganizationMembership - Role - UserGroup - BatchExport - BatchImport - Integration - Annotation - Tag - TaggedItem - Subscription - PersonalAPIKey - ProjectSecretAPIKey - User - Action - AlertConfiguration - Threshold - AlertSubscription - ExternalDataSource - ExternalDataSchema - LLMTrace - WebAnalyticsFilterPreset - CustomerProfileConfig - Log - LogsAlertConfiguration - LogsExclusionRule - ProductTour - Ticket type: string description: '* `Cohort` - Cohort * `FeatureFlag` - FeatureFlag * `Person` - Person * `Group` - Group * `Insight` - Insight * `Plugin` - Plugin * `PluginConfig` - PluginConfig * `HogFunction` - HogFunction * `HogFlow` - HogFlow * `DataManagement` - DataManagement * `EventDefinition` - EventDefinition * `PropertyDefinition` - PropertyDefinition * `Notebook` - Notebook * `Endpoint` - Endpoint * `EndpointVersion` - EndpointVersion * `Dashboard` - Dashboard * `Replay` - Replay * `Experiment` - Experiment * `ExperimentHoldout` - ExperimentHoldout * `ExperimentSavedMetric` - ExperimentSavedMetric * `Survey` - Survey * `EarlyAccessFeature` - EarlyAccessFeature * `SessionRecordingPlaylist` - SessionRecordingPlaylist * `Comment` - Comment * `Team` - Team * `Project` - Project * `ErrorTrackingIssue` - ErrorTrackingIssue * `DataWarehouseSavedQuery` - DataWarehouseSavedQuery * `LegalDocument` - LegalDocument * `Organization` - Organization * `OrganizationDomain` - OrganizationDomain * `OrganizationMembership` - OrganizationMembership * `Role` - Role * `UserGroup` - UserGroup * `BatchExport` - BatchExport * `BatchImport` - BatchImport * `Integration` - Integration * `Annotation` - Annotation * `Tag` - Tag * `TaggedItem` - TaggedItem * `Subscription` - Subscription * `PersonalAPIKey` - PersonalAPIKey * `ProjectSecretAPIKey` - ProjectSecretAPIKey * `User` - User * `Action` - Action * `AlertConfiguration` - AlertConfiguration * `Threshold` - Threshold * `AlertSubscription` - AlertSubscription * `ExternalDataSource` - ExternalDataSource * `ExternalDataSchema` - ExternalDataSchema * `LLMTrace` - LLMTrace * `WebAnalyticsFilterPreset` - WebAnalyticsFilterPreset * `CustomerProfileConfig` - CustomerProfileConfig * `Log` - Log * `LogsAlertConfiguration` - LogsAlertConfiguration * `LogsExclusionRule` - LogsExclusionRule * `ProductTour` - ProductTour * `Ticket` - Ticket' description: Filter by multiple activity scopes, comma-separated. Values must be valid ActivityScope enum values. E.g. "FeatureFlag,Insight". - in: query name: user schema: type: string format: uuid description: Filter by user UUID who performed the action. tags: - activity_logs - platform_features - activity_log security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedActivityLogList' description: '' x-explicit-tags: - activity_logs - platform_features /api/projects/{project_id}/advanced_activity_logs/: get: operationId: advanced_activity_logs_list parameters: - in: query name: activities schema: type: array items: type: string default: [] - in: query name: clients schema: type: array items: type: string default: [] - in: query name: detail_filters schema: type: string - in: query name: end_date schema: type: string format: date-time - in: query name: hogql_filter schema: type: string - in: query name: is_system schema: type: boolean nullable: true - in: query name: item_ids schema: type: array items: type: string default: [] - in: query name: page schema: type: integer minimum: 1 description: Page number for pagination. When provided, uses page-based pagination ordered by most recent first. - in: query name: page_size schema: type: integer maximum: 1000 minimum: 1 default: 100 description: 'Number of results per page (default: 100, max: 1000). Only used with page-based pagination.' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: scopes schema: type: array items: type: string default: [] - in: query name: search_text schema: type: string - in: query name: start_date schema: type: string format: date-time - in: query name: users schema: type: array items: type: string format: uuid default: [] - in: query name: was_impersonated schema: type: boolean nullable: true tags: - platform_features - advanced_activity_logs security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedActivityLogList' description: '' x-explicit-tags: - platform_features /api/projects/{project_id}/advanced_activity_logs/available_filters/: get: operationId: advanced_activity_logs_available_filters_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - advanced_activity_logs security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AvailableFiltersResponse' description: '' x-explicit-tags: - platform_features /api/projects/{project_id}/advanced_activity_logs/export/: post: operationId: advanced_activity_logs_export_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - platform_features - advanced_activity_logs requestBody: content: application/json: schema: $ref: '#/components/schemas/ActivityLog' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ActivityLog' multipart/form-data: schema: $ref: '#/components/schemas/ActivityLog' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ActivityLog' description: '' x-explicit-tags: - platform_features /api/projects/{project_id}/alerts/: get: operationId: alerts_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertList' description: '' x-explicit-tags: [] post: operationId: alerts_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/Alert' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Alert' multipart/form-data: schema: $ref: '#/components/schemas/Alert' required: true security: - PersonalAPIKeyAuth: - alert:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' x-explicit-tags: [] /api/projects/{project_id}/alerts/{id}/: get: operationId: alerts_retrieve parameters: - in: query name: checks_date_from schema: type: string description: Relative date string for the start of the check history window (e.g. '-24h', '-7d', '-14d'). Returns checks created after this time. Max retention is 14 days. - in: query name: checks_date_to schema: type: string description: Relative date string for the end of the check history window (e.g. '-1h', '-1d'). Defaults to now if not specified. - in: query name: checks_limit schema: type: integer description: Maximum number of check results to return (default 5, max 500). Applied after date filtering. - in: query name: checks_offset schema: type: integer description: Number of newest checks to skip (0-based). Use with checks_limit for pagination. Default 0. - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' x-explicit-tags: [] put: operationId: alerts_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/Alert' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Alert' multipart/form-data: schema: $ref: '#/components/schemas/Alert' required: true security: - PersonalAPIKeyAuth: - alert:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' x-explicit-tags: [] patch: operationId: alerts_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAlert' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAlert' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAlert' security: - PersonalAPIKeyAuth: - alert:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: '' x-explicit-tags: [] delete: operationId: alerts_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts security: - PersonalAPIKeyAuth: - alert:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/alerts/simulate/: post: operationId: alerts_simulate_create description: Simulate a detector on an insight's historical data. Read-only — no AlertCheck records are created. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - alerts requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertSimulate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AlertSimulate' multipart/form-data: schema: $ref: '#/components/schemas/AlertSimulate' required: true security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AlertSimulateResponse' description: '' x-explicit-tags: [] /api/projects/{project_id}/annotations/: get: operationId: annotations_list description: Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - core - annotations security: - PersonalAPIKeyAuth: - annotation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAnnotationList' description: '' x-explicit-tags: - core post: operationId: annotations_create description: Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - annotations requestBody: content: application/json: schema: $ref: '#/components/schemas/Annotation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Annotation' multipart/form-data: schema: $ref: '#/components/schemas/Annotation' security: - PersonalAPIKeyAuth: - annotation:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Annotation' description: '' x-explicit-tags: - core /api/projects/{project_id}/annotations/{id}/: get: operationId: annotations_retrieve description: Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this annotation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - annotations security: - PersonalAPIKeyAuth: - annotation:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Annotation' description: '' x-explicit-tags: - core put: operationId: annotations_update description: Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this annotation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - annotations requestBody: content: application/json: schema: $ref: '#/components/schemas/Annotation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Annotation' multipart/form-data: schema: $ref: '#/components/schemas/Annotation' security: - PersonalAPIKeyAuth: - annotation:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Annotation' description: '' x-explicit-tags: - core patch: operationId: annotations_partial_update description: Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this annotation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - annotations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAnnotation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAnnotation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAnnotation' security: - PersonalAPIKeyAuth: - annotation:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Annotation' description: '' x-explicit-tags: - core delete: operationId: annotations_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this annotation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - annotations security: - PersonalAPIKeyAuth: - annotation:write responses: '405': description: No response body x-explicit-tags: - core /api/projects/{project_id}/batch_exports/: get: operationId: batch_exports_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportList' description: '' x-explicit-tags: - batch_exports post: operationId: batch_exports_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{batch_export_id}/backfills/: get: operationId: batch_exports_backfills_list description: 'ViewSet for BatchExportBackfill models. Allows creating and reading backfills, but not updating or deleting them.' parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportBackfillList' description: '' x-explicit-tags: [] post: operationId: batch_exports_backfills_create description: Create a new backfill for a BatchExport. parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportBackfill' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportBackfill' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' description: '' x-explicit-tags: [] /api/projects/{project_id}/batch_exports/{batch_export_id}/backfills/{id}/: get: operationId: batch_exports_backfills_retrieve description: 'ViewSet for BatchExportBackfill models. Allows creating and reading backfills, but not updating or deleting them.' parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export backfill. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' description: '' x-explicit-tags: [] /api/projects/{project_id}/batch_exports/{batch_export_id}/backfills/{id}/cancel/: post: operationId: batch_exports_backfills_cancel_create description: Cancel a batch export backfill. parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this backfill belongs to. required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export backfill. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportBackfill' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportBackfill' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportBackfill' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/batch_exports/{batch_export_id}/runs/: get: operationId: batch_exports_runs_list parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchExportRunList' description: '' x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{batch_export_id}/runs/{id}/: get: operationId: batch_exports_runs_retrieve parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExportRun' description: '' x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{batch_export_id}/runs/{id}/cancel/: post: operationId: batch_exports_runs_cancel_create description: Cancel a batch export run. parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportRun' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportRun' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportRun' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{batch_export_id}/runs/{id}/logs/: get: operationId: batch_exports_runs_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - batch_exports - batch_exports responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{batch_export_id}/runs/{id}/retry/: post: operationId: batch_exports_runs_retry_create description: 'Retry a batch export run. We use the same underlying mechanism as when backfilling a batch export, as retrying a run is the same as backfilling one run.' parameters: - in: path name: batch_export_id schema: type: string format: uuid description: The BatchExport this run belongs to. required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export run. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExportRun' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExportRun' multipart/form-data: schema: $ref: '#/components/schemas/BatchExportRun' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{id}/: get: operationId: batch_exports_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports put: operationId: batch_exports_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports patch: operationId: batch_exports_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedBatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedBatchExport' multipart/form-data: schema: $ref: '#/components/schemas/PatchedBatchExport' security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/BatchExport' description: '' x-explicit-tags: - batch_exports delete: operationId: batch_exports_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:write responses: '204': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{id}/logs/: get: operationId: batch_exports_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - batch_exports - batch_exports responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{id}/pause/: post: operationId: batch_exports_pause_create description: Pause a BatchExport. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{id}/run_test_step/: post: operationId: batch_exports_run_test_step_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/{id}/unpause/: post: operationId: batch_exports_unpause_create description: Unpause a BatchExport. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this batch export. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/run_test_step_new/: post: operationId: batch_exports_run_test_step_new_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchExport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchExport' multipart/form-data: schema: $ref: '#/components/schemas/BatchExport' required: true security: - PersonalAPIKeyAuth: - batch_export:write responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/batch_exports/test/: get: operationId: batch_exports_test_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - batch_exports - batch_exports security: - PersonalAPIKeyAuth: - batch_export:read responses: '200': description: No response body x-explicit-tags: - batch_exports /api/projects/{project_id}/cohorts/: get: operationId: cohorts_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - cohort:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCohortList' description: '' x-explicit-tags: - core post: operationId: cohorts_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts requestBody: content: application/json: schema: $ref: '#/components/schemas/Cohort' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Cohort' multipart/form-data: schema: $ref: '#/components/schemas/Cohort' security: - PersonalAPIKeyAuth: - cohort:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Cohort' description: '' x-explicit-tags: - core /api/projects/{project_id}/cohorts/{id}/: get: operationId: cohorts_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - cohort:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Cohort' description: '' x-explicit-tags: - core put: operationId: cohorts_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts requestBody: content: application/json: schema: $ref: '#/components/schemas/Cohort' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Cohort' multipart/form-data: schema: $ref: '#/components/schemas/Cohort' security: - PersonalAPIKeyAuth: - cohort:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Cohort' description: '' x-explicit-tags: - core patch: operationId: cohorts_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCohort' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCohort' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCohort' security: - PersonalAPIKeyAuth: - cohort:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Cohort' description: '' x-explicit-tags: - core delete: operationId: cohorts_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - cohort:write responses: '405': description: No response body x-explicit-tags: - core /api/projects/{project_id}/cohorts/{id}/activity/: get: operationId: cohorts_activity_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/cohorts/{id}/add_persons_to_static_cohort/: patch: operationId: cohorts_add_persons_to_static_cohort_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAddPersonsToStaticCohortRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAddPersonsToStaticCohortRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAddPersonsToStaticCohortRequest' security: - PersonalAPIKeyAuth: - cohort:write responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/cohorts/{id}/calculation_history/: get: operationId: cohorts_calculation_history_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - cohort:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/cohorts/{id}/persons/: get: operationId: cohorts_persons_retrieve parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - in: query name: limit schema: type: integer description: Maximum number of persons to return per page (defaults to 100). - in: query name: offset schema: type: integer description: Number of persons to skip before starting to return results. - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - cohort:read - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/CohortPersonsResponse' text/csv: schema: $ref: '#/components/schemas/CohortPersonsResponse' description: '' x-explicit-tags: - core /api/projects/{project_id}/cohorts/{id}/remove_person_from_static_cohort/: patch: operationId: cohorts_remove_person_from_static_cohort_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this cohort. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedRemovePersonRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedRemovePersonRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedRemovePersonRequest' security: - PersonalAPIKeyAuth: - cohort:write responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/cohorts/activity/: get: operationId: cohorts_all_activity_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - cohorts security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/comments/: get: operationId: comments_list parameters: - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - in: query name: item_id schema: type: string minLength: 1 description: Filter by the ID of the resource being commented on. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: scope schema: type: string minLength: 1 description: Filter by resource type (e.g. Dashboard, FeatureFlag, Insight, Replay). - in: query name: search schema: type: string minLength: 1 description: Full-text search within comment content. - in: query name: source_comment schema: type: string minLength: 1 description: Filter replies to a specific parent comment. tags: - core - platform_features - comments security: - PersonalAPIKeyAuth: - comment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCommentList' description: '' x-explicit-tags: - core - platform_features post: operationId: comments_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments requestBody: content: application/json: schema: $ref: '#/components/schemas/Comment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Comment' multipart/form-data: schema: $ref: '#/components/schemas/Comment' required: true security: - PersonalAPIKeyAuth: - comment:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Comment' description: '' x-explicit-tags: - core - platform_features /api/projects/{project_id}/comments/{id}/: get: operationId: comments_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this comment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments security: - PersonalAPIKeyAuth: - comment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Comment' description: '' x-explicit-tags: - core - platform_features put: operationId: comments_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this comment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments requestBody: content: application/json: schema: $ref: '#/components/schemas/Comment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Comment' multipart/form-data: schema: $ref: '#/components/schemas/Comment' required: true security: - PersonalAPIKeyAuth: - comment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Comment' description: '' x-explicit-tags: - core - platform_features patch: operationId: comments_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this comment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedComment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedComment' multipart/form-data: schema: $ref: '#/components/schemas/PatchedComment' security: - PersonalAPIKeyAuth: - comment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Comment' description: '' x-explicit-tags: - core - platform_features delete: operationId: comments_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this comment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments security: - PersonalAPIKeyAuth: - comment:write responses: '405': description: No response body x-explicit-tags: - core - platform_features /api/projects/{project_id}/comments/{id}/thread/: get: operationId: comments_thread_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this comment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments security: - PersonalAPIKeyAuth: - comment:read responses: '200': description: No response body x-explicit-tags: - core - platform_features /api/projects/{project_id}/comments/count/: get: operationId: comments_count_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - platform_features - comments security: - PersonalAPIKeyAuth: - comment:read responses: '200': description: No response body x-explicit-tags: - core - platform_features /api/projects/{project_id}/conversations/tickets/: get: operationId: conversations_tickets_list description: List tickets with person data attached. parameters: - in: query name: assignee schema: type: string description: Filter by assignee. Use `unassigned` for tickets with no assignee, `user:` for a specific user, or `role:` for a role. - in: query name: channel_detail schema: type: string enum: - slack_bot_mention - slack_channel_message - slack_emoji_reaction - teams_bot_mention - teams_channel_message - widget_api - widget_embedded description: Filter by the channel sub-type (e.g. `widget_embedded`, `slack_bot_mention`). - in: query name: channel_source schema: type: string enum: - email - slack - teams - widget description: Filter by the channel the ticket originated from. - in: query name: date_from schema: type: string description: Only include tickets updated on or after this date. Accepts absolute dates (`2026-01-01`) or relative ones (`-7d`, `-1mStart`). Pass `all` to disable the filter. - in: query name: date_to schema: type: string description: Only include tickets updated on or before this date. Same format as `date_from`. - in: query name: distinct_ids schema: type: string description: Comma-separated list of person `distinct_id`s to filter by (max 100). - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: string enum: - -created_at - -sla_due_at - -ticket_number - -updated_at - created_at - sla_due_at - ticket_number - updated_at description: Sort order. Prefix with `-` for descending. Defaults to `-updated_at`. - in: query name: priority schema: type: string description: 'Filter by priority. Accepts a single value or a comma-separated list (e.g. `medium,high`). Valid values: `low`, `medium`, `high`.' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Free-text search. A numeric value matches a ticket number exactly; otherwise matches against the customer's name or email (case-insensitive, partial match). - in: query name: sla schema: type: string enum: - at-risk - breached - on-track description: Filter by SLA state. `breached` = past `sla_due_at`, `at-risk` = due within the next hour, `on-track` = more than an hour remaining. - in: query name: status schema: type: string description: 'Filter by status. Accepts a single value or a comma-separated list (e.g. `new,open,pending`). Valid values: `new`, `open`, `pending`, `on_hold`, `resolved`.' - in: query name: tags schema: type: string description: JSON-encoded array of tag names to filter by, e.g. `["billing","urgent"]`. tags: - conversations security: - PersonalAPIKeyAuth: - ticket:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTicketList' description: '' x-explicit-tags: - conversations post: operationId: conversations_tickets_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/Ticket' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Ticket' multipart/form-data: schema: $ref: '#/components/schemas/Ticket' security: - PersonalAPIKeyAuth: - ticket:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Ticket' description: '' x-explicit-tags: - conversations /api/projects/{project_id}/conversations/tickets/{id}/: get: operationId: conversations_tickets_retrieve description: Get single ticket and mark as read by team. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this ticket. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations security: - PersonalAPIKeyAuth: - ticket:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ticket' description: '' x-explicit-tags: [] put: operationId: conversations_tickets_update description: Handle ticket updates including assignee changes. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this ticket. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/Ticket' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Ticket' multipart/form-data: schema: $ref: '#/components/schemas/Ticket' security: - PersonalAPIKeyAuth: - ticket:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ticket' description: '' x-explicit-tags: [] patch: operationId: conversations_tickets_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this ticket. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTicket' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTicket' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTicket' security: - PersonalAPIKeyAuth: - ticket:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ticket' description: '' x-explicit-tags: [] delete: operationId: conversations_tickets_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this ticket. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations security: - PersonalAPIKeyAuth: - ticket:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/conversations/tickets/{id}/suggest_reply/: post: operationId: conversations_tickets_suggest_reply_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this ticket. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations responses: '200': content: application/json: schema: $ref: '#/components/schemas/SuggestReplyResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/SuggestReplyError' description: '' '403': content: application/json: schema: $ref: '#/components/schemas/SuggestReplyError' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/SuggestReplyError' description: '' x-explicit-tags: [] /api/projects/{project_id}/conversations/tickets/bulk_update_tags/: post: operationId: conversations_tickets_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - conversations /api/projects/{project_id}/conversations/tickets/unread_count/: get: operationId: conversations_tickets_unread_count_retrieve description: 'Get total unread ticket count for the team. Returns the sum of unread_team_count for all non-resolved tickets. Cached in Redis for 30 seconds, invalidated on changes.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - conversations responses: '200': content: application/json: schema: $ref: '#/components/schemas/Ticket' description: '' x-explicit-tags: - conversations /api/projects/{project_id}/dashboard_templates/: get: operationId: dashboard_templates_list parameters: - in: query name: is_featured schema: type: boolean description: Omit for all templates. When set, filter by featured flag; parsed with str_to_bool (same as other API query booleans). - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: ordering schema: type: string enum: - -created_at - -template_name - created_at - template_name description: Optional. When not using `search`, results are sorted with featured templates first (`is_featured=true`), then by `template_name` (case-insensitive A–Z; `-template_name` for Z–A) or by `created_at` (`-created_at` for newest first). When `search` is set, order is featured first, then relevance rank, then case-insensitive name for ties. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: scope schema: type: string enum: - feature_flag - global - team description: 'Optional. `global`: official templates only. `team`: this project''s saved templates only (`scope=team` rows for the current project). `feature_flag`: feature-flag dashboard templates only. Omit for both official and this project''s templates (default dashboard template picker behavior).' tags: - core - dashboard_templates security: - PersonalAPIKeyAuth: - dashboard_template:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDashboardTemplateList' description: '' x-explicit-tags: - core - dashboards post: operationId: dashboard_templates_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates requestBody: content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DashboardTemplate' multipart/form-data: schema: $ref: '#/components/schemas/DashboardTemplate' security: - PersonalAPIKeyAuth: - dashboard_template:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' description: '' x-explicit-tags: - core - dashboards /api/projects/{project_id}/dashboard_templates/{id}/: get: operationId: dashboard_templates_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dashboard template. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates security: - PersonalAPIKeyAuth: - dashboard_template:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' description: '' x-explicit-tags: - core put: operationId: dashboard_templates_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dashboard template. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates requestBody: content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DashboardTemplate' multipart/form-data: schema: $ref: '#/components/schemas/DashboardTemplate' security: - PersonalAPIKeyAuth: - dashboard_template:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' description: '' x-explicit-tags: - core patch: operationId: dashboard_templates_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dashboard template. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDashboardTemplate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDashboardTemplate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDashboardTemplate' security: - PersonalAPIKeyAuth: - dashboard_template:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' description: '' x-explicit-tags: - core delete: operationId: dashboard_templates_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dashboard template. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates security: - PersonalAPIKeyAuth: - dashboard_template:write responses: '405': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboard_templates/copy_between_projects/: post: operationId: dashboard_templates_copy_between_projects_create description: Creates a new team-scoped template in the **target** project (URL) from a **team-scoped** source template in the same organization. Global and feature-flag templates return 400. Cross-organization or inaccessible sources return 404. Source and destination projects must differ (400 if equal). Conflicting `template_name` values on the destination are auto-suffixed with `(copy)`, `(copy 2)`, … summary: Copy a team template to this project parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyDashboardTemplate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CopyDashboardTemplate' multipart/form-data: schema: $ref: '#/components/schemas/CopyDashboardTemplate' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DashboardTemplate' description: '' x-explicit-tags: - core - dashboards /api/projects/{project_id}/dashboard_templates/json_schema/: get: operationId: dashboard_templates_json_schema_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboard_templates responses: '200': description: No response body x-explicit-tags: - core - dashboards /api/projects/{project_id}/dashboards/: get: operationId: dashboards_list parameters: - in: query name: format schema: type: string enum: - json - txt - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards security: - PersonalAPIKeyAuth: - dashboard:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDashboardBasicList' text/event-stream: schema: $ref: '#/components/schemas/PaginatedDashboardBasicList' description: '' x-explicit-tags: - core - dashboards post: operationId: dashboards_create parameters: - in: query name: format schema: type: string enum: - json - txt - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' security: - PersonalAPIKeyAuth: - dashboard:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' x-explicit-tags: - core - dashboards /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/: get: operationId: dashboards_collaborators_list parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards security: - PersonalAPIKeyAuth: - dashboard:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/DashboardCollaborator' description: '' x-explicit-tags: [] post: operationId: dashboards_collaborators_create parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/DashboardCollaborator' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DashboardCollaborator' multipart/form-data: schema: $ref: '#/components/schemas/DashboardCollaborator' required: true security: - PersonalAPIKeyAuth: - dashboard:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DashboardCollaborator' description: '' x-explicit-tags: [] /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/: delete: operationId: dashboards_collaborators_destroy parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: user__uuid schema: type: string format: uuid required: true tags: - dashboards security: - PersonalAPIKeyAuth: - dashboard:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/: get: operationId: dashboards_sharing_list parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards security: - PersonalAPIKeyAuth: - sharing_configuration:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/: post: operationId: dashboards_sharing_passwords_create description: Create a new password for the sharing configuration. parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/: delete: operationId: dashboards_sharing_passwords_destroy description: Delete a password from the sharing configuration. parameters: - in: path name: dashboard_id schema: type: integer required: true - in: path name: password_id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/refresh/: post: operationId: dashboards_sharing_refresh_create parameters: - in: path name: dashboard_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/: get: operationId: dashboards_retrieve parameters: - in: query name: filters_override schema: type: string description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token. - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: variables_override schema: type: string description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"": {"code_name": "", "variableId": "", "value": }}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.' tags: - core - dashboards security: - PersonalAPIKeyAuth: - dashboard:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' x-explicit-tags: - core put: operationId: dashboards_update parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' x-explicit-tags: - core patch: operationId: dashboards_partial_update parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDashboard' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDashboard' security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' x-explicit-tags: - core delete: operationId: dashboards_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards security: - PersonalAPIKeyAuth: - dashboard:write responses: '405': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/analyze_refresh_result/: post: operationId: dashboards_analyze_refresh_result_create description: 'Generate AI analysis comparing before/after dashboard refresh. Expects cache_key in request body pointing to the stored ''before'' state.' parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/copy_tile/: post: operationId: dashboards_copy_tile_create description: Copy an existing dashboard tile to another dashboard (insight or text card; new tile row). parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyDashboardTileRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CopyDashboardTileRequest' multipart/form-data: schema: $ref: '#/components/schemas/CopyDashboardTileRequest' required: true security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/move_tile/: patch: operationId: dashboards_move_tile_partial_update parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDashboard' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDashboard' responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/reorder_tiles/: post: operationId: dashboards_reorder_tiles_create parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/ReorderTilesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ReorderTilesRequest' multipart/form-data: schema: $ref: '#/components/schemas/ReorderTilesRequest' required: true security: - PersonalAPIKeyAuth: - dashboard:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' text/event-stream: schema: $ref: '#/components/schemas/Dashboard' description: '' x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/run_insights/: get: operationId: dashboards_run_insights_retrieve description: Run all insights on a dashboard and return their results. parameters: - in: query name: filters_override schema: type: string description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token. - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - in: query name: output_format schema: type: string enum: - json - optimized description: '''optimized'' (default) returns LLM-friendly formatted text per insight. ''json'' returns the raw query result objects.' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: refresh schema: type: string enum: - blocking - force_blocking - force_cache description: Cache behavior. 'force_cache' (default) serves from cache even if stale. 'blocking' uses cache if fresh, otherwise recalculates. 'force_blocking' always recalculates. - in: query name: variables_override schema: type: string description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"": {"code_name": "", "variableId": "", "value": }}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.' tags: - core - dashboards security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/RunInsightsResponse' text/event-stream: schema: $ref: '#/components/schemas/RunInsightsResponse' description: '' x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/snapshot/: post: operationId: dashboards_snapshot_create description: 'Snapshot the current dashboard state (from cache) for AI analysis. Returns a cache_key representing the ''before'' state, to be used with analyze_refresh_result.' parameters: - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboards/{id}/stream_tiles/: get: operationId: dashboards_stream_tiles_retrieve description: Stream dashboard metadata and tiles via Server-Sent Events. Sends metadata first, then tiles as they are rendered. parameters: - in: query name: filters_override schema: type: string description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token. - in: query name: format schema: type: string enum: - json - txt - in: path name: id schema: type: integer description: A unique integer value identifying this dashboard. required: true - in: query name: layoutSize schema: type: string enum: - sm - xs description: Layout size for tile positioning. 'sm' (default) for standard, 'xs' for mobile. The snake_case alias `layout_size` is also accepted for backward compatibility. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: variables_override schema: type: string description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"": {"code_name": "", "variableId": "", "value": }}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.' tags: - core - dashboards responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/dashboards/bulk_update_tags/: post: operationId: dashboards_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - in: query name: format schema: type: string enum: - json - txt - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' text/event-stream: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - core - dashboards /api/projects/{project_id}/dashboards/create_from_template_json/: post: operationId: dashboards_create_from_template_json_create parameters: - in: query name: format schema: type: string enum: - json - txt - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body x-explicit-tags: - core - dashboards /api/projects/{project_id}/dashboards/create_unlisted_dashboard/: post: operationId: dashboards_create_unlisted_dashboard_create description: 'Creates an unlisted dashboard from template by tag. Enforces uniqueness (one per tag per team). Returns 409 if unlisted dashboard with this tag already exists.' parameters: - in: query name: format schema: type: string enum: - json - txt - $ref: '#/components/parameters/ProjectIdPath' tags: - core - dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dashboard' multipart/form-data: schema: $ref: '#/components/schemas/Dashboard' responses: '200': description: No response body x-explicit-tags: - core - dashboards /api/projects/{project_id}/data_color_themes/: get: operationId: data_color_themes_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards - data_color_themes security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataColorThemeList' description: '' x-explicit-tags: - dashboards post: operationId: data_color_themes_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards - data_color_themes requestBody: content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataColorTheme' multipart/form-data: schema: $ref: '#/components/schemas/DataColorTheme' required: true security: - PersonalAPIKeyAuth: - project:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' x-explicit-tags: - dashboards /api/projects/{project_id}/data_color_themes/{id}/: get: operationId: data_color_themes_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards - data_color_themes security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' x-explicit-tags: - dashboards put: operationId: data_color_themes_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards - data_color_themes requestBody: content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataColorTheme' multipart/form-data: schema: $ref: '#/components/schemas/DataColorTheme' required: true security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' x-explicit-tags: - dashboards patch: operationId: data_color_themes_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards - data_color_themes requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataColorTheme' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataColorTheme' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataColorTheme' security: - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataColorTheme' description: '' x-explicit-tags: - dashboards delete: operationId: data_color_themes_destroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this data color theme. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - dashboards - data_color_themes security: - PersonalAPIKeyAuth: - project:write responses: '204': description: No response body x-explicit-tags: - dashboards /api/projects/{project_id}/data_modeling_jobs/: get: operationId: data_modeling_jobs_list description: List data modeling jobs which are "runs" for our saved queries. parameters: - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: saved_query_id schema: type: string format: uuid tags: - data_warehouse - data_modeling_jobs security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataModelingJobList' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_modeling_jobs/{id}/: get: operationId: data_modeling_jobs_retrieve description: List data modeling jobs which are "runs" for our saved queries. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data modeling job. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - data_modeling_jobs security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataModelingJob' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_modeling_jobs/recent/: get: operationId: data_modeling_jobs_recent_retrieve description: Get the most recent non-running job for each saved query from the v2 backend. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - data_modeling_jobs responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataModelingJob' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_modeling_jobs/running/: get: operationId: data_modeling_jobs_running_retrieve description: Get all currently running jobs from the v2 backend. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - data_modeling_jobs responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataModelingJob' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/check-database-name/: get: operationId: data_warehouse_check_database_name_retrieve description: Check if a database name is available. parameters: - in: query name: name schema: type: string minLength: 1 description: Database name to check required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': content: application/json: schema: $ref: '#/components/schemas/CheckDatabaseNameResponse' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/completed_activity/: get: operationId: data_warehouse_completed_activity_retrieve description: 'Returns completed/non-running activities (jobs with status ''Completed''). Supports pagination and cutoff time filtering.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/data_health_issues/: get: operationId: data_warehouse_data_health_issues_retrieve description: 'Returns failed/disabled data pipeline items for the Pipeline status side panel. Includes: materializations, syncs, sources, destinations, and transformations.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/data_ops_dashboard/: get: operationId: data_warehouse_data_ops_dashboard_retrieve description: Returns the data ops overview dashboard ID for this team, creating it if it doesn't exist yet. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/deprovision/: post: operationId: data_warehouse_deprovision_create description: Start deprovisioning the managed warehouse for this team. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeprovisionWarehouseResponse' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/job_stats/: get: operationId: data_warehouse_job_stats_retrieve description: 'Returns success and failed job statistics for the last 1, 7, or 30 days. Query parameter ''days'' can be 1, 7, or 30 (default: 7).' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/property_values/: get: operationId: data_warehouse_property_values_retrieve description: API endpoints for data warehouse aggregate statistics and operations. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/provision/: post: operationId: data_warehouse_provision_create description: Start provisioning a managed warehouse for this team. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse requestBody: content: application/json: schema: $ref: '#/components/schemas/ProvisionWarehouseRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProvisionWarehouseRequest' multipart/form-data: schema: $ref: '#/components/schemas/ProvisionWarehouseRequest' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProvisionWarehouseResponse' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/reset-password/: post: operationId: data_warehouse_reset_password_create description: Reset the root password for the managed warehouse. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResetPasswordResponse' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/running_activity/: get: operationId: data_warehouse_running_activity_retrieve description: 'Returns currently running activities (jobs with status ''Running''). Supports pagination and cutoff time filtering.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/total_rows_stats/: get: operationId: data_warehouse_total_rows_stats_retrieve description: 'Returns aggregated statistics for the data warehouse total rows processed within the current billing period. Used by the frontend data warehouse scene to display usage information.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/data_warehouse/warehouse_status/: get: operationId: data_warehouse_warehouse_status_retrieve description: Get the current provisioning status of the managed warehouse. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse responses: '200': content: application/json: schema: $ref: '#/components/schemas/WarehouseStatusResponse' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/dataset_items/: get: operationId: dataset_items_list parameters: - in: query name: dataset schema: type: string description: Filter by dataset ID examples: SingleDatasetID: value: 695401fa-6f0e-4389-b186-c45a7f1273d3 summary: Single dataset ID - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - dataset_items security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDatasetItemList' description: '' x-explicit-tags: - llm_analytics post: operationId: dataset_items_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - dataset_items requestBody: content: application/json: schema: $ref: '#/components/schemas/DatasetItem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DatasetItem' multipart/form-data: schema: $ref: '#/components/schemas/DatasetItem' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' x-explicit-tags: - llm_analytics /api/projects/{project_id}/dataset_items/{id}/: get: operationId: dataset_items_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - dataset_items security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' x-explicit-tags: - llm_analytics put: operationId: dataset_items_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - dataset_items requestBody: content: application/json: schema: $ref: '#/components/schemas/DatasetItem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DatasetItem' multipart/form-data: schema: $ref: '#/components/schemas/DatasetItem' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' x-explicit-tags: - llm_analytics patch: operationId: dataset_items_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - dataset_items requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDatasetItem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDatasetItem' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDatasetItem' security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DatasetItem' description: '' x-explicit-tags: - llm_analytics delete: operationId: dataset_items_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset item. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - dataset_items security: - PersonalAPIKeyAuth: - dataset:write responses: '405': description: No response body x-explicit-tags: - llm_analytics /api/projects/{project_id}/datasets/: get: operationId: datasets_list parameters: - in: query name: id__in schema: type: array items: type: string format: uuid description: Multiple values may be separated by commas. explode: false style: form - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order_by schema: type: array items: type: string enum: - -created_at - -updated_at - created_at - updated_at description: 'Ordering * `created_at` - Created At * `-created_at` - Created At (descending) * `updated_at` - Updated At * `-updated_at` - Updated At (descending)' explode: false style: form - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search in name, description, or metadata tags: - llm_analytics - datasets security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDatasetList' description: '' x-explicit-tags: - llm_analytics post: operationId: datasets_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - datasets requestBody: content: application/json: schema: $ref: '#/components/schemas/Dataset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dataset' multipart/form-data: schema: $ref: '#/components/schemas/Dataset' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' x-explicit-tags: - llm_analytics /api/projects/{project_id}/datasets/{id}/: get: operationId: datasets_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - datasets security: - PersonalAPIKeyAuth: - dataset:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' x-explicit-tags: - llm_analytics put: operationId: datasets_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - datasets requestBody: content: application/json: schema: $ref: '#/components/schemas/Dataset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dataset' multipart/form-data: schema: $ref: '#/components/schemas/Dataset' required: true security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' x-explicit-tags: - llm_analytics patch: operationId: datasets_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - datasets requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataset' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataset' security: - PersonalAPIKeyAuth: - dataset:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dataset' description: '' x-explicit-tags: - llm_analytics delete: operationId: datasets_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this dataset. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - llm_analytics - datasets security: - PersonalAPIKeyAuth: - dataset:write responses: '405': description: No response body x-explicit-tags: - llm_analytics /api/projects/{project_id}/early_access_feature/: get: operationId: early_access_feature_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - early_access_features - early_access_feature security: - PersonalAPIKeyAuth: - early_access_feature:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEarlyAccessFeatureList' description: '' x-explicit-tags: - early_access_features post: operationId: early_access_feature_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - early_access_features - early_access_feature requestBody: content: application/json: schema: $ref: '#/components/schemas/EarlyAccessFeatureSerializerCreateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EarlyAccessFeatureSerializerCreateOnly' multipart/form-data: schema: $ref: '#/components/schemas/EarlyAccessFeatureSerializerCreateOnly' required: true security: - PersonalAPIKeyAuth: - early_access_feature:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/EarlyAccessFeatureSerializerCreateOnly' description: '' x-explicit-tags: - early_access_features /api/projects/{project_id}/early_access_feature/{id}/: get: operationId: early_access_feature_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this early access feature. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - early_access_features - early_access_feature security: - PersonalAPIKeyAuth: - early_access_feature:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EarlyAccessFeature' description: '' x-explicit-tags: - early_access_features put: operationId: early_access_feature_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this early access feature. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - early_access_features - early_access_feature requestBody: content: application/json: schema: $ref: '#/components/schemas/EarlyAccessFeature' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EarlyAccessFeature' multipart/form-data: schema: $ref: '#/components/schemas/EarlyAccessFeature' required: true security: - PersonalAPIKeyAuth: - early_access_feature:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EarlyAccessFeature' description: '' x-explicit-tags: - early_access_features patch: operationId: early_access_feature_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this early access feature. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - early_access_features - early_access_feature requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEarlyAccessFeature' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEarlyAccessFeature' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEarlyAccessFeature' security: - PersonalAPIKeyAuth: - early_access_feature:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EarlyAccessFeature' description: '' x-explicit-tags: - early_access_features delete: operationId: early_access_feature_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this early access feature. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - early_access_features - early_access_feature security: - PersonalAPIKeyAuth: - early_access_feature:write responses: '204': description: No response body x-explicit-tags: - early_access_features /api/projects/{project_id}/elements/: get: operationId: elements_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedElementList' description: '' x-explicit-tags: - product_analytics post: operationId: elements_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements requestBody: content: application/json: schema: $ref: '#/components/schemas/Element' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Element' multipart/form-data: schema: $ref: '#/components/schemas/Element' security: - PersonalAPIKeyAuth: - element:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' x-explicit-tags: - product_analytics /api/projects/{project_id}/elements/{id}/: get: operationId: elements_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' x-explicit-tags: - product_analytics put: operationId: elements_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements requestBody: content: application/json: schema: $ref: '#/components/schemas/Element' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Element' multipart/form-data: schema: $ref: '#/components/schemas/Element' security: - PersonalAPIKeyAuth: - element:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' x-explicit-tags: - product_analytics patch: operationId: elements_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedElement' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedElement' multipart/form-data: schema: $ref: '#/components/schemas/PatchedElement' security: - PersonalAPIKeyAuth: - element:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Element' description: '' x-explicit-tags: - product_analytics delete: operationId: elements_destroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this element. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:write responses: '204': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/elements/stats/: get: operationId: elements_stats_retrieve description: 'The original version of this API always and only returned $autocapture elements If no include query parameter is sent this remains true. Now, you can pass a combination of include query parameters to get different types of elements Currently only $autocapture and $rageclick and $dead_click are supported' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/elements/values/: get: operationId: elements_values_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - elements security: - PersonalAPIKeyAuth: - element:read responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/endpoints/: get: operationId: endpoints_list description: List all endpoints for the team. parameters: - in: query name: created_by schema: type: integer - in: query name: is_active schema: type: boolean - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEndpointResponseList' description: '' x-explicit-tags: - endpoints post: operationId: endpoints_create description: Create a new endpoint. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointRequest' security: - PersonalAPIKeyAuth: - endpoint:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/EndpointResponse' description: '' x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/{name}/: get: operationId: endpoints_retrieve description: Retrieve an endpoint, or a specific version via ?version=N. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointVersionResponse' description: '' x-explicit-tags: - endpoints put: operationId: endpoints_update description: Update an existing endpoint. Parameters are optional. Pass version in body or ?version=N query param to target a specific version. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointRequest' security: - PersonalAPIKeyAuth: - endpoint:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointResponse' description: '' x-explicit-tags: - endpoints patch: operationId: endpoints_partial_update description: Update an existing endpoint. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEndpointRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEndpointRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEndpointRequest' security: - PersonalAPIKeyAuth: - endpoint:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointResponse' description: '' x-explicit-tags: - endpoints delete: operationId: endpoints_destroy description: Delete an endpoint and clean up materialized query. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:write responses: '204': description: No response body x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/{name}/materialization_preview/: post: operationId: endpoints_materialization_preview_create description: Preview the materialization transform for an endpoint. Shows what the query will look like after materialization, including range pair detection and bucket functions. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/MaterializationPreviewRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MaterializationPreviewRequest' multipart/form-data: schema: $ref: '#/components/schemas/MaterializationPreviewRequest' security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': description: No response body x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/{name}/materialization_status/: get: operationId: endpoints_materialization_status_retrieve description: Get materialization status for an endpoint. Supports ?version=N query param. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointMaterialization' description: '' x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/{name}/openapi.json/: get: operationId: endpoints_openapi.json_retrieve description: Get OpenAPI 3.0 specification for this endpoint. Use this to generate typed SDK clients. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: version schema: type: integer description: Specific endpoint version to generate the spec for. Defaults to latest. tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': description: No response body x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/{name}/run/: get: operationId: endpoints_run_retrieve description: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointRunResponse' description: '' x-explicit-tags: - endpoints post: operationId: endpoints_run_create description: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set. parameters: - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointRunRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointRunRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointRunRequest' security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointRunResponse' description: '' x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/{name}/versions/: get: operationId: endpoints_versions_list description: List all versions for an endpoint. parameters: - in: query name: created_by schema: type: integer - in: query name: is_active schema: type: boolean - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: name schema: type: string description: URL-safe name for the endpoint required: true - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints security: - PersonalAPIKeyAuth: - endpoint:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEndpointVersionResponseList' description: '' x-explicit-tags: - endpoints /api/projects/{project_id}/endpoints/last_execution_times/: post: operationId: endpoints_last_execution_times_create description: Get the last execution times in the past 6 months for multiple endpoints. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - endpoints - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointLastExecutionTimesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndpointLastExecutionTimesRequest' multipart/form-data: schema: $ref: '#/components/schemas/EndpointLastExecutionTimesRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryStatusResponse' description: '' x-explicit-tags: - endpoints /api/projects/{project_id}/environments/: get: operationId: environments_list description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - environments security: - PersonalAPIKeyAuth: - project:read deprecated: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTeamBasicList' description: '' x-explicit-tags: [] post: operationId: environments_create description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/Team' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Team' multipart/form-data: schema: $ref: '#/components/schemas/Team' security: - PersonalAPIKeyAuth: - project:write deprecated: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Team' description: '' x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/: get: operationId: environments_retrieve description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments security: - PersonalAPIKeyAuth: - project:read deprecated: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Team' description: '' x-explicit-tags: [] put: operationId: environments_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/Team' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Team' multipart/form-data: schema: $ref: '#/components/schemas/Team' security: - PersonalAPIKeyAuth: - project:write deprecated: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Team' description: '' x-explicit-tags: [] patch: operationId: environments_partial_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' security: - PersonalAPIKeyAuth: - project:write deprecated: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Team' description: '' x-explicit-tags: [] delete: operationId: environments_destroy description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments security: - PersonalAPIKeyAuth: - project:write deprecated: true responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/activity/: get: operationId: environments_activity_retrieve description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/add_product_intent/: patch: operationId: environments_add_product_intent_partial_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' security: - PersonalAPIKeyAuth: - project:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/complete_product_onboarding/: patch: operationId: environments_complete_product_onboarding_partial_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' security: - PersonalAPIKeyAuth: - project:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/default_evaluation_contexts/: get: operationId: environments_default_evaluation_contexts_retrieve description: Manage default evaluation contexts for a team. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '200': description: No response body x-explicit-tags: [] post: operationId: environments_default_evaluation_contexts_create description: Manage default evaluation contexts for a team. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/Team' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Team' multipart/form-data: schema: $ref: '#/components/schemas/Team' responses: '200': description: No response body x-explicit-tags: [] delete: operationId: environments_default_evaluation_contexts_destroy description: Manage default evaluation contexts for a team. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/default_release_conditions/: get: operationId: environments_default_release_conditions_retrieve description: Manage default release conditions for new feature flags in this team. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '200': description: No response body x-explicit-tags: [] put: operationId: environments_default_release_conditions_update description: Manage default release conditions for new feature flags in this team. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/Team' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Team' multipart/form-data: schema: $ref: '#/components/schemas/Team' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/delete_secret_token_backup/: patch: operationId: environments_delete_secret_token_backup_partial_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/event_ingestion_restrictions/: get: operationId: environments_event_ingestion_restrictions_retrieve description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments security: - PersonalAPIKeyAuth: - project:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/experiments_config/: get: operationId: environments_experiments_config_retrieve description: Manage experiment configuration for this environment. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '200': description: No response body x-explicit-tags: [] patch: operationId: environments_experiments_config_partial_update description: Manage experiment configuration for this environment. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/generate_conversations_public_token/: post: operationId: environments_generate_conversations_public_token_create description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/Team' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Team' multipart/form-data: schema: $ref: '#/components/schemas/Team' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/is_generating_demo_data/: get: operationId: environments_is_generating_demo_data_retrieve description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/reset_token/: patch: operationId: environments_reset_token_partial_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/rotate_secret_token/: patch: operationId: environments_rotate_secret_token_partial_update description: 'Deprecated: use /api/environments/{id}/ instead.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTeam' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTeam' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTeam' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/environments/{id}/settings_as_of/: get: operationId: environments_settings_as_of_retrieve description: 'Return the team settings as of the provided timestamp. Query params: - at: ISO8601 datetime (required) - scope: optional, one or multiple keys to filter the returned settings' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this environment (aka team). required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - environments responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/error_tracking/releases/: get: operationId: error_tracking_releases_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingReleaseList' description: '' x-explicit-tags: - error_tracking post: operationId: error_tracking_releases_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingRelease' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingRelease' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/releases/{id}/: get: operationId: error_tracking_releases_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' x-explicit-tags: - error_tracking put: operationId: error_tracking_releases_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ErrorTrackingRelease' multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingRelease' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' x-explicit-tags: - error_tracking patch: operationId: error_tracking_releases_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedErrorTrackingRelease' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedErrorTrackingRelease' multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingRelease' security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingRelease' description: '' x-explicit-tags: - error_tracking delete: operationId: error_tracking_releases_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking release. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/releases/hash/{hash_id}/: get: operationId: error_tracking_releases_hash_retrieve parameters: - in: path name: hash_id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/: get: operationId: error_tracking_symbol_sets_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedErrorTrackingSymbolSetList' description: '' x-explicit-tags: - error_tracking post: operationId: error_tracking_symbol_sets_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/{id}/: get: operationId: error_tracking_symbol_sets_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' x-explicit-tags: - error_tracking put: operationId: error_tracking_symbol_sets_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' x-explicit-tags: - error_tracking patch: operationId: error_tracking_symbol_sets_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PatchedErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/PatchedErrorTrackingSymbolSet' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' description: '' x-explicit-tags: - error_tracking delete: operationId: error_tracking_symbol_sets_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:write responses: '204': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/{id}/download/: get: operationId: error_tracking_symbol_sets_download_retrieve description: Return a presigned URL for downloading the symbol set's source map. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking security: - PersonalAPIKeyAuth: - error_tracking:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_SymbolSetDownloadResponse' description: '' x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/{id}/finish_upload/: put: operationId: error_tracking_symbol_sets_finish_upload_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this error tracking symbol set. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/bulk_delete/: post: operationId: error_tracking_symbol_sets_bulk_delete_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/bulk_finish_upload/: post: operationId: error_tracking_symbol_sets_bulk_finish_upload_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/bulk_start_upload/: post: operationId: error_tracking_symbol_sets_bulk_start_upload_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: application/json: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/error_tracking/symbol_sets/start_upload/: post: operationId: error_tracking_symbol_sets_start_upload_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - error_tracking - error_tracking requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' '*/*': schema: $ref: '#/components/schemas/ErrorTrackingSymbolSet' required: true security: - PersonalAPIKeyAuth: - error_tracking:write responses: '200': description: No response body x-explicit-tags: - error_tracking /api/projects/{project_id}/event_definitions/: get: operationId: event_definitions_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterpriseEventDefinitionList' description: '' x-explicit-tags: - core post: operationId: event_definitions_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' required: true security: - PersonalAPIKeyAuth: - event_definition:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' description: '' x-explicit-tags: - core /api/projects/{project_id}/event_definitions/{id}/: get: operationId: event_definitions_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' description: '' x-explicit-tags: - core put: operationId: event_definitions_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' multipart/form-data: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' required: true security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' description: '' x-explicit-tags: - core patch: operationId: event_definitions_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterpriseEventDefinition' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterpriseEventDefinition' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterpriseEventDefinition' security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterpriseEventDefinition' description: '' x-explicit-tags: - core delete: operationId: event_definitions_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/event_definitions/{id}/metrics/: get: operationId: event_definitions_metrics_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/event_definitions/bulk_update_tags/: post: operationId: event_definitions_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - core /api/projects/{project_id}/event_definitions/by_name/: get: operationId: event_definitions_by_name_retrieve description: Get event definition by exact name parameters: - in: query name: name schema: type: string description: The exact event name to look up required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventDefinitionRecord' description: '' x-explicit-tags: - core /api/projects/{project_id}/event_definitions/golang/: get: operationId: event_definitions_golang_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/event_definitions/promoted_properties/: get: operationId: event_definitions_promoted_properties_retrieve description: 'Resolve team-configured promoted properties for event definitions. The response only contains entries where a non-null promoted_property is set on the EventDefinition. Callers should fall back to the core taxonomy defaults client-side for names not present in the response.' parameters: - in: query name: names schema: type: array items: type: string description: 'Optional: restrict the response to these event names. Repeat the parameter for multiple names (e.g. `?names=a&names=b`). When omitted, returns every team-configured promoted property.' - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PromotedPropertiesResponse' description: '' x-explicit-tags: - core /api/projects/{project_id}/event_definitions/python/: get: operationId: event_definitions_python_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/event_definitions/typescript/: get: operationId: event_definitions_typescript_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - event_definitions security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/event_schemas/: get: operationId: event_schemas_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - event_schemas security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEventSchemaList' description: '' x-explicit-tags: [] post: operationId: event_schemas_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - event_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/EventSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EventSchema' multipart/form-data: schema: $ref: '#/components/schemas/EventSchema' required: true security: - PersonalAPIKeyAuth: - event_definition:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/EventSchema' description: '' x-explicit-tags: [] /api/projects/{project_id}/event_schemas/{id}/: put: operationId: event_schemas_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - event_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/EventSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EventSchema' multipart/form-data: schema: $ref: '#/components/schemas/EventSchema' required: true security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventSchema' description: '' x-explicit-tags: [] patch: operationId: event_schemas_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - event_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEventSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEventSchema' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEventSchema' security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventSchema' description: '' x-explicit-tags: [] delete: operationId: event_schemas_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this event schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - event_schemas security: - PersonalAPIKeyAuth: - event_definition:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/events/: get: operationId: events_list description: "\n This endpoint allows you to list and filter events.\n\ \ It is effectively deprecated and is kept only for backwards compatibility.\n\ \ If you ever ask about it you will be advised to not use it...\n \ \ If you want to ad-hoc list or aggregate events, use the Query endpoint\ \ instead.\n If you want to export all events or many pages of events\ \ you should use our CDP/Batch Exports products instead.\n " parameters: - in: query name: after schema: type: string format: date-time description: 'Only return events with a timestamp after this time. Default: now() - 24 hours.' - in: query name: before schema: type: string format: date-time description: 'Only return events with a timestamp before this time. Default: now() + 5 seconds.' - in: query name: distinct_id schema: type: integer description: Filter list by distinct id. - in: query name: event schema: type: string description: Filter list by event. For example `user sign up` or `$pageview`. - in: query name: format schema: type: string enum: - csv - json - in: query name: limit schema: type: integer description: The maximum number of results to return - in: query name: offset schema: type: integer description: 'Allows to skip first offset rows. Will fail for value larger than 100000. Read about proper way of paginating: https://posthog.com/docs/api/queries#5-use-timestamp-based-pagination-instead-of-offset' deprecated: true - in: query name: person_id schema: type: integer description: Filter list by person id. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: properties schema: type: array items: $ref: '#/components/schemas/Property' description: Filter events by event property, person property, cohort, groups and more. - in: query name: select schema: type: array items: type: string description: (Experimental) JSON-serialized array of HogQL expressions to return - in: query name: where schema: type: array items: type: string description: (Experimental) JSON-serialized array of HogQL expressions that must pass tags: - events security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedClickhouseEventList' text/csv: schema: $ref: '#/components/schemas/PaginatedClickhouseEventList' description: '' x-explicit-tags: [] /api/projects/{project_id}/events/{id}/: get: operationId: events_retrieve parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - events security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: type: object additionalProperties: true text/csv: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/events/values/: get: operationId: events_values_retrieve parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - events security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/experiment_holdouts/: get: operationId: experiment_holdouts_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_holdouts security: - PersonalAPIKeyAuth: - experiment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExperimentHoldoutList' description: '' x-explicit-tags: - experiments post: operationId: experiment_holdouts_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_holdouts requestBody: content: application/json: schema: $ref: '#/components/schemas/ExperimentHoldout' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExperimentHoldout' multipart/form-data: schema: $ref: '#/components/schemas/ExperimentHoldout' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExperimentHoldout' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiment_holdouts/{id}/: get: operationId: experiment_holdouts_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment holdout. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_holdouts security: - PersonalAPIKeyAuth: - experiment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExperimentHoldout' description: '' x-explicit-tags: - experiments put: operationId: experiment_holdouts_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment holdout. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_holdouts requestBody: content: application/json: schema: $ref: '#/components/schemas/ExperimentHoldout' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExperimentHoldout' multipart/form-data: schema: $ref: '#/components/schemas/ExperimentHoldout' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExperimentHoldout' description: '' x-explicit-tags: - experiments patch: operationId: experiment_holdouts_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment holdout. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_holdouts requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExperimentHoldout' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExperimentHoldout' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExperimentHoldout' security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExperimentHoldout' description: '' x-explicit-tags: - experiments delete: operationId: experiment_holdouts_destroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment holdout. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_holdouts security: - PersonalAPIKeyAuth: - experiment:write responses: '204': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiment_saved_metrics/: get: operationId: experiment_saved_metrics_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_saved_metrics security: - PersonalAPIKeyAuth: - experiment_saved_metric:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExperimentSavedMetricList' description: '' x-explicit-tags: - experiments post: operationId: experiment_saved_metrics_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_saved_metrics requestBody: content: application/json: schema: $ref: '#/components/schemas/ExperimentSavedMetric' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExperimentSavedMetric' multipart/form-data: schema: $ref: '#/components/schemas/ExperimentSavedMetric' required: true security: - PersonalAPIKeyAuth: - experiment_saved_metric:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExperimentSavedMetric' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiment_saved_metrics/{id}/: get: operationId: experiment_saved_metrics_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment saved metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_saved_metrics security: - PersonalAPIKeyAuth: - experiment_saved_metric:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExperimentSavedMetric' description: '' x-explicit-tags: - experiments put: operationId: experiment_saved_metrics_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment saved metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_saved_metrics requestBody: content: application/json: schema: $ref: '#/components/schemas/ExperimentSavedMetric' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExperimentSavedMetric' multipart/form-data: schema: $ref: '#/components/schemas/ExperimentSavedMetric' required: true security: - PersonalAPIKeyAuth: - experiment_saved_metric:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExperimentSavedMetric' description: '' x-explicit-tags: - experiments patch: operationId: experiment_saved_metrics_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment saved metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_saved_metrics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExperimentSavedMetric' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExperimentSavedMetric' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExperimentSavedMetric' security: - PersonalAPIKeyAuth: - experiment_saved_metric:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExperimentSavedMetric' description: '' x-explicit-tags: - experiments delete: operationId: experiment_saved_metrics_destroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment saved metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiment_saved_metrics security: - PersonalAPIKeyAuth: - experiment_saved_metric:write responses: '204': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/: get: operationId: experiments_list description: List experiments for the current project. Supports filtering by status and archival state. parameters: - in: query name: archived schema: type: boolean description: Filter by archived state. Defaults to non-archived experiments only. - in: query name: created_by_id schema: type: integer description: Filter to experiments created by the given user ID. - in: query name: feature_flag_id schema: type: integer description: Filter to experiments linked to the given feature flag ID. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: order schema: type: string description: Field to order by. Prefix with '-' for descending. Allowlisted fields include name, created_at, updated_at, start_date, end_date, duration, and status. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Free-text search applied to the experiment name (case-insensitive). - in: query name: status schema: type: string enum: - all - complete - draft - paused - running - stopped description: 'Filter by experiment status. "running" and "paused" are mutually exclusive: "running" returns launched experiments with an active feature flag, "paused" returns launched experiments whose feature flag is deactivated. "complete" is an alias for "stopped". "all" disables status filtering.' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExperimentList' description: '' x-explicit-tags: - experiments post: operationId: experiments_create description: Create a new experiment in draft status with optional metrics. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/Experiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Experiment' multipart/form-data: schema: $ref: '#/components/schemas/Experiment' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/: get: operationId: experiments_retrieve description: Retrieve a single experiment by ID, including its current status, metrics, feature flag, and results metadata. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments put: operationId: experiments_update description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/Experiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Experiment' multipart/form-data: schema: $ref: '#/components/schemas/Experiment' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments patch: operationId: experiments_partial_update description: Update an experiment. Use this to modify experiment properties such as name, description, metrics, variants, and configuration. Metrics can be added, changed and removed at any time. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExperiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExperiment' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExperiment' security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments delete: operationId: experiments_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '405': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/archive/: post: operationId: experiments_archive_create description: 'Archive an ended experiment. Hides the experiment from the default list view. The experiment can be restored at any time by updating archived=false. Returns 400 if the experiment is already archived or has not ended yet.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/copy_to_project/: post: operationId: experiments_copy_to_project_create description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyExperimentToProject' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CopyExperimentToProject' multipart/form-data: schema: $ref: '#/components/schemas/CopyExperimentToProject' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/create_exposure_cohort_for_experiment/: post: operationId: experiments_create_exposure_cohort_for_experiment_create description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/Experiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Experiment' multipart/form-data: schema: $ref: '#/components/schemas/Experiment' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/duplicate/: post: operationId: experiments_duplicate_create description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/Experiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Experiment' multipart/form-data: schema: $ref: '#/components/schemas/Experiment' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/end/: post: operationId: experiments_end_create description: "End a running experiment without shipping a variant.\n\nSets end_date\ \ to now and marks the experiment as stopped. The feature\nflag is NOT modified\ \ — users continue to see their assigned variants\nand exposure events ($feature_flag_called)\ \ continue to be recorded.\nHowever, only data up to end_date is included\ \ in experiment results.\n\nUse this when:\n\n- You want to freeze the results\ \ window without changing which variant\n users see.\n- A variant was already\ \ shipped manually via the feature flag UI and\n the experiment just needs\ \ to be marked complete.\n\nThe end_date can be adjusted after ending via\ \ PATCH if it needs to be\nbackdated (e.g. to match when the flag was actually\ \ paused).\n\nOther options:\n- Use ship_variant to end the experiment AND\ \ roll out a single variant to 100%% of users.\n- Use pause to deactivate\ \ the flag without ending the experiment (stops variant assignment but does\ \ not freeze results).\n\nReturns 400 if the experiment is not running." parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/EndExperiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EndExperiment' multipart/form-data: schema: $ref: '#/components/schemas/EndExperiment' security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/launch/: post: operationId: experiments_launch_create description: 'Launch a draft experiment. Validates the experiment is in draft state, activates its linked feature flag, sets start_date to the current server time, and transitions the experiment to running. Returns 400 if the experiment has already been launched or if the feature flag configuration is invalid (e.g. missing "control" variant or fewer than 2 variants).' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/pause/: post: operationId: experiments_pause_create description: 'Pause a running experiment. Deactivates the linked feature flag so it is no longer returned by the /decide endpoint. Users fall back to the application default (typically the control experience), and no new exposure events are recorded (i.e. $feature_flag_called is not fired). Returns 400 if the experiment is not running or is already paused.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/recalculate_timeseries/: post: operationId: experiments_recalculate_timeseries_create description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/Experiment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Experiment' multipart/form-data: schema: $ref: '#/components/schemas/Experiment' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/reset/: post: operationId: experiments_reset_create description: 'Reset an experiment back to draft state. Clears start/end dates, conclusion, and archived flag. The feature flag is left unchanged — users continue to see their assigned variants. Previously collected events still exist but won''t be included in results unless the start date is manually adjusted after re-launch. Returns 400 if the experiment is already in draft state.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/resume/: post: operationId: experiments_resume_create description: 'Resume a paused experiment. Reactivates the linked feature flag so it is returned by /decide again. Users are re-bucketed deterministically into the same variants they had before the pause, and exposure tracking resumes. Returns 400 if the experiment is not running or is not paused.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/ship_variant/: post: operationId: experiments_ship_variant_create description: 'Ship a variant to 100% of users and (optionally) end the experiment. Rewrites the feature flag so that the selected variant is served to everyone. Existing release conditions (flag groups) are preserved so the change can be rolled back by deleting the auto-added release condition in the feature flag UI. Can be called on both running and stopped experiments. If the experiment is still running, it will also be ended (end_date set and status marked as stopped). If the experiment has already ended, only the flag is rewritten - this supports the "end first, ship later" workflow. If an approval policy requires review before changes on the flag take effect, the API returns 409 with a change_request_id. The experiment is NOT ended until the change request is approved and the user retries. Returns 400 if the experiment is in draft state, the variant_key is not found on the flag, or the experiment has no linked feature flag.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/ShipVariant' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ShipVariant' multipart/form-data: schema: $ref: '#/components/schemas/ShipVariant' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/timeseries_results/: get: operationId: experiments_timeseries_results_retrieve description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - in: query name: fingerprint schema: type: string description: Fingerprint of the metric configuration. Available alongside metric_uuid on each metric in the experiment's metrics array. required: true - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - in: query name: metric_uuid schema: type: string description: UUID of the metric to fetch timeseries for. Available on each metric in the experiment's metrics array. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/{id}/unarchive/: post: operationId: experiments_unarchive_create description: 'Unarchive an archived experiment. Restores the experiment to the default list view. Returns 400 if the experiment is not currently archived.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Experiment' description: '' x-explicit-tags: - experiments /api/projects/{project_id}/experiments/eligible_feature_flags/: get: operationId: experiments_eligible_feature_flags_retrieve description: 'Returns a paginated list of feature flags eligible for use in experiments. Eligible flags must: - Be multivariate with at least 2 variants - Have "control" as the first variant key Query parameters: - search: Filter by flag key or name (case insensitive) - limit: Number of results per page (default: 20) - offset: Pagination offset (default: 0) - active: Filter by active status ("true" or "false") - created_by_id: Filter by creator user ID - order: Sort order field - evaluation_runtime: Filter by evaluation runtime - has_evaluation_contexts: Filter by presence of evaluation contexts ("true" or "false")' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/requires_flag_implementation/: get: operationId: experiments_requires_flag_implementation_retrieve description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/experiments/stats/: get: operationId: experiments_stats_retrieve description: 'Mixin for ViewSets to handle ApprovalRequired exceptions from decorated serializers. This mixin intercepts ApprovalRequired exceptions raised by the @approval_gate decorator on serializer methods and converts them into proper HTTP 409 Conflict responses with change request details.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - experiments - experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': description: No response body x-explicit-tags: - experiments /api/projects/{project_id}/exports/: get: operationId: exports_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - core - exports security: - PersonalAPIKeyAuth: - export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExportedAssetList' description: '' x-explicit-tags: - core post: operationId: exports_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - exports requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportedAsset' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExportedAsset' multipart/form-data: schema: $ref: '#/components/schemas/ExportedAsset' required: true security: - PersonalAPIKeyAuth: - export:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportedAsset' description: '' x-explicit-tags: - core /api/projects/{project_id}/exports/{id}/: get: operationId: exports_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this exported asset. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - exports security: - PersonalAPIKeyAuth: - export:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportedAsset' description: '' x-explicit-tags: - core /api/projects/{project_id}/exports/{id}/content/: get: operationId: exports_content_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this exported asset. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - exports security: - PersonalAPIKeyAuth: - export:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/external_data_schemas/: get: operationId: external_data_schemas_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSchemaList' description: '' x-explicit-tags: - data_warehouse post: operationId: external_data_schemas_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_schemas/{id}/: get: operationId: external_data_schemas_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' x-explicit-tags: - data_warehouse put: operationId: external_data_schemas_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' x-explicit-tags: - data_warehouse patch: operationId: external_data_schemas_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' description: '' x-explicit-tags: - data_warehouse delete: operationId: external_data_schemas_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:write responses: '204': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_schemas/{id}/cancel/: post: operationId: external_data_schemas_cancel_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_schemas/{id}/delete_data/: delete: operationId: external_data_schemas_delete_data_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas security: - PersonalAPIKeyAuth: - external_data_source:write responses: '204': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_schemas/{id}/incremental_fields/: post: operationId: external_data_schemas_incremental_fields_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_schemas/{id}/reload/: post: operationId: external_data_schemas_reload_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_schemas/{id}/resync/: post: operationId: external_data_schemas_resync_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data schema. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_schemas requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSchema' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSchema' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/: get: operationId: external_data_sources_list description: Create, Read, Update and Delete External data Sources. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSourceSerializersList' description: '' x-explicit-tags: - data_warehouse post: operationId: external_data_sources_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceCreate' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceCreate' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/: get: operationId: external_data_sources_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' x-explicit-tags: - data_warehouse put: operationId: external_data_sources_update description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' x-explicit-tags: - data_warehouse patch: operationId: external_data_sources_partial_update description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' description: '' x-explicit-tags: - data_warehouse delete: operationId: external_data_sources_destroy description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:write responses: '204': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/bulk_update_schemas/: patch: operationId: external_data_sources_bulk_update_schemas_partial_update description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSourceBulkUpdateSchemas' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSourceBulkUpdateSchemas' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSourceBulkUpdateSchemas' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSchemaList' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/create_webhook/: post: operationId: external_data_sources_create_webhook_create description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/delete_webhook/: post: operationId: external_data_sources_delete_webhook_create description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/jobs/: get: operationId: external_data_sources_jobs_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/refresh_schemas/: post: operationId: external_data_sources_refresh_schemas_create description: Fetch current schema/table list from the source and create any new ExternalDataSchema rows (no data sync). parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/reload/: post: operationId: external_data_sources_reload_create description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/revenue_analytics_config/: patch: operationId: external_data_sources_revenue_analytics_config_partial_update description: Update the revenue analytics configuration and return the full external data source. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExternalDataSourceSerializers' security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/update_webhook_inputs/: post: operationId: external_data_sources_update_webhook_inputs_create description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/{id}/webhook_info/: get: operationId: external_data_sources_webhook_info_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this external data source. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/check_cdc_prerequisites/: post: operationId: external_data_sources_check_cdc_prerequisites_create description: 'Validate CDC prerequisites against a live Postgres connection. Used by the source wizard to surface ✅/❌ checks before source creation, and by the self-managed setup popup to verify user-created publications.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': content: application/json: schema: type: object properties: valid: type: boolean errors: type: array items: type: string description: Whether the Postgres database satisfies CDC prerequisites. '400': description: Invalid config, disallowed host, or connection failure. x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/connections/: get: operationId: external_data_sources_connections_list description: Create, Read, Update and Delete External data Sources. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedExternalDataSourceConnectionOptionList' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/database_schema/: post: operationId: external_data_sources_database_schema_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/DatabaseSchemaRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DatabaseSchemaRequest' multipart/form-data: schema: $ref: '#/components/schemas/DatabaseSchemaRequest' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/source_prefix/: post: operationId: external_data_sources_source_prefix_create description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' multipart/form-data: schema: $ref: '#/components/schemas/ExternalDataSourceSerializers' required: true security: - PersonalAPIKeyAuth: - external_data_source:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/external_data_sources/wizard/: get: operationId: external_data_sources_wizard_retrieve description: Create, Read, Update and Delete External data Sources. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - external_data_sources security: - PersonalAPIKeyAuth: - external_data_source:read responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/feature_flags/: get: operationId: feature_flags_list description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: query name: active schema: type: string enum: - STALE - 'false' - 'true' - in: query name: created_by_id schema: type: string description: The User ID which initially created the feature flag. - in: query name: evaluation_runtime schema: type: string enum: - both - client - server description: Filter feature flags by their evaluation runtime. - in: query name: excluded_properties schema: type: string description: JSON-encoded list of feature flag keys to exclude from the results. - in: query name: has_evaluation_contexts schema: type: string enum: - 'false' - 'true' description: Filter feature flags by presence of evaluation contexts. 'true' returns only flags with at least one evaluation context, 'false' returns only flags without. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search by feature flag key or name. Case insensitive. - in: query name: tags schema: type: string description: JSON-encoded list of tag names to filter feature flags by. - in: query name: type schema: type: string enum: - boolean - experiment - multivariant - remote_config tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFeatureFlagList' description: '' x-explicit-tags: - feature_flags post: operationId: feature_flags_create description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlagCreateRequestSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlagCreateRequestSchema' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlagCreateRequestSchema' security: - PersonalAPIKeyAuth: - feature_flag:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/: get: operationId: feature_flags_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' description: '' x-explicit-tags: - feature_flags put: operationId: feature_flags_update description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlag' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlag' required: true security: - PersonalAPIKeyAuth: - feature_flag:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' description: '' x-explicit-tags: - feature_flags patch: operationId: feature_flags_partial_update description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFeatureFlagPartialUpdateRequestSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedFeatureFlagPartialUpdateRequestSchema' multipart/form-data: schema: $ref: '#/components/schemas/PatchedFeatureFlagPartialUpdateRequestSchema' security: - PersonalAPIKeyAuth: - feature_flag:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' description: '' x-explicit-tags: - feature_flags delete: operationId: feature_flags_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:write responses: '405': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/activity/: get: operationId: feature_flags_activity_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - in: query name: limit schema: type: integer minimum: 1 default: 10 description: Number of items per page - in: query name: page schema: type: integer minimum: 1 default: 1 description: Page number - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ActivityLogPaginatedResponse' description: '' '404': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/create_static_cohort_for_flag/: post: operationId: feature_flags_create_static_cohort_for_flag_create description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlag' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlag' required: true responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/dashboard/: post: operationId: feature_flags_dashboard_create description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlag' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlag' required: true responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/dependent_flags/: get: operationId: feature_flags_dependent_flags_list description: Get other active flags that depend on this flag. parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/DependentFlag' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/enrich_usage_dashboard/: post: operationId: feature_flags_enrich_usage_dashboard_create description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlag' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlag' required: true responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/remote_config/: get: operationId: feature_flags_remote_config_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/status/: get: operationId: feature_flags_status_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FeatureFlagStatusResponse' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/{id}/versions/{version_number}/: get: operationId: feature_flags_versions_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this feature flag. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: version_number schema: type: integer description: The version number to reconstruct. required: true tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FeatureFlagVersionResponse' description: '' '400': description: Version history is not available for remote configuration flags. '404': description: Version not found. '422': description: Activity log incomplete; cannot reconstruct this version. x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/activity/: get: operationId: feature_flags_all_activity_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: query name: limit schema: type: integer minimum: 1 default: 10 description: Number of items per page - in: query name: page schema: type: integer minimum: 1 default: 1 description: Page number - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ActivityLogPaginatedResponse' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/bulk_delete/: post: operationId: feature_flags_bulk_delete_create description: 'Bulk delete feature flags by filter criteria or explicit IDs. Accepts either: - {"filters": {...}} - Same filter params as list endpoint (search, active, type, etc.) - {"ids": [...]} - Explicit list of flag IDs (no limit) Returns same format as bulk_delete for UI compatibility. Uses bulk operations for efficiency: database updates are batched and cache invalidation happens once at the end rather than per-flag.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlag' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlag' required: true security: - PersonalAPIKeyAuth: - feature_flag:write responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/bulk_keys/: post: operationId: feature_flags_bulk_keys_create description: 'Get feature flag keys by IDs. Accepts a list of feature flag IDs and returns a mapping of ID to key.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FeatureFlag' multipart/form-data: schema: $ref: '#/components/schemas/FeatureFlag' required: true responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/bulk_update_tags/: post: operationId: feature_flags_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/evaluation_reasons/: get: operationId: feature_flags_evaluation_reasons_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: query name: distinct_id schema: type: string minLength: 1 description: User distinct ID required: true - in: query name: groups schema: type: string default: '{}' description: Groups for feature flag evaluation (JSON object string) - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/local_evaluation/: get: operationId: feature_flags_local_evaluation_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: query name: send_cohorts schema: type: boolean nullable: true default: false description: Include cohorts in response tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LocalEvaluationResponse' description: '' '402': description: Payment required '500': description: Internal server error x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/matching_ids/: get: operationId: feature_flags_matching_ids_retrieve description: 'Get IDs of all feature flags matching the current filters. Uses the same filtering logic as the list endpoint. Returns only IDs that the user has permission to edit.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': description: No response body x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/my_flags/: get: operationId: feature_flags_my_flags_retrieve description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - in: query name: groups schema: type: string default: '{}' description: Groups for feature flag evaluation (JSON object string) - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/MyFlagsResponse' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/feature_flags/user_blast_radius/: post: operationId: feature_flags_user_blast_radius_create description: 'Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you''re looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - feature_flags - feature_flags requestBody: content: application/json: schema: $ref: '#/components/schemas/UserBlastRadiusRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserBlastRadiusRequest' multipart/form-data: schema: $ref: '#/components/schemas/UserBlastRadiusRequest' required: true security: - PersonalAPIKeyAuth: - feature_flag:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserBlastRadiusResponse' description: '' x-explicit-tags: - feature_flags /api/projects/{project_id}/file_system/: get: operationId: file_system_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - core - file_system security: - PersonalAPIKeyAuth: - file_system:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFileSystemList' description: '' x-explicit-tags: - core post: operationId: file_system_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true security: - PersonalAPIKeyAuth: - file_system:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' x-explicit-tags: - core /api/projects/{project_id}/file_system/{id}/: get: operationId: file_system_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system security: - PersonalAPIKeyAuth: - file_system:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' x-explicit-tags: - core put: operationId: file_system_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true security: - PersonalAPIKeyAuth: - file_system:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' x-explicit-tags: - core patch: operationId: file_system_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedFileSystem' multipart/form-data: schema: $ref: '#/components/schemas/PatchedFileSystem' security: - PersonalAPIKeyAuth: - file_system:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystem' description: '' x-explicit-tags: - core delete: operationId: file_system_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system security: - PersonalAPIKeyAuth: - file_system:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/{id}/count/: post: operationId: file_system_count_create description: Get count of all files in a folder. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/{id}/link/: post: operationId: file_system_link_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/{id}/move/: post: operationId: file_system_move_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/count_by_path/: post: operationId: file_system_count_by_path_create description: Get count of all files in a folder. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/log_view/: get: operationId: file_system_log_view_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system responses: '200': description: No response body x-explicit-tags: - core post: operationId: file_system_log_view_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/undo_delete/: post: operationId: file_system_undo_delete_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystem' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystem' multipart/form-data: schema: $ref: '#/components/schemas/FileSystem' required: true responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system/unfiled/: get: operationId: file_system_unfiled_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - file_system responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/file_system_shortcut/: get: operationId: file_system_shortcut_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut security: - PersonalAPIKeyAuth: - file_system_shortcut:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFileSystemShortcutList' description: '' x-explicit-tags: [] post: operationId: file_system_shortcut_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystemShortcut' multipart/form-data: schema: $ref: '#/components/schemas/FileSystemShortcut' required: true security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' x-explicit-tags: [] /api/projects/{project_id}/file_system_shortcut/{id}/: get: operationId: file_system_shortcut_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut security: - PersonalAPIKeyAuth: - file_system_shortcut:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' x-explicit-tags: [] put: operationId: file_system_shortcut_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystemShortcut' multipart/form-data: schema: $ref: '#/components/schemas/FileSystemShortcut' required: true security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' x-explicit-tags: [] patch: operationId: file_system_shortcut_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFileSystemShortcut' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedFileSystemShortcut' multipart/form-data: schema: $ref: '#/components/schemas/PatchedFileSystemShortcut' security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcut' description: '' x-explicit-tags: [] delete: operationId: file_system_shortcut_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this file system shortcut. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut security: - PersonalAPIKeyAuth: - file_system_shortcut:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/file_system_shortcut/reorder/: post: operationId: file_system_shortcut_reorder_create description: Set the display order of the current user's shortcuts. `ordered_ids` becomes the new top-to-bottom order; any unknown IDs are rejected. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - file_system_shortcut requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSystemShortcutReorder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/FileSystemShortcutReorder' multipart/form-data: schema: $ref: '#/components/schemas/FileSystemShortcutReorder' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFileSystemShortcutList' description: '' x-explicit-tags: [] /api/projects/{project_id}/flag_value/values/: get: operationId: flag_value_values_retrieve description: 'Get possible values for a feature flag. Query parameters: - key: The flag ID (required) Returns: - Array of objects with ''name'' field containing possible values' parameters: - in: query name: key schema: type: string description: The flag ID - $ref: '#/components/parameters/ProjectIdPath' tags: - flag_value responses: '200': content: application/json: schema: $ref: '#/components/schemas/FlagValueResponse' description: '' '400': description: Bad request '404': description: Not found x-explicit-tags: [] /api/projects/{project_id}/groups/: get: operationId: groups_list description: List all groups of a specific group type. You must pass ?group_type_index= in the URL. To get a list of valid group types, call /api/:project_id/groups_types/ parameters: - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - in: query name: group_type_index schema: type: integer description: Specify the group type to list required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Search the group name required: true tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGroupList' description: '' x-explicit-tags: - core post: operationId: groups_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGroup' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateGroup' multipart/form-data: schema: $ref: '#/components/schemas/CreateGroup' required: true security: - PersonalAPIKeyAuth: - group:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Group' description: '' x-explicit-tags: - core /api/projects/{project_id}/groups/activity/: get: operationId: groups_activity_retrieve parameters: - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - in: query name: id schema: type: string description: Specify the id of the user to find groups for required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups/delete_property/: post: operationId: groups_delete_property_create parameters: - in: query name: group_key schema: type: string description: Specify the key of the group to find required: true - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Group' multipart/form-data: schema: $ref: '#/components/schemas/Group' required: true security: - PersonalAPIKeyAuth: - group:write responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups/find/: get: operationId: groups_find_retrieve parameters: - in: query name: group_key schema: type: string description: Specify the key of the group to find required: true - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups/property_definitions/: get: operationId: groups_property_definitions_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups/property_values/: get: operationId: groups_property_values_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups/related/: get: operationId: groups_related_retrieve parameters: - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - in: query name: id schema: type: string description: Specify the id of the user to find groups for required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups security: - PersonalAPIKeyAuth: - group:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups/update_property/: post: operationId: groups_update_property_create parameters: - in: query name: group_key schema: type: string description: Specify the key of the group to find required: true - in: query name: group_type_index schema: type: integer description: Specify the group type to find required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - groups requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Group' multipart/form-data: schema: $ref: '#/components/schemas/Group' required: true security: - PersonalAPIKeyAuth: - group:write responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/groups_types/: get: operationId: groups_types_list parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - groups_types security: - PersonalAPIKeyAuth: - group:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/GroupType' description: '' x-explicit-tags: [] /api/projects/{project_id}/groups_types/{group_type_index}/: delete: operationId: groups_types_destroy parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - groups_types security: - PersonalAPIKeyAuth: - group:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/groups_types/{group_type_index}/metrics/: get: operationId: groups_types_metrics_list parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_analytics - groups_types security: - PersonalAPIKeyAuth: - usage_metric:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGroupUsageMetricList' description: '' x-explicit-tags: - customer_analytics post: operationId: groups_types_metrics_create parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_analytics - groups_types requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUsageMetric' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GroupUsageMetric' multipart/form-data: schema: $ref: '#/components/schemas/GroupUsageMetric' required: true security: - PersonalAPIKeyAuth: - usage_metric:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/GroupUsageMetric' description: '' x-explicit-tags: - customer_analytics /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/: get: operationId: groups_types_metrics_retrieve parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this group usage metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_analytics - groups_types security: - PersonalAPIKeyAuth: - usage_metric:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GroupUsageMetric' description: '' x-explicit-tags: - customer_analytics put: operationId: groups_types_metrics_update parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this group usage metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_analytics - groups_types requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUsageMetric' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GroupUsageMetric' multipart/form-data: schema: $ref: '#/components/schemas/GroupUsageMetric' required: true security: - PersonalAPIKeyAuth: - usage_metric:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GroupUsageMetric' description: '' x-explicit-tags: - customer_analytics patch: operationId: groups_types_metrics_partial_update parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this group usage metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_analytics - groups_types requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedGroupUsageMetric' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedGroupUsageMetric' multipart/form-data: schema: $ref: '#/components/schemas/PatchedGroupUsageMetric' security: - PersonalAPIKeyAuth: - usage_metric:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GroupUsageMetric' description: '' x-explicit-tags: - customer_analytics delete: operationId: groups_types_metrics_destroy parameters: - in: path name: group_type_index schema: type: integer maximum: 2147483647 minimum: -2147483648 required: true - in: path name: id schema: type: string format: uuid description: A UUID string identifying this group usage metric. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - customer_analytics - groups_types security: - PersonalAPIKeyAuth: - usage_metric:write responses: '204': description: No response body x-explicit-tags: - customer_analytics /api/projects/{project_id}/groups_types/create_detail_dashboard/: put: operationId: groups_types_create_detail_dashboard_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - groups_types requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GroupType' multipart/form-data: schema: $ref: '#/components/schemas/GroupType' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/groups_types/set_default_columns/: put: operationId: groups_types_set_default_columns_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - groups_types requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GroupType' multipart/form-data: schema: $ref: '#/components/schemas/GroupType' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/groups_types/update_metadata/: patch: operationId: groups_types_update_metadata_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - groups_types requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedGroupType' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedGroupType' multipart/form-data: schema: $ref: '#/components/schemas/PatchedGroupType' responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/heatmap_screenshots/{id}/content/: get: operationId: heatmap_screenshots_content_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this saved heatmap. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - heatmap_screenshots security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/heatmaps/: get: operationId: heatmaps_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - heatmaps security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHeatmapsResponseList' description: '' x-explicit-tags: [] /api/projects/{project_id}/heatmaps/events/: get: operationId: heatmaps_events_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - heatmaps security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/hog_flows/: get: operationId: hog_flows_list parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: updated_at schema: type: string format: date-time tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFlowMinimalList' description: '' x-explicit-tags: - workflows post: operationId: hog_flows_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true security: - PersonalAPIKeyAuth: - hog_flow:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/: get: operationId: hog_flows_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows put: operationId: hog_flows_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true security: - PersonalAPIKeyAuth: - hog_flow:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows patch: operationId: hog_flows_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFlow' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFlow' security: - PersonalAPIKeyAuth: - hog_flow:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows delete: operationId: hog_flows_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:write responses: '204': description: No response body x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/batch_jobs/: get: operationId: hog_flows_batch_jobs_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows post: operationId: hog_flows_batch_jobs_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/blocked_runs/: get: operationId: hog_flows_blocked_runs_retrieve description: List workflow runs that were blocked by the dedup bug. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/invocations/: post: operationId: hog_flows_invocations_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/logs/: get: operationId: hog_flows_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': description: No response body x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/metrics/: get: operationId: hog_flows_metrics_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsResponse' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/metrics/totals/: get: operationId: hog_flows_metrics_totals_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows security: - PersonalAPIKeyAuth: - hog_flow:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsTotalsResponse' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/replay_all_blocked_runs/: post: operationId: hog_flows_replay_all_blocked_runs_create description: Replay all blocked runs in a single bulk call to Node. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/replay_blocked_run/: post: operationId: hog_flows_replay_blocked_run_create description: Replay a single blocked run. Django fetches the event, Node creates the invocation and writes the log. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/schedules/: get: operationId: hog_flows_schedules_list parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: updated_at schema: type: string format: date-time tags: - workflows - hog_flows responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFlowScheduleList' description: '' x-explicit-tags: - workflows post: operationId: hog_flows_schedules_create parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: updated_at schema: type: string format: date-time tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFlowScheduleList' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/{id}/schedules/{schedule_id}/: patch: operationId: hog_flows_schedules_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: schedule_id schema: type: string required: true tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFlow' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFlow' responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows delete: operationId: hog_flows_schedules_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog flow. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: schedule_id schema: type: string required: true tags: - workflows - hog_flows responses: '204': description: No response body x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/bulk_delete/: post: operationId: hog_flows_bulk_delete_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFlow' multipart/form-data: schema: $ref: '#/components/schemas/HogFlow' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFlow' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_flows/user_blast_radius/: post: operationId: hog_flows_user_blast_radius_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - workflows - hog_flows requestBody: content: application/json: schema: $ref: '#/components/schemas/BlastRadiusRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BlastRadiusRequest' multipart/form-data: schema: $ref: '#/components/schemas/BlastRadiusRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BlastRadius' description: '' x-explicit-tags: - workflows /api/projects/{project_id}/hog_function_templates/: get: operationId: hog_function_templates_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: template_id schema: type: string description: Filter to a specific template by its template_id. Deprecated templates are excluded from list results; use the retrieve endpoint to look up a template by ID regardless of status. - in: query name: type schema: type: string description: Filter by template type (e.g. destination, email, sms_provider, broadcast). Defaults to destination if neither type nor types is provided. - in: query name: types schema: type: string description: Comma-separated list of template types to include (e.g. destination,email,sms_provider). tags: - hog_function_templates - cdp - hog_function_templates security: - {} responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFunctionTemplateList' description: '' x-explicit-tags: - hog_function_templates - cdp /api/projects/{project_id}/hog_function_templates/{template_id}/: get: operationId: hog_function_templates_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: template_id schema: type: string required: true tags: - hog_function_templates - cdp - hog_function_templates security: - {} responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunctionTemplate' description: '' x-explicit-tags: - hog_function_templates - cdp /api/projects/{project_id}/hog_functions/: get: operationId: hog_functions_list parameters: - in: query name: created_at schema: type: string format: date-time - in: query name: created_by schema: type: integer - in: query name: enabled schema: type: boolean - in: query name: id schema: type: string format: uuid - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form - in: query name: updated_at schema: type: string format: date-time tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFunctionMinimalList' description: '' x-explicit-tags: - hog_functions - cdp post: operationId: hog_functions_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunction' multipart/form-data: schema: $ref: '#/components/schemas/HogFunction' security: - PersonalAPIKeyAuth: - hog_function:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/{id}/: get: operationId: hog_functions_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' x-explicit-tags: - hog_functions - cdp put: operationId: hog_functions_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunction' multipart/form-data: schema: $ref: '#/components/schemas/HogFunction' security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' x-explicit-tags: - hog_functions - cdp patch: operationId: hog_functions_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFunction' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFunction' security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunction' description: '' x-explicit-tags: - hog_functions - cdp delete: operationId: hog_functions_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions responses: '405': description: No response body x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/{id}/enable_backfills/: post: operationId: hog_functions_enable_backfills_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunction' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunction' multipart/form-data: schema: $ref: '#/components/schemas/HogFunction' responses: '200': description: No response body x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/{id}/invocations/: post: operationId: hog_functions_invocations_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/HogFunctionInvocation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HogFunctionInvocation' multipart/form-data: schema: $ref: '#/components/schemas/HogFunctionInvocation' required: true security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HogFunctionInvocation' description: '' x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/{id}/logs/: get: operationId: hog_functions_logs_retrieve parameters: - in: query name: after schema: type: string format: date-time description: Only return entries after this ISO 8601 timestamp. - in: query name: before schema: type: string format: date-time description: Only return entries before this ISO 8601 timestamp. - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter logs to a specific execution instance. - in: query name: level schema: type: string minLength: 1 description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN, ERROR.' - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 50 description: Maximum number of log entries to return (1-500, default 50). - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string minLength: 1 description: Case-insensitive substring search across log messages. tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': description: No response body x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/{id}/metrics/: get: operationId: hog_functions_metrics_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsResponse' description: '' x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/{id}/metrics/totals/: get: operationId: hog_functions_metrics_totals_retrieve parameters: - in: query name: after schema: type: string default: -7d minLength: 1 description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults to '-7d'. - in: query name: before schema: type: string minLength: 1 description: End of the time range. Same format as 'after'. Defaults to now. - in: query name: breakdown_by schema: enum: - name - kind type: string default: kind minLength: 1 description: 'Group the series by metric ''name'' or ''kind''. Defaults to ''kind''. * `name` - name * `kind` - kind' - in: path name: id schema: type: string format: uuid description: A UUID string identifying this hog function. required: true - in: query name: instance_id schema: type: string minLength: 1 description: Filter metrics to a specific execution instance. - in: query name: interval schema: enum: - hour - day - week type: string default: day minLength: 1 description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''. * `hour` - hour * `day` - day * `week` - week' - in: query name: kind schema: type: string minLength: 1 description: Comma-separated metric kinds to filter by, e.g. 'success,failure'. - in: query name: name schema: type: string minLength: 1 description: Comma-separated metric names to filter by. - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions security: - PersonalAPIKeyAuth: - hog_function:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppMetricsTotalsResponse' description: '' x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/icon/: get: operationId: hog_functions_icon_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions responses: '200': description: No response body x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/icons/: get: operationId: hog_functions_icons_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions responses: '200': description: No response body x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/hog_functions/rearrange/: patch: operationId: hog_functions_rearrange_partial_update description: Update the execution order of multiple HogFunctions. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - hog_functions - cdp - hog_functions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHogFunctionRearrange' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHogFunctionRearrange' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHogFunctionRearrange' security: - PersonalAPIKeyAuth: - hog_function:write responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/HogFunction' description: '' x-explicit-tags: - hog_functions - cdp /api/projects/{project_id}/insight_variables/: get: operationId: insight_variables_list parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - insight_variables security: - PersonalAPIKeyAuth: - insight_variable:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInsightVariableList' description: '' x-explicit-tags: - data_warehouse post: operationId: insight_variables_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - insight_variables requestBody: content: application/json: schema: $ref: '#/components/schemas/InsightVariable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InsightVariable' multipart/form-data: schema: $ref: '#/components/schemas/InsightVariable' required: true security: - PersonalAPIKeyAuth: - insight_variable:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/insight_variables/{id}/: get: operationId: insight_variables_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - insight_variables security: - PersonalAPIKeyAuth: - insight_variable:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' x-explicit-tags: - data_warehouse put: operationId: insight_variables_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - insight_variables requestBody: content: application/json: schema: $ref: '#/components/schemas/InsightVariable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InsightVariable' multipart/form-data: schema: $ref: '#/components/schemas/InsightVariable' required: true security: - PersonalAPIKeyAuth: - insight_variable:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' x-explicit-tags: - data_warehouse patch: operationId: insight_variables_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - insight_variables requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInsightVariable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedInsightVariable' multipart/form-data: schema: $ref: '#/components/schemas/PatchedInsightVariable' security: - PersonalAPIKeyAuth: - insight_variable:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/InsightVariable' description: '' x-explicit-tags: - data_warehouse delete: operationId: insight_variables_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this insight variable. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - insight_variables security: - PersonalAPIKeyAuth: - insight_variable:write responses: '204': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/insights/: get: operationId: insights_list description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: basic schema: type: boolean description: Return basic insight metadata only (no results, faster). - in: query name: created_by schema: type: string description: JSON-encoded array of user IDs. Only returns insights whose `created_by` is in the list, e.g. `[1,42]`. - in: query name: created_date_from schema: type: string description: Filter by `created_at > created_date_from`. Accepts absolute or relative dates. - in: query name: created_date_to schema: type: string description: Filter by `created_at < created_date_to`. Accepts absolute or relative dates. - in: query name: dashboards schema: type: string description: JSON-encoded array of dashboard IDs. Returns insights attached to every listed dashboard (AND). - in: query name: date_from schema: type: string description: Filter by `last_modified_at > date_from`. Accepts absolute dates (`2025-04-23`) or relative strings (`-7d`, `-1m`). - in: query name: date_to schema: type: string description: Filter by `last_modified_at < date_to`. Accepts absolute dates or relative strings. - in: query name: favorited schema: type: boolean description: Include this parameter (any value) to restrict results to insights marked as favorited. - in: query name: format schema: type: string enum: - csv - json - in: query name: insight schema: type: string enum: - FUNNELS - JSON - LIFECYCLE - PATHS - RETENTION - SQL - STICKINESS - TRENDS description: Restrict to a single insight type. `JSON` matches non-wrapper query insights; `SQL` matches HogQL queries. - in: query name: last_viewed_date_from schema: type: string description: Filter by `last_viewed_at > last_viewed_date_from`. Accepts absolute or relative dates. - in: query name: last_viewed_date_to schema: type: string description: Filter by `last_viewed_at < last_viewed_date_to`. Accepts absolute or relative dates. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: refresh schema: type: string enum: - async - async_except_on_cache_miss - blocking - force_async - force_blocking - force_cache - lazy_async default: force_cache description: ' Whether to refresh the retrieved insights, how aggressively, and if sync or async: - `''force_cache''` - return cached data or a cache miss; always completes immediately as it never calculates - `''blocking''` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache - `''async''` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache - `''lazy_async''` - kick off background calculation, UNLESS there are somewhat fresh results in the cache - `''force_blocking''` - calculate synchronously, even if fresh results are already cached - `''force_async''` - kick off background calculation, even if fresh results are already cached Background calculation can be tracked using the `query_status` response field.' - in: query name: saved schema: type: boolean description: When truthy, restricts results to insights that are saved (or attached to a visible dashboard). When falsy, only unsaved insights. - in: query name: search schema: type: string description: Case-insensitive substring match across name, derived_name, description, and tag names. - in: query name: short_id schema: type: string - in: query name: tags schema: type: string description: JSON-encoded array of tag names. Returns insights with any of the listed tags. - in: query name: user schema: type: boolean description: Include this parameter (any value) to restrict results to insights created by the authenticated user. tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - insight:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedInsightList' text/csv: schema: $ref: '#/components/schemas/PaginatedInsightList' description: '' x-explicit-tags: - product_analytics post: operationId: insights_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/{insight_id}/sharing/: get: operationId: insights_sharing_list parameters: - in: path name: insight_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - insights security: - PersonalAPIKeyAuth: - sharing_configuration:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/insights/{insight_id}/sharing/passwords/: post: operationId: insights_sharing_passwords_create description: Create a new password for the sharing configuration. parameters: - in: path name: insight_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/insights/{insight_id}/sharing/passwords/{password_id}/: delete: operationId: insights_sharing_passwords_destroy description: Delete a password from the sharing configuration. parameters: - in: path name: insight_id schema: type: integer required: true - in: path name: password_id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - insights security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/insights/{insight_id}/sharing/refresh/: post: operationId: insights_sharing_refresh_create parameters: - in: path name: insight_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/insights/{insight_id}/thresholds/: get: operationId: insights_thresholds_list parameters: - in: path name: insight_id schema: type: integer required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - insights security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedThresholdWithAlertList' description: '' x-explicit-tags: [] /api/projects/{project_id}/insights/{insight_id}/thresholds/{id}/: get: operationId: insights_thresholds_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this threshold. required: true - in: path name: insight_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - insights security: - PersonalAPIKeyAuth: - alert:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ThresholdWithAlert' description: '' x-explicit-tags: [] /api/projects/{project_id}/insights/{id}/: get: operationId: insights_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: query name: from_dashboard schema: type: integer description: ' Only if loading an insight in the context of a dashboard: The relevant dashboard''s ID. When set, the specified dashboard''s filters and date range override will be applied.' - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: refresh schema: type: string enum: - async - async_except_on_cache_miss - blocking - force_async - force_blocking - force_cache - lazy_async default: force_cache description: ' Whether to refresh the insight, how aggresively, and if sync or async: - `''force_cache''` - return cached data or a cache miss; always completes immediately as it never calculates - `''blocking''` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache - `''async''` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache - `''lazy_async''` - kick off background calculation, UNLESS there are somewhat fresh results in the cache - `''force_blocking''` - calculate synchronously, even if fresh results are already cached - `''force_async''` - kick off background calculation, even if fresh results are already cached Background calculation can be tracked using the `query_status` response field.' tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - insight:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' x-explicit-tags: - product_analytics put: operationId: insights_update description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' x-explicit-tags: - product_analytics patch: operationId: insights_partial_update description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInsight' security: - PersonalAPIKeyAuth: - insight:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Insight' text/csv: schema: $ref: '#/components/schemas/Insight' description: '' x-explicit-tags: - product_analytics delete: operationId: insights_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: oneOf: - type: integer - type: string description: Numeric primary key or 8-character `short_id` (for example `AaVQ8Ijw`) identifying the insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - insight:write responses: '405': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/{id}/activity/: get: operationId: insights_activity_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/{id}/analyze/: get: operationId: insights_analyze_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/{id}/suggestions/: get: operationId: insights_suggestions_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights responses: '200': description: No response body x-explicit-tags: - product_analytics post: operationId: insights_suggestions_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this insight. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/activity/: get: operationId: insights_all_activity_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/bulk_update_tags/: post: operationId: insights_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' text/csv: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/cancel/: post: operationId: insights_cancel_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/generate_metadata/: post: operationId: insights_generate_metadata_create description: Generate an AI-suggested name and description for an insight based on its query configuration. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:write responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/my_last_viewed/: get: operationId: insights_my_last_viewed_retrieve description: Returns basic details about the last 5 insights viewed by this user. Most recently viewed first. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/trending/: get: operationId: insights_trending_retrieve description: 'Returns trending insights based on view count in the last N days (default 7). Defaults to returning top 10 insights.' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/insights/viewed/: post: operationId: insights_viewed_create description: 'Update insight view timestamps. Expects: {"insight_ids": [1, 2, 3, ...]}' parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - product_analytics - insights requestBody: content: application/json: schema: $ref: '#/components/schemas/Insight' security: - PersonalAPIKeyAuth: - insight:read responses: '200': description: No response body x-explicit-tags: - product_analytics /api/projects/{project_id}/integrations/: get: operationId: integrations_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedIntegrationConfigList' description: '' x-explicit-tags: - integrations post: operationId: integrations_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true security: - PersonalAPIKeyAuth: - integration:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' description: '' x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/: get: operationId: integrations_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' description: '' x-explicit-tags: - integrations delete: operationId: integrations_destroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:write responses: '204': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/channels/: get: operationId: integrations_channels_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SlackChannelsResponse' description: '' x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/clickup_lists/: get: operationId: integrations_clickup_lists_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/clickup_spaces/: get: operationId: integrations_clickup_spaces_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/clickup_workspaces/: get: operationId: integrations_clickup_workspaces_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/email/: patch: operationId: integrations_email_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedIntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedIntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedIntegrationConfig' responses: '200': content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' description: '' x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/email/verify/: post: operationId: integrations_email_verify_create parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/github_branches/: get: operationId: integrations_github_branches_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - in: query name: limit schema: type: integer maximum: 1000 minimum: 1 default: 100 description: Maximum number of branches to return - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Number of branches to skip - $ref: '#/components/parameters/ProjectIdPath' - in: query name: repo schema: type: string minLength: 1 description: Repository in owner/repo format required: true - in: query name: search schema: type: string default: '' description: Optional case-insensitive branch name search query. tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubBranchesResponse' description: '' x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/github_repos/: get: operationId: integrations_github_repos_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 100 description: Maximum number of repositories to return per request (max 500). - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Number of repositories to skip before returning results. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string default: '' description: Optional case-insensitive repository name search query. tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubReposResponse' description: '' x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/github_repos/refresh/: post: operationId: integrations_github_repos_refresh_create parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations security: - PersonalAPIKeyAuth: - integration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubReposRefreshResponse' description: '' x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/google_accessible_accounts/: get: operationId: integrations_google_accessible_accounts_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/google_conversion_actions/: get: operationId: integrations_google_conversion_actions_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/jira_projects/: get: operationId: integrations_jira_projects_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/linear_teams/: get: operationId: integrations_linear_teams_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/linkedin_ads_accounts/: get: operationId: integrations_linkedin_ads_accounts_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/linkedin_ads_conversion_rules/: get: operationId: integrations_linkedin_ads_conversion_rules_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/{id}/twilio_phone_numbers/: get: operationId: integrations_twilio_phone_numbers_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this integration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/authorize/: get: operationId: integrations_authorize_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/domain-connect/apply-url/: post: operationId: integrations_domain_connect_apply_url_create description: 'Unified endpoint for generating Domain Connect apply URLs. Accepts a context ("email" or "proxy") and the relevant resource ID. The backend resolves the domain, template variables, and service ID based on context, then builds the signed apply URL.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/domain-connect/check/: get: operationId: integrations_domain_connect_check_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/github/link_existing/: post: operationId: integrations_github_link_existing_create description: Reuse a GitHub installation already linked to a sibling team in the same organization. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true security: - PersonalAPIKeyAuth: - integration:write responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/integrations/github/oauth_authorize/: post: operationId: integrations_github_oauth_authorize_create description: Mint a User OAuth URL to bootstrap a fresh `code` when the install flow returns without one. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - integrations - integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IntegrationConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IntegrationConfig' multipart/form-data: schema: $ref: '#/components/schemas/IntegrationConfig' required: true security: - PersonalAPIKeyAuth: - integration:write responses: '200': description: No response body x-explicit-tags: - integrations /api/projects/{project_id}/js-snippet/resolve/: get: operationId: js_snippet_resolve_retrieve description: Preview what a given pin would resolve to, without saving it. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - js-snippet responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/js-snippet/version/: get: operationId: js_snippet_version_retrieve description: Return the team's current version pin and resolved version. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - js-snippet responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] patch: operationId: js_snippet_version_partial_update description: Update the team's version pin. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - js-snippet requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedJsSnippetVersion' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedJsSnippetVersion' multipart/form-data: schema: $ref: '#/components/schemas/PatchedJsSnippetVersion' responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/live_debugger_breakpoints/: get: operationId: live_debugger_breakpoints_list description: Create, Read, Update and Delete breakpoints for live debugging. parameters: - in: query name: filename schema: type: string - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: repository schema: type: string tags: - live_debugger_breakpoints security: - PersonalAPIKeyAuth: - live_debugger:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLiveDebuggerBreakpointList' description: '' x-explicit-tags: - live_debugger post: operationId: live_debugger_breakpoints_create description: Create, Read, Update and Delete breakpoints for live debugging. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - live_debugger_breakpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' multipart/form-data: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' required: true security: - PersonalAPIKeyAuth: - live_debugger:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' description: '' x-explicit-tags: - live_debugger /api/projects/{project_id}/live_debugger_breakpoints/{id}/: get: operationId: live_debugger_breakpoints_retrieve description: Create, Read, Update and Delete breakpoints for live debugging. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this live debugger breakpoint. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - live_debugger_breakpoints security: - PersonalAPIKeyAuth: - live_debugger:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' description: '' x-explicit-tags: [] put: operationId: live_debugger_breakpoints_update description: Create, Read, Update and Delete breakpoints for live debugging. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this live debugger breakpoint. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - live_debugger_breakpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' multipart/form-data: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' required: true security: - PersonalAPIKeyAuth: - live_debugger:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' description: '' x-explicit-tags: [] patch: operationId: live_debugger_breakpoints_partial_update description: Create, Read, Update and Delete breakpoints for live debugging. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this live debugger breakpoint. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - live_debugger_breakpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLiveDebuggerBreakpoint' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLiveDebuggerBreakpoint' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLiveDebuggerBreakpoint' security: - PersonalAPIKeyAuth: - live_debugger:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LiveDebuggerBreakpoint' description: '' x-explicit-tags: [] delete: operationId: live_debugger_breakpoints_destroy description: Create, Read, Update and Delete breakpoints for live debugging. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this live debugger breakpoint. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - live_debugger_breakpoints security: - PersonalAPIKeyAuth: - live_debugger:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/live_debugger_breakpoints/active/: get: operationId: live_debugger_breakpoints_active_retrieve description: "External API endpoint for client applications to fetch active\ \ breakpoints using Project API key. This endpoint allows external client\ \ applications (like Python scripts, Node.js apps, etc.) to fetch the list\ \ of active breakpoints so they can instrument their code accordingly. \n\n\ Authentication: Requires a Project API Key in the Authorization header: `Authorization:\ \ Bearer phs_`. You can find your Project API Key in\ \ PostHog at: Settings → Project → Project API Key" summary: Get active breakpoints (External API) parameters: - in: query name: enabled schema: type: boolean description: Only return enabled breakpoints - in: query name: filename schema: type: string description: Filter breakpoints for a specific file - $ref: '#/components/parameters/ProjectIdPath' - in: query name: repository schema: type: string description: Filter breakpoints for a specific repository (e.g., 'PostHog/posthog') tags: - live_debugger_breakpoints security: - PersonalAPIKeyAuth: - live_debugger:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ActiveBreakpointsResponse' description: List of breakpoints for client consumption '400': description: Invalid query parameters '401': description: Invalid or missing Project API key x-explicit-tags: - live_debugger /api/projects/{project_id}/live_debugger_breakpoints/breakpoint_hits/: get: operationId: live_debugger_breakpoints_breakpoint_hits_retrieve description: "Retrieve breakpoint hit events from ClickHouse with optional filtering\ \ and pagination. Returns hit events containing stack traces, local variables,\ \ and execution context from your application's runtime. \n\nSecurity: Breakpoint\ \ IDs are filtered to only include those belonging to the current team." summary: Get breakpoint hits parameters: - in: query name: breakpoint_ids schema: type: string description: Filter hits for specific breakpoints (repeat parameter for multiple IDs, e.g., ?breakpoint_ids=uuid1&breakpoint_ids=uuid2) - in: query name: limit schema: type: integer description: 'Number of hits to return (default: 100, max: 1000)' - in: query name: offset schema: type: integer description: 'Pagination offset for retrieving additional results (default: 0)' - $ref: '#/components/parameters/ProjectIdPath' tags: - live_debugger_breakpoints security: - PersonalAPIKeyAuth: - live_debugger:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BreakpointHitsResponse' description: List of breakpoint hits with pagination info '400': description: Invalid query parameters (invalid UUID, limit out of range, etc.) x-explicit-tags: - live_debugger /api/projects/{project_id}/logs/alerts/: get: operationId: logs_alerts_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsAlertConfigurationList' description: '' x-explicit-tags: - logs post: operationId: logs_alerts_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertConfiguration' security: - PersonalAPIKeyAuth: - logs:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/alerts/{id}/: get: operationId: logs_alerts_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' x-explicit-tags: - logs put: operationId: logs_alerts_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertConfiguration' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' x-explicit-tags: - logs patch: operationId: logs_alerts_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLogsAlertConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLogsAlertConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLogsAlertConfiguration' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' x-explicit-tags: - logs delete: operationId: logs_alerts_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:write responses: '204': description: No response body x-explicit-tags: - logs /api/projects/{project_id}/logs/alerts/{id}/destinations/: post: operationId: logs_alerts_destinations_create description: Create a notification destination for this alert. One HogFunction is created per alert event kind (firing, resolved, ...) atomically. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertCreateDestination' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertCreateDestination' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertCreateDestination' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsAlertDestinationResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/alerts/{id}/destinations/delete/: post: operationId: logs_alerts_destinations_delete_create description: Delete a notification destination by deleting its HogFunction group atomically. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertDeleteDestination' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertDeleteDestination' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertDeleteDestination' required: true responses: '204': description: No response body x-explicit-tags: - logs /api/projects/{project_id}/logs/alerts/{id}/events/: get: operationId: logs_alerts_events_list description: Paginated event history for this alert, newest first. Returns state transitions, errored checks, and user-initiated control-plane rows (reset, enable/disable, snooze/unsnooze, threshold change) — quiet no-op check rows (where state didn't change and there was no error) are filtered out since only the last 10 are kept and they carry no forensic value. Optional `?kind=...` narrows to a single kind. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsAlertEventList' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/alerts/{id}/reset/: post: operationId: logs_alerts_reset_create description: Reset a broken alert. Clears the consecutive-failure counter and schedules an immediate recheck. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs alert configuration. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertConfiguration' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/alerts/simulate/: post: operationId: logs_alerts_simulate_create description: Simulate a logs alert on historical data using the full state machine. Read-only — no alert check records are created. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsAlertSimulateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsAlertSimulateRequest' multipart/form-data: schema: $ref: '#/components/schemas/LogsAlertSimulateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsAlertSimulateResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/attributes/: get: operationId: logs_attributes_retrieve parameters: - in: query name: attribute_type schema: enum: - log - resource type: string minLength: 1 description: 'Type of attributes: "log" for log attributes, "resource" for resource attributes. Defaults to "log". * `log` - log * `resource` - resource' - in: query name: dateRange schema: $ref: '#/components/schemas/_DateRange' description: Date range to search within. Defaults to last hour. - in: query name: filterGroup schema: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' default: [] description: Property filters to narrow which logs are scanned for attributes. - in: query name: limit schema: type: integer maximum: 100 minimum: 1 description: 'Max results (default: 100)' - in: query name: offset schema: type: integer minimum: 0 description: 'Pagination offset (default: 0)' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string minLength: 1 description: Search filter for attribute names - in: query name: search_values schema: type: boolean default: false description: When true, the search query also matches attribute values (not just keys). Each result indicates whether it matched on key or value. - in: query name: serviceNames schema: type: array items: type: string default: [] description: Filter attributes to those appearing in logs from these services. tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsAttributesResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/count/: post: operationId: logs_count_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsCountRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsCountRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsCountRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsCountResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/count-ranges/: post: operationId: logs_count_ranges_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsCountRangesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsCountRangesRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsCountRangesRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsCountRangesResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/export/: post: operationId: logs_export_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '201': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/has_logs/: get: operationId: logs_has_logs_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/query/: post: operationId: logs_query_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsQueryRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsQueryRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsQueryRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsQueryResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/sampling_rules/: get: operationId: logs_sampling_rules_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsSamplingRuleList' description: '' x-explicit-tags: - logs post: operationId: logs_sampling_rules_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsSamplingRule' multipart/form-data: schema: $ref: '#/components/schemas/LogsSamplingRule' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/sampling_rules/{id}/: get: operationId: logs_sampling_rules_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' x-explicit-tags: - logs put: operationId: logs_sampling_rules_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsSamplingRule' multipart/form-data: schema: $ref: '#/components/schemas/LogsSamplingRule' required: true security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' x-explicit-tags: - logs patch: operationId: logs_sampling_rules_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLogsSamplingRule' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedLogsSamplingRule' multipart/form-data: schema: $ref: '#/components/schemas/PatchedLogsSamplingRule' security: - PersonalAPIKeyAuth: - logs:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRule' description: '' x-explicit-tags: - logs delete: operationId: logs_sampling_rules_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:write responses: '204': description: No response body x-explicit-tags: - logs /api/projects/{project_id}/logs/sampling_rules/{id}/simulate/: post: operationId: logs_sampling_rules_simulate_create description: Dry-run estimate for how much volume this rule would remove (placeholder response until CH-backed simulation is wired). parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this logs exclusion rule. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs responses: '200': content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRuleSimulateResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/sampling_rules/reorder/: post: operationId: logs_sampling_rules_reorder_create description: Atomically reassign priorities so the given ID order maps to ascending priorities (0..n-1). parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/LogsSamplingRuleReorder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LogsSamplingRuleReorder' multipart/form-data: schema: $ref: '#/components/schemas/LogsSamplingRuleReorder' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedLogsSamplingRuleList' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/services/: post: operationId: logs_services_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsServicesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsServicesRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsServicesRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsServicesResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/sparkline/: post: operationId: logs_sparkline_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - logs - logs requestBody: content: application/json: schema: $ref: '#/components/schemas/_LogsSparklineRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/_LogsSparklineRequest' multipart/form-data: schema: $ref: '#/components/schemas/_LogsSparklineRequest' required: true security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsSparklineResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/logs/values/: get: operationId: logs_values_retrieve parameters: - in: query name: attribute_type schema: enum: - log - resource type: string minLength: 1 description: 'Type of attribute: "log" or "resource". Defaults to "log". * `log` - log * `resource` - resource' - in: query name: dateRange schema: $ref: '#/components/schemas/_DateRange' description: Date range to search within. Defaults to last hour. - in: query name: filterGroup schema: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' default: [] description: Property filters to narrow which logs are scanned for values. - in: query name: key schema: type: string minLength: 1 description: The attribute key to get values for required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: serviceNames schema: type: array items: type: string default: [] description: Filter values to those appearing in logs from these services. - in: query name: value schema: type: string minLength: 1 description: Search filter for attribute values tags: - logs - logs security: - PersonalAPIKeyAuth: - logs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/_LogsValuesResponse' description: '' x-explicit-tags: - logs /api/projects/{project_id}/notebooks/: get: operationId: notebooks_list description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - in: query name: contains schema: type: string description: "Filter for notebooks that match a provided filter.\n \ \ Each match pair is separated by a colon,\n multiple\ \ match pairs can be sent separated by a space or a comma" examples: FilterForNotebooksThatHaveAnyRecording: value: recording:true summary: Filter for notebooks that have any recording FilterForNotebooksThatDoNotHaveAnyRecording: value: recording:false summary: Filter for notebooks that do not have any recording FilterForNotebooksThatHaveASpecificRecording: value: recording:the-session-recording-id summary: Filter for notebooks that have a specific recording - in: query name: created_by schema: type: string format: uuid description: The UUID of the Notebook's creator - in: query name: date_from schema: type: string format: date-time description: Filter for notebooks created after this date & time - in: query name: date_to schema: type: string format: date-time description: Filter for notebooks created before this date & time - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: user schema: type: string description: If any value is provided for this parameter, return notebooks created by the logged in user. tags: - notebooks security: - PersonalAPIKeyAuth: - notebook:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedNotebookMinimalList' description: '' x-explicit-tags: - notebooks post: operationId: notebooks_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' security: - PersonalAPIKeyAuth: - notebook:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Notebook' description: '' x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/: get: operationId: notebooks_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks security: - PersonalAPIKeyAuth: - notebook:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Notebook' description: '' x-explicit-tags: - notebooks put: operationId: notebooks_update description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' security: - PersonalAPIKeyAuth: - notebook:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Notebook' description: '' x-explicit-tags: - notebooks patch: operationId: notebooks_partial_update description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedNotebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedNotebook' multipart/form-data: schema: $ref: '#/components/schemas/PatchedNotebook' security: - PersonalAPIKeyAuth: - notebook:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Notebook' description: '' x-explicit-tags: - notebooks delete: operationId: notebooks_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks security: - PersonalAPIKeyAuth: - notebook:write responses: '405': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/activity/: get: operationId: notebooks_activity_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/collab/save/: post: operationId: notebooks_collab_save_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/NotebookCollabSave' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/NotebookCollabSave' multipart/form-data: schema: $ref: '#/components/schemas/NotebookCollabSave' required: true security: - PersonalAPIKeyAuth: - notebook:write responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/collab/stream/: get: operationId: notebooks_collab_stream_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks security: - PersonalAPIKeyAuth: - notebook:read responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/hogql/execute/: post: operationId: notebooks_hogql_execute_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/config/: post: operationId: notebooks_kernel_config_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/dataframe/: get: operationId: notebooks_kernel_dataframe_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/execute/: post: operationId: notebooks_kernel_execute_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/execute/stream/: post: operationId: notebooks_kernel_execute_stream_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/restart/: post: operationId: notebooks_kernel_restart_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/start/: post: operationId: notebooks_kernel_start_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/status/: get: operationId: notebooks_kernel_status_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/{short_id}/kernel/stop/: post: operationId: notebooks_kernel_stop_create description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - notebooks requestBody: content: application/json: schema: $ref: '#/components/schemas/Notebook' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Notebook' multipart/form-data: schema: $ref: '#/components/schemas/Notebook' responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/activity/: get: operationId: notebooks_all_activity_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - notebooks responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/notebooks/recording_comments/: get: operationId: notebooks_recording_comments_retrieve description: The API for interacting with Notebooks. This feature is in early access and the API can have breaking changes without announcement. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - notebooks responses: '200': description: No response body x-explicit-tags: - notebooks /api/projects/{project_id}/object_media_previews/: get: operationId: object_media_previews_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedObjectMediaPreviewList' description: '' x-explicit-tags: [] post: operationId: object_media_previews_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews requestBody: content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ObjectMediaPreview' multipart/form-data: schema: $ref: '#/components/schemas/ObjectMediaPreview' security: - PersonalAPIKeyAuth: - event_definition:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' description: '' x-explicit-tags: [] /api/projects/{project_id}/object_media_previews/{id}/: get: operationId: object_media_previews_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this object media preview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' description: '' x-explicit-tags: [] put: operationId: object_media_previews_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this object media preview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews requestBody: content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ObjectMediaPreview' multipart/form-data: schema: $ref: '#/components/schemas/ObjectMediaPreview' security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' description: '' x-explicit-tags: [] patch: operationId: object_media_previews_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this object media preview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedObjectMediaPreview' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedObjectMediaPreview' multipart/form-data: schema: $ref: '#/components/schemas/PatchedObjectMediaPreview' security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' description: '' x-explicit-tags: [] delete: operationId: object_media_previews_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this object media preview. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews security: - PersonalAPIKeyAuth: - event_definition:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/object_media_previews/preferred_for_event/: get: operationId: object_media_previews_preferred_for_event_retrieve description: 'Get the preferred media preview for an event definition. Most recent user-uploaded, then most recent exported asset. Requires event_definition (query param).' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - object_media_previews responses: '200': content: application/json: schema: $ref: '#/components/schemas/ObjectMediaPreview' description: '' x-explicit-tags: [] /api/projects/{project_id}/persisted_folder/: get: operationId: persisted_folder_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - persisted_folder security: - PersonalAPIKeyAuth: - persisted_folder:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPersistedFolderList' description: '' x-explicit-tags: [] post: operationId: persisted_folder_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - persisted_folder requestBody: content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PersistedFolder' multipart/form-data: schema: $ref: '#/components/schemas/PersistedFolder' required: true security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' x-explicit-tags: [] /api/projects/{project_id}/persisted_folder/{id}/: get: operationId: persisted_folder_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persisted_folder security: - PersonalAPIKeyAuth: - persisted_folder:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' x-explicit-tags: [] put: operationId: persisted_folder_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persisted_folder requestBody: content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PersistedFolder' multipart/form-data: schema: $ref: '#/components/schemas/PersistedFolder' required: true security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' x-explicit-tags: [] patch: operationId: persisted_folder_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persisted_folder requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPersistedFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedPersistedFolder' multipart/form-data: schema: $ref: '#/components/schemas/PatchedPersistedFolder' security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersistedFolder' description: '' x-explicit-tags: [] delete: operationId: persisted_folder_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this Persisted Folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persisted_folder security: - PersonalAPIKeyAuth: - persisted_folder:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/persons/: get: operationId: persons_list description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: distinct_id schema: type: string description: Filter list by distinct id. - in: query name: email schema: type: string description: Filter persons by email (exact match) examples: Email: value: test@test.com summary: email - in: query name: format schema: type: string enum: - csv - json - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: properties schema: type: array items: $ref: '#/components/schemas/Property' description: Filter Persons by person properties. - in: query name: search schema: type: string description: Search persons, either by email (full text search) or distinct_id (exact match). tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPersonRecordList' text/csv: schema: $ref: '#/components/schemas/PaginatedPersonRecordList' description: '' x-explicit-tags: - persons /api/projects/{project_id}/persons/{id}/: get: operationId: persons_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonRecord' text/csv: schema: $ref: '#/components/schemas/PersonRecord' description: '' x-explicit-tags: - persons put: operationId: persons_update description: 'Only for setting properties on the person. "properties" from the request data will be updated via a "$set" event. This means that only the properties listed will be updated, but other properties won''t be removed nor updated. If you would like to remove a property use the `delete_property` endpoint.' parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonRecord' text/csv: schema: $ref: '#/components/schemas/PersonRecord' description: '' x-explicit-tags: - persons patch: operationId: persons_partial_update description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonRecord' text/csv: schema: $ref: '#/components/schemas/PersonRecord' description: '' x-explicit-tags: - persons /api/projects/{project_id}/persons/{id}/activity/: get: operationId: persons_activity_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this person. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/{id}/delete_property/: post: operationId: persons_delete_property_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonDeletePropertyRequest' required: true security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/{id}/properties_timeline/: get: operationId: persons_properties_timeline_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this person. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/{id}/split/: post: operationId: persons_split_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: integer description: A unique integer value identifying this person. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/{id}/update_property/: post: operationId: persons_update_property_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: path name: id schema: type: string description: A unique value identifying this person. Accepts both numeric ID and UUID. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonUpdatePropertyRequest' required: true security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/activity/: get: operationId: persons_all_activity_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/batch_by_distinct_ids/: post: operationId: persons_batch_by_distinct_ids_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/batch_by_uuids/: post: operationId: persons_batch_by_uuids_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/bulk_delete/: post: operationId: persons_bulk_delete_create description: This endpoint allows you to bulk delete persons, either by the PostHog person IDs or by distinct IDs. You can pass in a maximum of 1000 IDs per call. Only events captured before the request will be deleted. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonBulkDeleteRequest' security: - PersonalAPIKeyAuth: - person:write responses: '202': content: application/json: schema: $ref: '#/components/schemas/PersonBulkDeleteResponse' text/csv: schema: $ref: '#/components/schemas/PersonBulkDeleteResponse' description: '' x-explicit-tags: - persons /api/projects/{project_id}/persons/cohorts/: get: operationId: persons_cohorts_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: query name: person_id schema: type: string description: The person ID or UUID to get cohorts for. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read - cohort:read responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/deletion_status/: get: operationId: persons_deletion_status_list description: List the status of queued event deletions for persons. When you delete a person with `delete_events=true`, an async deletion is queued. Use this endpoint to check whether those deletions are still pending or have been completed. parameters: - in: query name: format schema: type: string enum: - csv - json - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: person_uuid schema: type: string format: uuid description: Filter by a specific person UUID. - $ref: '#/components/parameters/ProjectIdPath' - in: query name: status schema: type: string enum: - all - completed - pending description: 'Filter by deletion status: ''pending'', ''completed'', or ''all''.' tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAsyncDeletionStatusList' text/csv: schema: $ref: '#/components/schemas/PaginatedAsyncDeletionStatusList' description: '' x-explicit-tags: - persons /api/projects/{project_id}/persons/funnel/: get: operationId: persons_funnel_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons responses: '200': description: No response body x-explicit-tags: - persons post: operationId: persons_funnel_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/funnel/correlation/: get: operationId: persons_funnel_correlation_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons responses: '200': description: No response body x-explicit-tags: - persons post: operationId: persons_funnel_correlation_create description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/lifecycle/: get: operationId: persons_lifecycle_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/properties_at_time/: get: operationId: persons_properties_at_time_retrieve description: 'Get person properties as they existed at a specific point in time. This endpoint reconstructs person properties by querying ClickHouse events for $set and $set_once operations up to the specified timestamp. Query parameters: - distinct_id: The distinct_id of the person - timestamp: ISO datetime string for the point in time (e.g., "2023-06-15T14:30:00Z") - include_set_once: Whether to handle $set_once operations (default: false) - debug: Whether to include debug information with raw events (default: false)' parameters: - in: query name: debug schema: type: boolean description: 'Whether to include debug information with raw events (only works when DEBUG=True, default: false)' - in: query name: distinct_id schema: type: string description: The distinct_id of the person (mutually exclusive with person_id) - in: query name: format schema: type: string enum: - csv - json - in: query name: include_set_once schema: type: boolean description: 'Whether to handle $set_once operations (default: false)' - in: query name: person_id schema: type: string description: The person_id (UUID) to build properties for (mutually exclusive with distinct_id) - $ref: '#/components/parameters/ProjectIdPath' - in: query name: timestamp schema: type: string description: ISO datetime string for the point in time (e.g., '2023-06-15T14:30:00Z') required: true tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PersonPropertiesAtTimeResponse' text/csv: schema: $ref: '#/components/schemas/PersonPropertiesAtTimeResponse' description: '' '400': content: application/json: schema: description: Bad request - invalid parameters text/csv: schema: description: Bad request - invalid parameters description: '' '404': content: application/json: schema: description: Person not found text/csv: schema: description: Person not found description: '' '500': content: application/json: schema: description: Internal server error text/csv: schema: description: Internal server error description: '' x-explicit-tags: - persons /api/projects/{project_id}/persons/reset_person_distinct_id/: post: operationId: persons_reset_person_distinct_id_create description: Reset a distinct_id for a deleted person. This allows the distinct_id to be used again. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons requestBody: content: application/json: schema: $ref: '#/components/schemas/PersonRecord' security: - PersonalAPIKeyAuth: - person:write responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/trends/: get: operationId: persons_trends_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - $ref: '#/components/parameters/ProjectIdPath' tags: - persons - persons responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/persons/values/: get: operationId: persons_values_retrieve description: This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs. parameters: - in: query name: format schema: type: string enum: - csv - json - in: query name: key schema: type: string description: The person property key to get values for (e.g., 'email', 'plan', 'role'). required: true - $ref: '#/components/parameters/ProjectIdPath' - in: query name: value schema: type: string description: Optional search string to filter values (case-insensitive substring match). tags: - persons - persons security: - PersonalAPIKeyAuth: - person:read responses: '200': description: No response body x-explicit-tags: - persons /api/projects/{project_id}/plugin_configs/{plugin_config_id}/logs/: get: operationId: plugin_configs_logs_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: path name: plugin_config_id schema: type: integer required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - plugin_configs security: - PersonalAPIKeyAuth: - plugin:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPluginLogEntryList' description: '' x-explicit-tags: [] /api/projects/{project_id}/product_tours/: get: operationId: product_tours_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - product_tours security: - PersonalAPIKeyAuth: - product_tour:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProductTourList' description: '' x-explicit-tags: - product_tours post: operationId: product_tours_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - product_tour:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' description: '' x-explicit-tags: - product_tours /api/projects/{project_id}/product_tours/{id}/: get: operationId: product_tours_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours security: - PersonalAPIKeyAuth: - product_tour:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductTour' description: '' x-explicit-tags: [] put: operationId: product_tours_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTour' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProductTour' multipart/form-data: schema: $ref: '#/components/schemas/ProductTour' required: true security: - PersonalAPIKeyAuth: - product_tour:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductTour' description: '' x-explicit-tags: [] patch: operationId: product_tours_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProductTourSerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProductTourSerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProductTourSerializerCreateUpdateOnly' security: - PersonalAPIKeyAuth: - product_tour:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' description: '' x-explicit-tags: [] delete: operationId: product_tours_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours security: - PersonalAPIKeyAuth: - product_tour:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/product_tours/{id}/discard_draft/: delete: operationId: product_tours_discard_draft_destroy description: Discard draft content. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours security: - PersonalAPIKeyAuth: - product_tour:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductTour' description: '' x-explicit-tags: [] /api/projects/{project_id}/product_tours/{id}/draft/: patch: operationId: product_tours_draft_partial_update description: Save draft content (server-side merge). No side effects triggered. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProductTourSerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProductTourSerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProductTourSerializerCreateUpdateOnly' security: - PersonalAPIKeyAuth: - product_tour:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductTour' description: '' x-explicit-tags: [] /api/projects/{project_id}/product_tours/{id}/draft_status/: get: operationId: product_tours_draft_status_retrieve description: Lightweight polling endpoint for draft change detection. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours security: - PersonalAPIKeyAuth: - product_tour:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DraftStatusResponse' description: '' x-explicit-tags: [] /api/projects/{project_id}/product_tours/{id}/generate/: post: operationId: product_tours_generate_create description: Generate tour step content using AI. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GenerateRequest' multipart/form-data: schema: $ref: '#/components/schemas/GenerateRequest' security: - PersonalAPIKeyAuth: - product_tour:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GenerateResponse' description: '' x-explicit-tags: [] /api/projects/{project_id}/product_tours/{id}/publish_draft/: post: operationId: product_tours_publish_draft_create description: 'Commit draft to live tour. Runs full validation and triggers side effects. Accepts an optional body payload. If provided, merges it into the draft before publishing so the caller can save + publish in a single request.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this product tour. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - product_tours requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - product_tour:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductTour' description: '' x-explicit-tags: [] /api/projects/{project_id}/project_secret_api_keys/: get: operationId: project_secret_api_keys_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys security: - PersonalAPIKeyAuth: - project:read - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectSecretAPIKeyList' description: '' x-explicit-tags: - core post: operationId: project_secret_api_keys_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' multipart/form-data: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' required: true security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' x-explicit-tags: - core /api/projects/{project_id}/project_secret_api_keys/{id}/: get: operationId: project_secret_api_keys_retrieve parameters: - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys security: - PersonalAPIKeyAuth: - project:read - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' x-explicit-tags: - core put: operationId: project_secret_api_keys_update parameters: - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' multipart/form-data: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' required: true security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' x-explicit-tags: - core patch: operationId: project_secret_api_keys_partial_update parameters: - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProjectSecretAPIKey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProjectSecretAPIKey' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProjectSecretAPIKey' security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' x-explicit-tags: - core delete: operationId: project_secret_api_keys_destroy parameters: - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys security: - PersonalAPIKeyAuth: - project:write - PersonalAPIKeyAuth: - project:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/project_secret_api_keys/{id}/roll/: post: operationId: project_secret_api_keys_roll_create description: Roll a project secret API key parameters: - in: path name: id schema: type: string description: A unique value identifying this project secret api key. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - project_secret_api_keys responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSecretAPIKey' description: '' x-explicit-tags: - core /api/projects/{project_id}/property_definitions/: get: operationId: property_definitions_list parameters: - in: query name: event_names schema: type: string minLength: 1 description: If sent, response value will have `is_seen_on_filtered_events` populated. JSON-encoded - in: query name: exclude_core_properties schema: type: boolean default: false description: Whether to exclude core properties - in: query name: exclude_hidden schema: type: boolean default: false description: Whether to exclude properties marked as hidden - in: query name: excluded_properties schema: type: string minLength: 1 description: JSON-encoded list of excluded properties - in: query name: filter_by_event_names schema: type: boolean nullable: true description: Whether to return only properties for events in `event_names` - in: query name: group_type_index schema: type: integer description: What group type is the property for. Only should be set if `type=group` - in: query name: is_feature_flag schema: type: boolean nullable: true description: Whether to return only (or excluding) feature flag properties - in: query name: is_numerical schema: type: boolean nullable: true description: Whether to return only (or excluding) numerical property definitions - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: properties schema: type: string minLength: 1 description: Comma-separated list of properties to filter - in: query name: search schema: type: string description: Searches properties by name - in: query name: type schema: enum: - event - person - group - session type: string default: event minLength: 1 description: 'What property definitions to return * `event` - event * `person` - person * `group` - group * `session` - session' - in: query name: verified schema: type: boolean nullable: true description: Filter by verified status. True returns only verified, false returns only unverified. tags: - core - property_definitions security: - PersonalAPIKeyAuth: - property_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnterprisePropertyDefinitionList' description: '' x-explicit-tags: - core /api/projects/{project_id}/property_definitions/{id}/: get: operationId: property_definitions_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this property definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - property_definitions security: - PersonalAPIKeyAuth: - property_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterprisePropertyDefinition' description: '' x-explicit-tags: - core put: operationId: property_definitions_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this property definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - property_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterprisePropertyDefinition' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EnterprisePropertyDefinition' multipart/form-data: schema: $ref: '#/components/schemas/EnterprisePropertyDefinition' security: - PersonalAPIKeyAuth: - property_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterprisePropertyDefinition' description: '' x-explicit-tags: - core patch: operationId: property_definitions_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this property definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - property_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnterprisePropertyDefinition' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEnterprisePropertyDefinition' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEnterprisePropertyDefinition' security: - PersonalAPIKeyAuth: - property_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnterprisePropertyDefinition' description: '' x-explicit-tags: - core delete: operationId: property_definitions_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this property definition. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - property_definitions security: - PersonalAPIKeyAuth: - property_definition:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/property_definitions/bulk_update_tags/: post: operationId: property_definitions_bulk_update_tags_create description: 'Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove specific tags from each object - "set": Replace all tags on each object with the provided list' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - property_definitions requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' multipart/form-data: schema: $ref: '#/components/schemas/BulkUpdateTagsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkUpdateTagsResponse' description: '' x-explicit-tags: - core /api/projects/{project_id}/property_definitions/seen_together/: get: operationId: property_definitions_seen_together_retrieve description: 'Allows a caller to provide a list of event names and a single property name Returns a map of the event names to a boolean representing whether that property has ever been seen with that event_name' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - property_definitions security: - PersonalAPIKeyAuth: - property_definition:read responses: '200': description: No response body x-explicit-tags: - core /api/projects/{project_id}/query/: post: operationId: query_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - query requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QueryRequest' multipart/form-data: schema: $ref: '#/components/schemas/QueryRequest' required: true security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryResponseAlternative' description: '' x-explicit-tags: [] /api/projects/{project_id}/query/{id}/: get: operationId: query_retrieve description: (Experimental) parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - query security: - PersonalAPIKeyAuth: - query:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryStatusResponse' description: '' x-explicit-tags: [] delete: operationId: query_destroy description: (Experimental) parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - query security: - PersonalAPIKeyAuth: - query:read responses: '204': description: Query cancelled x-explicit-tags: [] /api/projects/{project_id}/query/{id}/log/: get: operationId: query_log_retrieve description: Get query log details from query_log_archive table for a specific query_id, the query must have been issued in last 24 hours. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - query responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/query/{query_kind}/: post: operationId: query_create_with_kind description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: query_kind schema: type: string pattern: ^[A-Z][A-Za-z]*$ required: true tags: - query responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/query/check_auth_for_async/: post: operationId: query_check_auth_for_async_create description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - query responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/query/draft_sql/: get: operationId: query_draft_sql_retrieve description: 'DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF''s initial() (auth + permissions + throttling) before returning the cached response, ensuring the request is authorized.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - query responses: '200': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/query/upgrade/: post: operationId: query_upgrade_create description: Upgrades a query without executing it. Returns a query with all nodes migrated to the latest version. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - query requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryUpgradeRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QueryUpgradeRequest' multipart/form-data: schema: $ref: '#/components/schemas/QueryUpgradeRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryUpgradeResponse' description: '' x-explicit-tags: [] /api/projects/{project_id}/sandbox_environments/: get: operationId: sandbox_list description: API for managing sandbox environments that control network access for task runs. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - sandbox-environments - sandbox_environments security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSandboxEnvironmentListList' description: '' x-explicit-tags: - sandbox-environments - tasks post: operationId: sandbox_create description: API for managing sandbox environments that control network access for task runs. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - sandbox-environments - sandbox_environments requestBody: content: application/json: schema: $ref: '#/components/schemas/SandboxEnvironment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SandboxEnvironment' multipart/form-data: schema: $ref: '#/components/schemas/SandboxEnvironment' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SandboxEnvironment' description: '' x-explicit-tags: - sandbox-environments - tasks /api/projects/{project_id}/sandbox_environments/{id}/: get: operationId: sandbox_retrieve description: API for managing sandbox environments that control network access for task runs. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this sandbox environment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - sandbox-environments - sandbox_environments security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SandboxEnvironment' description: '' x-explicit-tags: - sandbox-environments patch: operationId: sandbox_partial_update description: API for managing sandbox environments that control network access for task runs. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this sandbox environment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - sandbox-environments - sandbox_environments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSandboxEnvironment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSandboxEnvironment' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSandboxEnvironment' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SandboxEnvironment' description: '' x-explicit-tags: - sandbox-environments delete: operationId: sandbox_destroy description: API for managing sandbox environments that control network access for task runs. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this sandbox environment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - sandbox-environments - sandbox_environments security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '204': description: No response body x-explicit-tags: - sandbox-environments /api/projects/{project_id}/saved/: get: operationId: saved_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - saved security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHeatmapScreenshotResponseList' description: '' x-explicit-tags: [] post: operationId: saved_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - saved requestBody: content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' multipart/form-data: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' required: true security: - PersonalAPIKeyAuth: - heatmap:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' description: '' x-explicit-tags: [] /api/projects/{project_id}/saved/{short_id}/: get: operationId: saved_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - saved security: - PersonalAPIKeyAuth: - heatmap:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' description: '' x-explicit-tags: [] patch: operationId: saved_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - saved requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedHeatmapScreenshotResponse' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedHeatmapScreenshotResponse' multipart/form-data: schema: $ref: '#/components/schemas/PatchedHeatmapScreenshotResponse' security: - PersonalAPIKeyAuth: - heatmap:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' description: '' x-explicit-tags: [] delete: operationId: saved_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - saved security: - PersonalAPIKeyAuth: - heatmap:write responses: '405': description: No response body x-explicit-tags: [] /api/projects/{project_id}/saved/{short_id}/regenerate/: post: operationId: saved_regenerate_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - saved requestBody: content: application/json: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' multipart/form-data: schema: $ref: '#/components/schemas/HeatmapScreenshotResponse' required: true responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/schema_property_groups/: get: operationId: schema_property_groups_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - schema_property_groups security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSchemaPropertyGroupList' description: '' x-explicit-tags: [] post: operationId: schema_property_groups_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - schema_property_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/SchemaPropertyGroup' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SchemaPropertyGroup' multipart/form-data: schema: $ref: '#/components/schemas/SchemaPropertyGroup' required: true security: - PersonalAPIKeyAuth: - event_definition:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SchemaPropertyGroup' description: '' x-explicit-tags: [] /api/projects/{project_id}/schema_property_groups/{id}/: get: operationId: schema_property_groups_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this schema property group. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - schema_property_groups security: - PersonalAPIKeyAuth: - event_definition:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SchemaPropertyGroup' description: '' x-explicit-tags: [] put: operationId: schema_property_groups_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this schema property group. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - schema_property_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/SchemaPropertyGroup' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SchemaPropertyGroup' multipart/form-data: schema: $ref: '#/components/schemas/SchemaPropertyGroup' required: true security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SchemaPropertyGroup' description: '' x-explicit-tags: [] patch: operationId: schema_property_groups_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this schema property group. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - schema_property_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSchemaPropertyGroup' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSchemaPropertyGroup' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSchemaPropertyGroup' security: - PersonalAPIKeyAuth: - event_definition:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SchemaPropertyGroup' description: '' x-explicit-tags: [] delete: operationId: schema_property_groups_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this schema property group. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - schema_property_groups security: - PersonalAPIKeyAuth: - event_definition:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/sdk_doctor/report/: get: operationId: sdk_doctor_report_retrieve description: Returns a pre-digested health assessment of the PostHog SDKs the project is using. Covers which SDKs are current vs outdated (smart-semver rules with grace periods and traffic-percentage thresholds), per-version breakdown, and a human-readable reason for each assessment. Use this to diagnose SDK version issues, surface upgrade recommendations, or check overall SDK health. summary: Get SDK health report for a project parameters: - in: query name: force_refresh schema: type: boolean description: When true, bypasses the Redis cache and re-queries ClickHouse for SDK usage. Use sparingly — data is refreshed every 12 hours by a background job. - $ref: '#/components/parameters/ProjectIdPath' tags: - sdk_doctor - sdk_doctor security: - PersonalAPIKeyAuth: - project:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SdkHealthReport' description: '' x-explicit-tags: - sdk_doctor /api/projects/{project_id}/session_group_summaries/: get: operationId: session_group_summaries_list description: API for retrieving and managing stored group session summaries. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - session_group_summaries security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSessionGroupSummaryMinimalList' description: '' x-explicit-tags: [] post: operationId: session_group_summaries_create description: API for retrieving and managing stored group session summaries. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - session_group_summaries requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionGroupSummary' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionGroupSummary' multipart/form-data: schema: $ref: '#/components/schemas/SessionGroupSummary' security: - PersonalAPIKeyAuth: - session_recording:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionGroupSummary' description: '' x-explicit-tags: [] /api/projects/{project_id}/session_group_summaries/{id}/: get: operationId: session_group_summaries_retrieve description: API for retrieving and managing stored group session summaries. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session group summary. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - session_group_summaries security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionGroupSummary' description: '' x-explicit-tags: [] put: operationId: session_group_summaries_update description: API for retrieving and managing stored group session summaries. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session group summary. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - session_group_summaries requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionGroupSummary' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionGroupSummary' multipart/form-data: schema: $ref: '#/components/schemas/SessionGroupSummary' security: - PersonalAPIKeyAuth: - session_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionGroupSummary' description: '' x-explicit-tags: [] patch: operationId: session_group_summaries_partial_update description: API for retrieving and managing stored group session summaries. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session group summary. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - session_group_summaries requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionGroupSummary' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionGroupSummary' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionGroupSummary' security: - PersonalAPIKeyAuth: - session_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionGroupSummary' description: '' x-explicit-tags: [] delete: operationId: session_group_summaries_destroy description: API for retrieving and managing stored group session summaries. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session group summary. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - session_group_summaries security: - PersonalAPIKeyAuth: - session_recording:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/session_recording_playlists/: get: operationId: session_recording_playlists_list description: Override list to include synthetic playlists parameters: - in: query name: created_by schema: type: integer - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: short_id schema: type: string tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSessionRecordingPlaylistList' description: '' x-explicit-tags: - replay post: operationId: session_recording_playlists_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' x-explicit-tags: - replay /api/projects/{project_id}/session_recording_playlists/{short_id}/: get: operationId: session_recording_playlists_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' x-explicit-tags: - replay put: operationId: session_recording_playlists_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' x-explicit-tags: - replay patch: operationId: session_recording_playlists_partial_update parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionRecordingPlaylist' security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' description: '' x-explicit-tags: - replay delete: operationId: session_recording_playlists_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:write responses: '405': description: No response body x-explicit-tags: - replay /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/: get: operationId: session_recording_playlists_recordings_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists security: - PersonalAPIKeyAuth: - session_recording_playlist:read responses: '200': description: No response body x-explicit-tags: - replay /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/: post: operationId: session_recording_playlists_recordings_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: session_recording_id schema: type: string required: true - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecordingPlaylist' responses: '200': description: No response body x-explicit-tags: - replay delete: operationId: session_recording_playlists_recordings_destroy parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: session_recording_id schema: type: string required: true - in: path name: short_id schema: type: string required: true tags: - replay - session_recording_playlists responses: '204': description: No response body x-explicit-tags: - replay /api/projects/{project_id}/session_recordings/: get: operationId: session_recordings_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_recordings security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSessionRecordingList' description: '' x-explicit-tags: - replay /api/projects/{project_id}/session_recordings/{id}/: get: operationId: session_recordings_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_recordings security: - PersonalAPIKeyAuth: - session_recording:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecording' description: '' x-explicit-tags: - replay put: operationId: session_recordings_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRecording' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionRecording' multipart/form-data: schema: $ref: '#/components/schemas/SessionRecording' security: - PersonalAPIKeyAuth: - session_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecording' description: '' x-explicit-tags: - replay patch: operationId: session_recordings_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionRecording' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionRecording' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionRecording' security: - PersonalAPIKeyAuth: - session_recording:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SessionRecording' description: '' x-explicit-tags: - replay delete: operationId: session_recordings_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this session recording. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - replay - session_recordings security: - PersonalAPIKeyAuth: - session_recording:write responses: '204': description: No response body x-explicit-tags: - replay /api/projects/{project_id}/session_recordings/{recording_id}/sharing/: get: operationId: session_recordings_sharing_list parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings security: - PersonalAPIKeyAuth: - sharing_configuration:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/: post: operationId: session_recordings_sharing_passwords_create description: Create a new password for the sharing configuration. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/{password_id}/: delete: operationId: session_recordings_sharing_passwords_destroy description: Delete a password from the sharing configuration. parameters: - in: path name: password_id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '204': description: No response body x-explicit-tags: - core /api/projects/{project_id}/session_recordings/{recording_id}/sharing/refresh/: post: operationId: session_recordings_sharing_refresh_create parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: recording_id schema: type: string required: true tags: - core - session_recordings requestBody: content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SharingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/SharingConfiguration' security: - PersonalAPIKeyAuth: - sharing_configuration:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharingConfiguration' description: '' x-explicit-tags: - core /api/projects/{project_id}/sessions/property_definitions/: get: operationId: sessions_property_definitions_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - sessions security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/sessions/values/: get: operationId: sessions_values_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - sessions security: - PersonalAPIKeyAuth: - query:read responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/signals/processing/: get: operationId: signals_processing_list description: Return current processing state including pause status. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - signals security: - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPauseStateResponseList' description: '' x-explicit-tags: - signals /api/projects/{project_id}/signals/processing/pause/: put: operationId: signals_processing_pause_update description: View and control signal processing pipeline state for a team. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - signals requestBody: content: application/json: schema: $ref: '#/components/schemas/PauseUntilRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PauseUntilRequest' multipart/form-data: schema: $ref: '#/components/schemas/PauseUntilRequest' required: true security: - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PauseResponse' description: '' x-explicit-tags: - signals delete: operationId: signals_processing_pause_destroy description: View and control signal processing pipeline state for a team. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - signals security: - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PauseResponse' description: '' x-explicit-tags: - signals /api/projects/{project_id}/signals/reports/: get: operationId: signals_reports_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: ordering schema: type: string description: 'Comma-separated ordering clauses. Each clause is a field name optionally prefixed with ''-'' for descending. Allowed fields: status, is_suggested_reviewer, signal_count, total_weight, priority, created_at, updated_at, id. Defaults to ''-is_suggested_reviewer,status,-updated_at''.' - $ref: '#/components/parameters/ProjectIdPath' - in: query name: search schema: type: string description: Case-insensitive substring match against report title and summary. - in: query name: source_product schema: type: string description: Comma-separated list of source products to include. Reports are kept if at least one of their contributing signals comes from one of these products (e.g. error_tracking, session_replay). - in: query name: status schema: type: string description: 'Comma-separated list of statuses to include. Valid values: potential, candidate, in_progress, pending_input, ready, failed, suppressed. Defaults to all statuses except suppressed.' - in: query name: suggested_reviewers schema: type: string description: Comma-separated list of PostHog user UUIDs. Reports are kept if their suggested reviewers include any of the given users. tags: - signals security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSignalReportList' description: '' x-explicit-tags: - signals /api/projects/{project_id}/signals/reports/{id}/: get: operationId: signals_reports_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this signal report. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - signals security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SignalReport' description: '' x-explicit-tags: [] /api/projects/{project_id}/signals/source_configs/: get: operationId: signals_source_configs_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - signals security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSignalSourceConfigList' description: '' x-explicit-tags: - signals post: operationId: signals_source_configs_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - signals requestBody: content: application/json: schema: $ref: '#/components/schemas/SignalSourceConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SignalSourceConfig' multipart/form-data: schema: $ref: '#/components/schemas/SignalSourceConfig' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SignalSourceConfig' description: '' x-explicit-tags: - signals /api/projects/{project_id}/signals/source_configs/{id}/: get: operationId: signals_source_configs_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this signal source config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - signals security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SignalSourceConfig' description: '' x-explicit-tags: [] put: operationId: signals_source_configs_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this signal source config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - signals requestBody: content: application/json: schema: $ref: '#/components/schemas/SignalSourceConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SignalSourceConfig' multipart/form-data: schema: $ref: '#/components/schemas/SignalSourceConfig' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SignalSourceConfig' description: '' x-explicit-tags: [] patch: operationId: signals_source_configs_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this signal source config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - signals requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSignalSourceConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSignalSourceConfig' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSignalSourceConfig' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SignalSourceConfig' description: '' x-explicit-tags: [] delete: operationId: signals_source_configs_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this signal source config. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - signals security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/subscriptions/: get: operationId: subscriptions_list parameters: - in: query name: created_by schema: type: string description: Filter by creator user UUID. - in: query name: dashboard schema: type: integer description: Filter by dashboard ID. - in: query name: insight schema: type: integer description: Filter by insight ID. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string - $ref: '#/components/parameters/ProjectIdPath' - in: query name: resource_type schema: type: string enum: - dashboard - insight description: 'Filter by subscription resource: insight vs dashboard export.' - name: search required: false in: query description: A search term. schema: type: string - in: query name: target_type schema: type: string enum: - email - slack - webhook description: Filter by delivery channel (email, Slack, or webhook). tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSubscriptionList' description: '' x-explicit-tags: - core post: operationId: subscriptions_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - core - subscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Subscription' multipart/form-data: schema: $ref: '#/components/schemas/Subscription' required: true security: - PersonalAPIKeyAuth: - subscription:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' x-explicit-tags: - core /api/projects/{project_id}/subscriptions/{id}/: get: operationId: subscriptions_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' x-explicit-tags: - core put: operationId: subscriptions_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - subscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Subscription' multipart/form-data: schema: $ref: '#/components/schemas/Subscription' required: true security: - PersonalAPIKeyAuth: - subscription:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' x-explicit-tags: - core patch: operationId: subscriptions_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - subscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSubscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSubscription' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSubscription' security: - PersonalAPIKeyAuth: - subscription:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscription' description: '' x-explicit-tags: - core delete: operationId: subscriptions_destroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:write responses: '405': description: No response body x-explicit-tags: - core /api/projects/{project_id}/subscriptions/{id}/test-delivery/: post: operationId: subscriptions_test_delivery_create parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this subscription. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - core - subscriptions security: - PersonalAPIKeyAuth: - subscription:write responses: '202': description: Test delivery workflow started x-explicit-tags: - core /api/projects/{project_id}/surveys/: get: operationId: surveys_list parameters: - in: query name: archived schema: type: boolean - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSurveyList' description: '' x-explicit-tags: - surveys post: operationId: surveys_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnlySchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnlySchema' multipart/form-data: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnlySchema' required: true security: - PersonalAPIKeyAuth: - survey:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' description: '' x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/: get: operationId: surveys_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Survey' description: '' x-explicit-tags: - surveys put: operationId: surveys_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/Survey' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Survey' multipart/form-data: schema: $ref: '#/components/schemas/Survey' required: true security: - PersonalAPIKeyAuth: - survey:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Survey' description: '' x-explicit-tags: - surveys patch: operationId: surveys_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSurveySerializerCreateUpdateOnlySchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSurveySerializerCreateUpdateOnlySchema' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSurveySerializerCreateUpdateOnlySchema' security: - PersonalAPIKeyAuth: - survey:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' description: '' x-explicit-tags: - surveys delete: operationId: surveys_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:write responses: '204': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/activity/: get: operationId: surveys_activity_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/archived-response-uuids/: get: operationId: surveys_archived_response_uuids_retrieve description: 'Get list of archived response UUIDs for HogQL filtering. Returns list of UUIDs that the frontend can use to filter out archived responses in HogQL queries.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:read responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/duplicate_to_projects/: post: operationId: surveys_duplicate_to_projects_create description: 'Duplicate a survey to multiple projects in a single transaction. Accepts a list of target team IDs and creates a copy of the survey in each project. Uses an all-or-nothing approach - if any duplication fails, all changes are rolled back.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - survey:write responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/generate_translations/: post: operationId: surveys_generate_translations_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerateSurveyTranslationsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GenerateSurveyTranslationsRequest' multipart/form-data: schema: $ref: '#/components/schemas/GenerateSurveyTranslationsRequest' required: true security: - PersonalAPIKeyAuth: - survey:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GenerateSurveyTranslationsResponse' description: '' x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/archive/: post: operationId: surveys_responses_archive_create description: Archive a single survey response. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: response_uuid schema: type: string pattern: ^[^/]+$ required: true tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - survey:write responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/unarchive/: post: operationId: surveys_responses_unarchive_create description: Unarchive a single survey response. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: response_uuid schema: type: string pattern: ^[^/]+$ required: true tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - survey:write responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/stats/: get: operationId: surveys_stats_retrieve description: "Get survey response statistics for a specific survey.\n\nArgs:\n\ \ date_from: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z)\n\ \ date_to: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z)\n\ \ exclude_archived: Optional boolean to exclude archived responses (default:\ \ false, includes archived)\n\nReturns:\n Survey statistics including event\ \ counts, unique respondents, and conversion rates" parameters: - in: query name: date_from schema: type: string format: date-time description: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) - in: query name: date_to schema: type: string format: date-time description: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z) - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SurveyStatsResponse' description: '' x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/summarize_responses/: post: operationId: surveys_summarize_responses_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - survey:read responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/{id}/summary_headline/: post: operationId: surveys_summary_headline_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this survey. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' multipart/form-data: schema: $ref: '#/components/schemas/SurveySerializerCreateUpdateOnly' required: true security: - PersonalAPIKeyAuth: - survey:read responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/activity/: get: operationId: surveys_all_activity_retrieve parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/responses_count/: get: operationId: surveys_responses_count_retrieve description: "Get response counts for all surveys.\n\nArgs:\n exclude_archived:\ \ Optional boolean to exclude archived responses (default: false, includes\ \ archived)\n survey_ids: Optional comma-separated list of survey IDs to\ \ filter by\n\nReturns:\n Dictionary mapping survey IDs to response counts" parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:read responses: '200': description: No response body x-explicit-tags: - surveys /api/projects/{project_id}/surveys/stats/: get: operationId: surveys_global_stats_retrieve description: "Get aggregated response statistics across all surveys.\n\nArgs:\n\ \ date_from: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z)\n\ \ date_to: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z)\n\ \nReturns:\n Aggregated statistics across all surveys including total counts\ \ and rates" parameters: - in: query name: date_from schema: type: string format: date-time description: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) - in: query name: date_to schema: type: string format: date-time description: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z) - $ref: '#/components/parameters/ProjectIdPath' tags: - surveys - surveys security: - PersonalAPIKeyAuth: - survey:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/SurveyGlobalStatsResponse' description: '' x-explicit-tags: - surveys /api/projects/{project_id}/task_automations/: get: operationId: task_automations_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTaskAutomationList' description: '' x-explicit-tags: - task-automations - tasks post: operationId: task_automations_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskAutomation' multipart/form-data: schema: $ref: '#/components/schemas/TaskAutomation' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' description: '' x-explicit-tags: - task-automations - tasks /api/projects/{project_id}/task_automations/{id}/: get: operationId: task_automations_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task automation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' description: '' x-explicit-tags: - task-automations put: operationId: task_automations_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task automation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskAutomation' multipart/form-data: schema: $ref: '#/components/schemas/TaskAutomation' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' description: '' x-explicit-tags: - task-automations patch: operationId: task_automations_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task automation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTaskAutomation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTaskAutomation' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTaskAutomation' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' description: '' x-explicit-tags: - task-automations delete: operationId: task_automations_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task automation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '204': description: No response body x-explicit-tags: - task-automations /api/projects/{project_id}/task_automations/{id}/run/: post: operationId: task_automations_run_create parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task automation. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - task-automations - task_automations requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskAutomation' multipart/form-data: schema: $ref: '#/components/schemas/TaskAutomation' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskAutomation' description: '' x-explicit-tags: - task-automations /api/projects/{project_id}/tasks/: get: operationId: tasks_list description: Get a list of tasks for the current project, with optional filtering by origin product, stage, organization, repository, and created_by. summary: List tasks parameters: - in: query name: created_by schema: type: integer description: Filter by creator user ID - in: query name: internal schema: type: boolean description: When true, list internal tasks instead of user-facing ones. Honored only in debug environments; ignored in production. Defaults to excluding internal tasks. - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: organization schema: type: string minLength: 1 description: Filter by repository organization - in: query name: origin_product schema: type: string minLength: 1 description: Filter by origin product - $ref: '#/components/parameters/ProjectIdPath' - in: query name: repository schema: type: string minLength: 1 description: Filter by repository name (can include org/repo format) - in: query name: search schema: type: string description: Case-insensitive substring search over task title and description. A numeric value also matches the task number. An empty value disables the filter. - in: query name: stage schema: type: string minLength: 1 description: Filter by task run stage - in: query name: status schema: enum: - not_started - queued - in_progress - completed - failed - cancelled type: string minLength: 1 description: 'Filter tasks by the status of their most recent run. * `not_started` - not_started * `queued` - queued * `in_progress` - in_progress * `completed` - completed * `failed` - failed * `cancelled` - cancelled' tags: - tasks - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTaskList' description: List of tasks x-explicit-tags: - tasks post: operationId: tasks_create description: API for managing tasks within a project. Tasks represent units of work to be performed by an agent. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/Task' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Task' multipart/form-data: schema: $ref: '#/components/schemas/Task' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Task' description: '' x-explicit-tags: - tasks /api/projects/{project_id}/tasks/{id}/: get: operationId: tasks_retrieve description: API for managing tasks within a project. Tasks represent units of work to be performed by an agent. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: '' x-explicit-tags: - tasks put: operationId: tasks_update description: API for managing tasks within a project. Tasks represent units of work to be performed by an agent. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/Task' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Task' multipart/form-data: schema: $ref: '#/components/schemas/Task' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: '' x-explicit-tags: - tasks patch: operationId: tasks_partial_update description: API for managing tasks within a project. Tasks represent units of work to be performed by an agent. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTask' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTask' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTask' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: '' x-explicit-tags: - tasks delete: operationId: tasks_destroy description: API for managing tasks within a project. Tasks represent units of work to be performed by an agent. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '204': description: No response body x-explicit-tags: - tasks /api/projects/{project_id}/tasks/{id}/run/: post: operationId: tasks_run_create description: Create a new task run and kick off the workflow. summary: Run task parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunCreateRequestSchema' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunCreateRequestSchema' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunCreateRequestSchema' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: Task with updated latest run '400': content: application/json: schema: $ref: '#/components/schemas/TaskRunErrorResponse' description: Invalid task run payload '404': description: Task not found x-explicit-tags: - tasks /api/projects/{project_id}/tasks/{id}/staged_artifacts/finalize_upload/: post: operationId: tasks_staged_artifacts_finalize_upload_create description: Verify staged S3 uploads and cache their metadata so they can be attached to the next run created for this task. summary: Finalize staged direct uploads for task attachments parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskStagedArtifactsFinalizeUploadRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskStagedArtifactsFinalizeUploadRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskStagedArtifactsFinalizeUploadRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskStagedArtifactsFinalizeUploadResponse' description: Finalized staged artifacts available for the next task run '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid artifact payload '404': description: Task not found x-explicit-tags: - tasks /api/projects/{project_id}/tasks/{id}/staged_artifacts/prepare_upload/: post: operationId: tasks_staged_artifacts_prepare_upload_create description: Reserve S3 object keys for task attachments before creating a new run and return presigned POST forms for direct uploads. summary: Prepare staged direct uploads for task attachments parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskStagedArtifactsPrepareUploadRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskStagedArtifactsPrepareUploadRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskStagedArtifactsPrepareUploadRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskStagedArtifactsPrepareUploadResponse' description: Prepared staged uploads for the requested artifacts '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid artifact payload '404': description: Task not found x-explicit-tags: - tasks /api/projects/{project_id}/tasks/{task_id}/runs/: get: operationId: tasks_runs_list description: Get a list of runs for a specific task. summary: List task runs parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTaskRunDetailList' description: List of task runs x-explicit-tags: - task-runs - tasks post: operationId: tasks_runs_create description: Create a new run for a specific task without starting execution. summary: Create task run parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunBootstrapCreateRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunBootstrapCreateRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunBootstrapCreateRequest' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/TaskRunDetail' description: Created task run '400': content: application/json: schema: $ref: '#/components/schemas/TaskRunErrorResponse' description: Invalid task run payload x-explicit-tags: - task-runs - tasks /api/projects/{project_id}/tasks/{task_id}/runs/{id}/: get: operationId: tasks_runs_retrieve description: API for managing task runs. Each run represents an execution of a task. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunDetail' description: '' x-explicit-tags: - task-runs patch: operationId: tasks_runs_partial_update description: API for managing task runs. Each run represents an execution of a task. summary: Update task run parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTaskRunUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTaskRunUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTaskRunUpdate' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunDetail' description: Updated task run '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid update data '404': description: Task run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/append_log/: post: operationId: tasks_runs_append_log_create description: Append one or more log entries to the task run log array summary: Append log entries parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunAppendLogRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunAppendLogRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunAppendLogRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunDetail' description: Run with updated log '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid log entries '404': description: Run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/artifacts/: post: operationId: tasks_runs_artifacts_create description: Persist task artifacts to S3 and attach them to the run manifest. summary: Upload artifacts for a task run parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactsUploadRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunArtifactsUploadRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunArtifactsUploadRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactsUploadResponse' description: Run with updated artifact manifest '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid artifact payload '404': description: Run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/artifacts/download/: post: operationId: tasks_runs_artifacts_download_create description: Streams artifact content for a task run artifact after validating that it belongs to the run. summary: Download an artifact through the backend parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactPresignRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunArtifactPresignRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunArtifactPresignRequest' required: true security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': description: Artifact content '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '404': description: Artifact not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/artifacts/finalize_upload/: post: operationId: tasks_runs_artifacts_finalize_upload_create description: Verify directly uploaded S3 objects and attach them to the run artifact manifest. summary: Finalize direct uploads for task run artifacts parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactsFinalizeUploadRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunArtifactsFinalizeUploadRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunArtifactsFinalizeUploadRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactsFinalizeUploadResponse' description: Run with updated artifact manifest '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid artifact payload '404': description: Run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/artifacts/prepare_upload/: post: operationId: tasks_runs_artifacts_prepare_upload_create description: Reserve S3 object keys for task artifacts and return presigned POST forms for direct uploads. summary: Prepare direct uploads for task run artifacts parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactsPrepareUploadRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunArtifactsPrepareUploadRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunArtifactsPrepareUploadRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactsPrepareUploadResponse' description: Prepared uploads for the requested artifacts '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid artifact payload '404': description: Run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/artifacts/presign/: post: operationId: tasks_runs_artifacts_presign_create description: Returns a temporary, signed URL that can be used to download a specific artifact. summary: Generate presigned URL for an artifact parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactPresignRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunArtifactPresignRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunArtifactPresignRequest' required: true security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunArtifactPresignResponse' description: Presigned URL for the requested artifact '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '404': description: Artifact not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/command/: post: operationId: tasks_runs_command_create description: Forward a JSON-RPC command to the agent server running in the sandbox. Supports user_message, cancel, close, permission_response, and set_config_option commands. summary: Send command to agent server parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunCommandRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunCommandRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunCommandRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunCommandResponse' description: Agent server response '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid command or no active sandbox '404': description: Task run not found '502': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Agent server unreachable x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/connection_token/: get: operationId: tasks_runs_connection_token_retrieve description: Generate a JWT token for direct connection to the sandbox. Valid for 24 hours. summary: Get sandbox connection token parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ConnectionTokenResponse' description: Connection token for direct sandbox connection '404': description: Task run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/logs/: get: operationId: tasks_runs_logs_retrieve description: Fetch the logs for a task run as JSONL. If the run resumes from another (state.resume_from_run_id), each ancestor's log is concatenated first (oldest ancestor → ... → this run) so resume consumers see a single continuous history and can find the most recent git_checkpoint event regardless of which run emitted it. summary: Get task run logs parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': description: Log content in JSONL format '404': description: Task run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/relay_message/: post: operationId: tasks_runs_relay_message_create description: Queue a Slack relay workflow to post a run message into the mapped Slack thread. summary: Relay run message to Slack parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunRelayMessageRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunRelayMessageRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunRelayMessageRequest' required: true security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunRelayMessageResponse' description: Relay accepted '404': description: Run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/resume_in_cloud/: post: operationId: tasks_runs_resume_in_cloud_create description: Resume an existing task run in a cloud sandbox. Terminates any existing workflow and starts a new one. summary: Resume task run in cloud parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunDetail' description: Run resumed in cloud '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Run already active or workflow failed x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/session_logs/: get: operationId: tasks_runs_session_logs_retrieve description: Fetch session log entries for a task run with optional filtering by timestamp, event type, and limit. summary: Get filtered task run session logs parameters: - in: query name: after schema: type: string format: date-time description: Only return events after this ISO8601 timestamp - in: query name: event_types schema: type: string minLength: 1 description: Comma-separated list of event types to include - in: query name: exclude_types schema: type: string minLength: 1 description: Comma-separated list of event types to exclude - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - in: query name: limit schema: type: integer maximum: 5000 minimum: 1 default: 1000 description: Maximum number of entries to return (default 1000, max 5000) - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Zero-based offset into the filtered log entries - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': description: Filtered log events as JSON array '404': description: Task run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/set_output/: patch: operationId: tasks_runs_set_output_partial_update description: Update the output field for a task run (e.g., PR URL, commit SHA, etc.) summary: Set run output parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTaskRunSetOutputRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTaskRunSetOutputRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTaskRunSetOutputRequest' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRunDetail' description: Run with updated output '404': description: Run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/start/: post: operationId: tasks_runs_start_create description: Start an existing cloud run after any initial run-scoped attachments have been uploaded. summary: Start task run parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskRunStartRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TaskRunStartRequest' multipart/form-data: schema: $ref: '#/components/schemas/TaskRunStartRequest' security: - PersonalAPIKeyAuth: - task:write - PersonalAPIKeyAuth: - task:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: Task with updated latest run '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid start payload '404': description: Task run not found x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/{task_id}/runs/{id}/stream/: get: operationId: tasks_runs_stream_retrieve description: API for managing task runs. Each run represents an execution of a task. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this task run. required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: task_id schema: type: string format: uuid required: true tags: - task-runs - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: text/event-stream: schema: $ref: '#/components/schemas/TaskRunDetail' description: '' x-explicit-tags: - task-runs /api/projects/{project_id}/tasks/repositories/: get: operationId: tasks_repositories_retrieve description: Return the set of repositories referenced by non-deleted, non-internal tasks in the current project. Used to populate repository filter pickers without being constrained by task list pagination. summary: List distinct task repositories parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - tasks - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/TaskRepositoriesResponse' description: Distinct repositories used by tasks in the current project. x-explicit-tags: - tasks /api/projects/{project_id}/tasks/repository_readiness/: get: operationId: tasks_repository_readiness_retrieve description: Get autonomy readiness details for a specific repository in the current project. summary: Get repository readiness parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: query name: refresh schema: type: boolean default: false - in: query name: repository schema: type: string minLength: 1 description: Repository in org/repo format required: true - in: query name: window_days schema: type: integer maximum: 30 minimum: 1 default: 7 tags: - tasks - tasks security: - PersonalAPIKeyAuth: - task:read - PersonalAPIKeyAuth: - task:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/RepositoryReadinessResponse' description: Repository readiness status x-explicit-tags: - tasks /api/projects/{project_id}/uploaded_media/: post: operationId: uploaded_media_create description: "\n When object storage is available this API allows upload\ \ of media which can be used, for example, in text cards on dashboards.\n\n\ \ Uploaded media must have a content type beginning with 'image/' and be\ \ less than 4MB.\n " parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - uploaded_media security: - PersonalAPIKeyAuth: - uploaded_media:write responses: '201': content: application/json: schema: type: object additionalProperties: true description: '' x-explicit-tags: [] /api/projects/{project_id}/visual_review/repos/: get: operationId: visual_review_repos_list description: List all projects for the team. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRepoList' description: '' x-explicit-tags: - visual_review post: operationId: visual_review_repos_create description: Create a new repo. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRepoInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateRepoInput' multipart/form-data: schema: $ref: '#/components/schemas/CreateRepoInput' required: true security: - PersonalAPIKeyAuth: - visual_review:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Repo' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{id}/: get: operationId: visual_review_repos_retrieve description: Get a repo by ID. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Repo' description: '' x-explicit-tags: - visual_review patch: operationId: visual_review_repos_partial_update description: Update a repo's settings. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUpdateRepoRequestInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUpdateRepoRequestInput' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUpdateRepoRequestInput' security: - PersonalAPIKeyAuth: - visual_review:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Repo' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{id}/baselines/: get: operationId: visual_review_repos_baselines_retrieve description: '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.' parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/BaselineOverview' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{id}/quarantine/: get: operationId: visual_review_repos_quarantine_list description: 'List quarantined identifiers. Without filter: active only. With identifier: full history.' parameters: - in: path name: id schema: type: string required: true - in: query name: identifier schema: type: string description: Filter by identifier (returns full history) - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: query name: run_type schema: type: string description: Filter by run type tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedQuarantinedIdentifierEntryList' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{id}/quarantine/{run_type}/: post: operationId: visual_review_repos_quarantine_create description: Quarantine a snapshot identifier for a specific run type. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: run_type schema: type: string pattern: ^[^/]+$ required: true tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/QuarantineInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QuarantineInput' multipart/form-data: schema: $ref: '#/components/schemas/QuarantineInput' required: true security: - PersonalAPIKeyAuth: - visual_review:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/QuarantinedIdentifierEntry' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{id}/quarantine/{run_type}/expire/: post: operationId: visual_review_repos_quarantine_expire_create description: Expire all active quarantine entries for an identifier. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' - in: path name: run_type schema: type: string pattern: ^[^/]+$ required: true tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/QuarantineInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/QuarantineInput' multipart/form-data: schema: $ref: '#/components/schemas/QuarantineInput' required: true security: - PersonalAPIKeyAuth: - visual_review:write responses: '204': description: No response body x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{id}/thumbnails/{identifier}/: get: operationId: visual_review_repos_thumbnails_retrieve description: Serve a snapshot thumbnail by identifier. Returns WebP with ETag caching. parameters: - in: path name: id schema: type: string required: true - in: path name: identifier schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': description: WebP thumbnail image x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{repo_id}/runs/: get: operationId: visual_review_repos_runs_list description: List runs in this repo, optionally filtered by review state. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: path name: repo_id schema: type: string required: true - in: query name: review_state schema: type: string description: Filter by review state tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRunList' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{repo_id}/runs/counts/: get: operationId: visual_review_repos_runs_counts_retrieve description: Review state counts for runs in this repo. parameters: - $ref: '#/components/parameters/ProjectIdPath' - in: path name: repo_id schema: type: string required: true tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReviewStateCounts' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/repos/{repo_id}/snapshots/{run_type}/{identifier}/: get: operationId: visual_review_repos_snapshots_list description: Deduped baseline timeline for a snapshot identity. Newest first. parameters: - in: path name: identifier schema: type: string description: Snapshot identifier; clients must percent-encode before sending required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - in: path name: repo_id schema: type: string required: true - in: path name: run_type schema: type: string description: Run type (storybook, playwright) required: true tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSnapshotHistoryEntryList' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/: get: operationId: visual_review_runs_list description: List runs for the team, optionally filtered by review state, PR number, commit SHA, or branch. parameters: - in: query name: branch schema: type: string description: Filter by branch name - in: query name: commit_sha schema: type: string description: Filter by full commit SHA - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: pr_number schema: type: integer description: Filter by GitHub PR number - $ref: '#/components/parameters/ProjectIdPath' - in: query name: review_state schema: type: string description: Filter by review state tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRunList' description: '' x-explicit-tags: - visual_review post: operationId: visual_review_runs_create description: Create a new run from a CI manifest. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRunInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateRunInput' multipart/form-data: schema: $ref: '#/components/schemas/CreateRunInput' required: true security: - PersonalAPIKeyAuth: - visual_review:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateRunResult' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/: get: operationId: visual_review_runs_retrieve description: Get run status and summary. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Run' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/add-snapshots/: post: operationId: visual_review_runs_add_snapshots_create description: Add a batch of snapshots to a pending run (shard-based flow). parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/AddSnapshotsInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AddSnapshotsInput' multipart/form-data: schema: $ref: '#/components/schemas/AddSnapshotsInput' required: true security: - PersonalAPIKeyAuth: - visual_review:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/AddSnapshotsResult' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/approve/: post: operationId: visual_review_runs_approve_create description: 'Approve visual changes for snapshots in this run. With approve_all=true, approves all changed+new snapshots and returns signed baseline YAML. With specific snapshots, approves only those.' parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/ApproveRunRequestInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ApproveRunRequestInput' multipart/form-data: schema: $ref: '#/components/schemas/ApproveRunRequestInput' security: - PersonalAPIKeyAuth: - visual_review:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/AutoApproveResult' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/auto-approve/: post: operationId: visual_review_runs_auto_approve_create description: 'CLI auto-approve: approve all and return baseline YAML for local write.' parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:write deprecated: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/AutoApproveResult' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/complete/: post: operationId: visual_review_runs_complete_create description: 'Complete a run: detect removals, verify uploads, trigger diff processing.' parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Run' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/recompute/: post: operationId: visual_review_runs_recompute_create description: Re-evaluate quarantine and counts, update commit status, and optionally rerun the CI job. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/RecomputeResult' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/snapshot-history/: get: operationId: visual_review_runs_snapshot_history_list description: Recent change history for a snapshot identifier across runs. parameters: - in: path name: id schema: type: string required: true - in: query name: identifier schema: type: string description: Snapshot identifier required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSnapshotHistoryEntryList' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/snapshots/: get: operationId: visual_review_runs_snapshots_list description: Get all snapshots for a run with diff results. parameters: - in: path name: id schema: type: string required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSnapshotList' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/tolerate/: post: operationId: visual_review_runs_tolerate_create description: Mark a changed snapshot as a known tolerated alternate. parameters: - in: path name: id schema: type: string required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkToleratedInput' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MarkToleratedInput' multipart/form-data: schema: $ref: '#/components/schemas/MarkToleratedInput' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Snapshot' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/{id}/tolerated-hashes/: get: operationId: visual_review_runs_tolerated_hashes_list description: List known tolerated hashes for a snapshot identifier. parameters: - in: path name: id schema: type: string required: true - in: query name: identifier schema: type: string description: Snapshot identifier required: true - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedToleratedHashEntryList' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/visual_review/runs/counts/: get: operationId: visual_review_runs_counts_retrieve description: Review state counts for the runs list. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - visual_review - visual_review security: - PersonalAPIKeyAuth: - visual_review:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReviewStateCounts' description: '' x-explicit-tags: - visual_review /api/projects/{project_id}/warehouse_dag/: get: operationId: warehouse_dag_list description: Return this team's DAG as a set of edges and nodes parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_dag security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_model_paths/: get: operationId: warehouse_model_paths_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_model_paths security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataWarehouseModelPathList' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_model_paths/{id}/: get: operationId: warehouse_model_paths_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse model path. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_model_paths security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseModelPath' description: '' x-explicit-tags: [] /api/projects/{project_id}/warehouse_saved_queries/: get: operationId: warehouse_saved_queries_list description: Create, Read, Update and Delete Warehouse Tables. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDataWarehouseSavedQueryMinimalList' description: '' x-explicit-tags: - data_warehouse post: operationId: warehouse_saved_queries_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/: get: operationId: warehouse_saved_queries_retrieve description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse put: operationId: warehouse_saved_queries_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse patch: operationId: warehouse_saved_queries_partial_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQuery' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse delete: operationId: warehouse_saved_queries_destroy description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/activity/: get: operationId: warehouse_saved_queries_activity_retrieve description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - activity_log:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/ancestors/: post: operationId: warehouse_saved_queries_ancestors_create description: 'Return the ancestors of this saved query. By default, we return the immediate parents. The `level` parameter can be used to look further back into the ancestor tree. If `level` overshoots (i.e. points to only ancestors beyond the root), we return an empty list.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/cancel/: post: operationId: warehouse_saved_queries_cancel_create description: Cancel a running saved query workflow. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/dependencies/: get: operationId: warehouse_saved_queries_dependencies_retrieve description: Return the count of immediate upstream and downstream dependencies for this saved query. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/descendants/: post: operationId: warehouse_saved_queries_descendants_create description: 'Return the descendants of this saved query. By default, we return the immediate children. The `level` parameter can be used to look further ahead into the descendants tree. If `level` overshoots (i.e. points to only descendants further than a leaf), we return an empty list.' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/materialize/: post: operationId: warehouse_saved_queries_materialize_create description: Enable materialization for this saved query with a 24-hour sync frequency. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/revert_materialization/: post: operationId: warehouse_saved_queries_revert_materialization_create description: 'Undo materialization, revert back to the original view. (i.e. delete the materialized table and the schedule)' parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/run/: post: operationId: warehouse_saved_queries_run_create description: Run this saved query. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/{id}/run_history/: get: operationId: warehouse_saved_queries_run_history_retrieve description: Return the recent run history (up to 5 most recent) for this materialized view. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_queries/resume_schedules/: post: operationId: warehouse_saved_queries_resume_schedules_create description: 'Resume paused materialization schedules for multiple matviews. Accepts a list of view IDs in the request body: {"view_ids": ["id1", "id2", ...]} This endpoint is idempotent - calling it on already running or non-existent schedules is safe.' parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_queries requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQuery' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_query_folders/: get: operationId: warehouse_saved_query_folders_list parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_query_folders security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' x-explicit-tags: - data_warehouse post: operationId: warehouse_saved_query_folders_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_query_folders requestBody: content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' multipart/form-data: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_saved_query_folders/{id}/: get: operationId: warehouse_saved_query_folders_retrieve parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_query_folders security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' x-explicit-tags: - data_warehouse patch: operationId: warehouse_saved_query_folders_partial_update parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_query_folders requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQueryFolder' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQueryFolder' multipart/form-data: schema: $ref: '#/components/schemas/PatchedDataWarehouseSavedQueryFolder' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataWarehouseSavedQueryFolder' description: '' x-explicit-tags: - data_warehouse delete: operationId: warehouse_saved_query_folders_destroy parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse saved query folder. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - data_warehouse - warehouse_saved_query_folders security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_tables/: get: operationId: warehouse_tables_list description: Create, Read, Update and Delete Warehouse Tables. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - warehouse_tables security: - PersonalAPIKeyAuth: - warehouse_table:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTableList' description: '' x-explicit-tags: - data_warehouse post: operationId: warehouse_tables_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_tables/{id}/: get: operationId: warehouse_tables_retrieve description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables security: - PersonalAPIKeyAuth: - warehouse_table:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' x-explicit-tags: [] put: operationId: warehouse_tables_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' x-explicit-tags: [] patch: operationId: warehouse_tables_partial_update description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedTable' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedTable' multipart/form-data: schema: $ref: '#/components/schemas/PatchedTable' security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/Table' description: '' x-explicit-tags: [] delete: operationId: warehouse_tables_destroy description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/warehouse_tables/{id}/refresh_schema/: post: operationId: warehouse_tables_refresh_schema_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/warehouse_tables/{id}/update_schema/: post: operationId: warehouse_tables_update_schema_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse table. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables requestBody: content: application/json: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' multipart/form-data: schema: $ref: '#/components/schemas/Table' required: true responses: '200': description: No response body x-explicit-tags: [] /api/projects/{project_id}/warehouse_tables/file/: post: operationId: warehouse_tables_file_create description: Create, Read, Update and Delete Warehouse Tables. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_tables requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/Table' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Table' required: true security: - PersonalAPIKeyAuth: - warehouse_table:write responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_view_link/: get: operationId: warehouse_view_link_list description: Create, Read, Update and Delete View Columns. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - warehouse_view_link security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedViewLinkList' description: '' x-explicit-tags: - data_warehouse post: operationId: warehouse_view_link_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_view_link/{id}/: get: operationId: warehouse_view_link_retrieve description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_link security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: [] put: operationId: warehouse_view_link_update description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: [] patch: operationId: warehouse_view_link_partial_update description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedViewLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedViewLink' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: [] delete: operationId: warehouse_view_link_destroy description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_link security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/warehouse_view_link/validate/: post: operationId: warehouse_view_link_validate_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_link requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLinkValidation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLinkValidation' multipart/form-data: schema: $ref: '#/components/schemas/ViewLinkValidation' required: true responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_view_links/: get: operationId: warehouse_view_links_list description: Create, Read, Update and Delete View Columns. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' - name: search required: false in: query description: A search term. schema: type: string tags: - warehouse_view_links security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedViewLinkList' description: '' x-explicit-tags: - data_warehouse post: operationId: warehouse_view_links_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: - data_warehouse /api/projects/{project_id}/warehouse_view_links/{id}/: get: operationId: warehouse_view_links_retrieve description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_links security: - PersonalAPIKeyAuth: - warehouse_view:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: [] put: operationId: warehouse_view_links_update description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLink' multipart/form-data: schema: $ref: '#/components/schemas/ViewLink' required: true security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: [] patch: operationId: warehouse_view_links_partial_update description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedViewLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedViewLink' multipart/form-data: schema: $ref: '#/components/schemas/PatchedViewLink' security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/ViewLink' description: '' x-explicit-tags: [] delete: operationId: warehouse_view_links_destroy description: Create, Read, Update and Delete View Columns. parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this data warehouse join. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_links security: - PersonalAPIKeyAuth: - warehouse_view:write responses: '204': description: No response body x-explicit-tags: [] /api/projects/{project_id}/warehouse_view_links/validate/: post: operationId: warehouse_view_links_validate_create description: Create, Read, Update and Delete View Columns. parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - warehouse_view_links requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewLinkValidation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ViewLinkValidation' multipart/form-data: schema: $ref: '#/components/schemas/ViewLinkValidation' required: true responses: '200': description: No response body x-explicit-tags: - data_warehouse /api/projects/{project_id}/web_experiments/: get: operationId: web_experiments_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - $ref: '#/components/parameters/ProjectIdPath' tags: - web_experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedWebExperimentsAPIList' description: '' x-explicit-tags: [] post: operationId: web_experiments_create parameters: - $ref: '#/components/parameters/ProjectIdPath' tags: - web_experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/WebExperimentsAPI' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WebExperimentsAPI' multipart/form-data: schema: $ref: '#/components/schemas/WebExperimentsAPI' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/WebExperimentsAPI' description: '' x-explicit-tags: [] /api/projects/{project_id}/web_experiments/{id}/: get: operationId: web_experiments_retrieve parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this web experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - web_experiments security: - PersonalAPIKeyAuth: - experiment:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebExperimentsAPI' description: '' x-explicit-tags: [] put: operationId: web_experiments_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this web experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - web_experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/WebExperimentsAPI' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WebExperimentsAPI' multipart/form-data: schema: $ref: '#/components/schemas/WebExperimentsAPI' required: true security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebExperimentsAPI' description: '' x-explicit-tags: [] patch: operationId: web_experiments_partial_update parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this web experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - web_experiments requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedWebExperimentsAPI' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedWebExperimentsAPI' multipart/form-data: schema: $ref: '#/components/schemas/PatchedWebExperimentsAPI' security: - PersonalAPIKeyAuth: - experiment:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebExperimentsAPI' description: '' x-explicit-tags: [] delete: operationId: web_experiments_destroy parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this web experiment. required: true - $ref: '#/components/parameters/ProjectIdPath' tags: - web_experiments security: - PersonalAPIKeyAuth: - experiment:write responses: '204': description: No response body x-explicit-tags: [] /api/public_hog_function_templates/: get: operationId: public_hog_function_templates_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: template_id schema: type: string description: Filter to a specific template by its template_id. Deprecated templates are excluded from list results; use the retrieve endpoint to look up a template by ID regardless of status. - in: query name: type schema: type: string description: Filter by template type (e.g. destination, email, sms_provider, broadcast). Defaults to destination if neither type nor types is provided. - in: query name: types schema: type: string description: Comma-separated list of template types to include (e.g. destination,email,sms_provider). tags: - hog_function_templates - cdp - public_hog_function_templates security: - {} responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedHogFunctionTemplateList' description: '' x-explicit-tags: - hog_function_templates - cdp /api/user_home_settings/{uuid}/: get: operationId: user_home_settings_retrieve description: Get the authenticated user's pinned sidebar tabs and configured homepage for the current team. Pass `@me` as the UUID. parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - platform_features - user_home_settings security: - PersonalAPIKeyAuth: - user:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PinnedSceneTabs' description: '' x-explicit-tags: - platform_features patch: operationId: user_home_settings_partial_update description: 'Update the authenticated user''s pinned sidebar tabs and/or homepage for the current team. Pass `@me` as the UUID. Send `tabs` to replace the pinned tab list, `homepage` to set the home destination (any PostHog URL — dashboard, insight, search results, scene). Either field may be omitted to leave it unchanged; sending `homepage: null` or `{}` clears the homepage.' parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - platform_features - user_home_settings requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPinnedSceneTabs' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedPinnedSceneTabs' multipart/form-data: schema: $ref: '#/components/schemas/PatchedPinnedSceneTabs' security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PinnedSceneTabs' description: '' x-explicit-tags: - platform_features /api/users/: get: operationId: users_list parameters: - in: query name: email schema: type: string - in: query name: is_staff schema: type: boolean - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUserList' description: '' x-explicit-tags: - core /api/users/{user_id}/signal_autonomy/: get: operationId: users_signal_autonomy_retrieve description: 'Per-user signal autonomy config (singleton keyed by user). GET /api/users//signal_autonomy/ → current config (or 404) POST /api/users//signal_autonomy/ → create or update DELETE /api/users//signal_autonomy/ → remove (opt out)' parameters: - in: path name: user_id schema: type: string required: true tags: - users - users security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SignalUserAutonomyConfig' description: '' x-explicit-tags: - users - signals post: operationId: users_signal_autonomy_create description: 'Per-user signal autonomy config (singleton keyed by user). GET /api/users//signal_autonomy/ → current config (or 404) POST /api/users//signal_autonomy/ → create or update DELETE /api/users//signal_autonomy/ → remove (opt out)' parameters: - in: path name: user_id schema: type: string required: true tags: - users - users requestBody: content: application/json: schema: $ref: '#/components/schemas/SignalUserAutonomyConfig' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SignalUserAutonomyConfig' multipart/form-data: schema: $ref: '#/components/schemas/SignalUserAutonomyConfig' security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/SignalUserAutonomyConfig' description: '' x-explicit-tags: - users - signals delete: operationId: users_signal_autonomy_destroy description: 'Per-user signal autonomy config (singleton keyed by user). GET /api/users//signal_autonomy/ → current config (or 404) POST /api/users//signal_autonomy/ → create or update DELETE /api/users//signal_autonomy/ → remove (opt out)' parameters: - in: path name: user_id schema: type: string required: true tags: - users - users security: - PersonalAPIKeyAuth: - user:write responses: '204': description: No response body x-explicit-tags: - users - signals /api/users/{uuid}/: get: operationId: users_retrieve description: Retrieve a user's profile and settings. Pass `@me` as the UUID to fetch the authenticated user; non-staff callers may only access their own account. parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/User' description: '' x-explicit-tags: - core put: operationId: users_update description: Replace the authenticated user's profile and settings. Pass `@me` as the UUID to update the authenticated user. Prefer the PATCH endpoint for partial updates — PUT requires every writable field to be provided. parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/User' description: '' x-explicit-tags: - core patch: operationId: users_partial_update description: Update one or more of the authenticated user's profile fields or settings. parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUser' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUser' security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/User' description: '' x-explicit-tags: - core delete: operationId: users_destroy parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users responses: '204': description: No response body x-explicit-tags: - core /api/users/{uuid}/github_login/: get: operationId: users_github_login_retrieve parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/hedgehog_config/: get: operationId: users_hedgehog_config_retrieve parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': description: No response body x-explicit-tags: - core patch: operationId: users_hedgehog_config_partial_update parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUser' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUser' security: - PersonalAPIKeyAuth: - user:write responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/integrations/: get: operationId: users_integrations_list description: '`/api/users/@me/integrations/` — manage the user''s personal GitHub integrations.' summary: List personal GitHub integrations parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: path name: uuid schema: type: string required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUserGitHubIntegrationListResponseList' description: '' x-explicit-tags: - core /api/users/{uuid}/integrations/github/{installation_id}/: delete: operationId: users_integrations_github_destroy description: Remove a specific GitHub installation by its installation_id. summary: Disconnect a personal GitHub integration parameters: - in: path name: installation_id schema: type: string pattern: ^\d+$ required: true - in: path name: uuid schema: type: string required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:write responses: '204': description: Integration removed. x-explicit-tags: - core /api/users/{uuid}/integrations/github/{installation_id}/branches/: get: operationId: users_integrations_github_branches_retrieve description: List branches for a repository accessible to a personal GitHub installation. summary: List branches for a personal GitHub installation repository parameters: - in: path name: installation_id schema: type: string pattern: ^\d+$ required: true - in: query name: limit schema: type: integer maximum: 1000 minimum: 1 default: 100 description: Maximum number of branches to return - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Number of branches to skip - in: query name: repo schema: type: string minLength: 1 description: Repository in owner/repo format required: true - in: query name: search schema: type: string default: '' description: Optional case-insensitive branch name search query. - in: path name: uuid schema: type: string required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubBranchesResponse' description: '' x-explicit-tags: - core /api/users/{uuid}/integrations/github/{installation_id}/repos/: get: operationId: users_integrations_github_repos_retrieve description: List repositories accessible to a specific GitHub installation (paginated, cached). summary: List repositories for a personal GitHub installation parameters: - in: path name: installation_id schema: type: string pattern: ^\d+$ required: true - in: query name: limit schema: type: integer maximum: 500 minimum: 1 default: 100 description: Maximum number of repositories to return per request (max 500). - in: query name: offset schema: type: integer minimum: 0 default: 0 description: Number of repositories to skip before returning results. - in: query name: search schema: type: string default: '' description: Optional case-insensitive repository name search query. - in: path name: uuid schema: type: string required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubReposResponse' description: '' x-explicit-tags: - core /api/users/{uuid}/integrations/github/{installation_id}/repos/refresh/: post: operationId: users_integrations_github_repos_refresh_create description: Refresh repositories accessible to a specific GitHub installation. summary: Refresh repositories for a personal GitHub installation parameters: - in: path name: installation_id schema: type: string pattern: ^\d+$ required: true - in: path name: uuid schema: type: string required: true tags: - core - users security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/GitHubReposRefreshResponse' description: '' x-explicit-tags: - core /api/users/{uuid}/integrations/github/start/: post: operationId: users_integrations_github_start_create description: 'Start GitHub linking: either full App install or OAuth-only (user-to-server). ``**_kwargs`` absorbs ``parent_lookup_uuid`` from the nested ``/api/users/{uuid}/integrations/`` router (same pattern as ``local_evaluation`` under projects). Usually returns ``install_url`` pointing at ``/installations/new`` so the user can pick any GitHub org (new or already connected). GitHub''s install page handles both cases: orgs where the app is installed show "Configure" (no admin needed), orgs where it isn''t show "Install" (needs admin). **PostHog Code fast path:** when ``connect_from`` is ``"posthog_code"``, the current project already has a team-level GitHub installation, and the user has no ``UserIntegration`` for that installation yet, we skip the org picker and redirect straight to ``/login/oauth/authorize`` so the user only authorizes themselves and returns to PostHog Code immediately. In both cases the response key is ``install_url`` for compatibility with callers.' summary: Start GitHub personal integration linking parameters: - in: path name: uuid schema: type: string required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/UserGitHubLinkStartRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserGitHubLinkStartRequest' multipart/form-data: schema: $ref: '#/components/schemas/UserGitHubLinkStartRequest' security: - PersonalAPIKeyAuth: - user:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserGitHubLinkStartResponse' description: '' x-explicit-tags: - core /api/users/{uuid}/scene_personalisation/: post: operationId: users_scene_personalisation_create parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/start_2fa_setup/: get: operationId: users_start_2fa_setup_retrieve parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/two_factor_backup_codes/: post: operationId: users_two_factor_backup_codes_create description: Generate new backup codes, invalidating any existing ones parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/two_factor_disable/: post: operationId: users_two_factor_disable_create description: Disable 2FA and remove all related devices parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/two_factor_start_setup/: get: operationId: users_two_factor_start_setup_retrieve parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/two_factor_status/: get: operationId: users_two_factor_status_retrieve description: Get current 2FA status including backup codes if enabled parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/two_factor_validate/: post: operationId: users_two_factor_validate_create parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true responses: '200': description: No response body x-explicit-tags: - core /api/users/{uuid}/validate_2fa/: post: operationId: users_validate_2fa_create parameters: - in: path name: uuid schema: type: string format: uuid required: true tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true responses: '200': description: No response body x-explicit-tags: - core /api/users/cancel_email_change_request/: patch: operationId: users_cancel_email_change_request_partial_update tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUser' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUser' responses: '200': description: No response body x-explicit-tags: - core /api/users/request_email_verification/: post: operationId: users_request_email_verification_create tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true security: - {} responses: '200': description: No response body x-explicit-tags: - core /api/users/verify_email/: post: operationId: users_verify_email_create tags: - core - users requestBody: content: application/json: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' required: true security: - {} responses: '200': description: No response body x-explicit-tags: - core components: schemas: AIEventType: enum: - $ai_generation - $ai_embedding - $ai_span - $ai_trace - $ai_metric - $ai_feedback - $ai_evaluation - $ai_tag - $ai_trace_summary - $ai_generation_summary - $ai_trace_clusters - $ai_generation_clusters title: AIEventType type: string AccessMethodEnum: enum: - warehouse - direct type: string description: '* `warehouse` - warehouse * `direct` - direct' Action: type: object description: Serializer mixin that handles tags for objects. properties: id: type: integer readOnly: true name: type: string nullable: true description: Name of the action (must be unique within the project). maxLength: 400 description: type: string description: Human-readable description of what this action represents. tags: type: array items: {} post_to_slack: type: boolean description: Whether to post a notification to Slack when this action is triggered. slack_message_format: type: string description: Custom Slack message format. Supports templates with event properties. maxLength: 1200 steps: type: array items: $ref: '#/components/schemas/ActionStepJSON' description: Action steps defining trigger conditions. Each step matches events by name, properties, URL, or element attributes. Multiple steps are OR-ed together. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean is_calculating: type: boolean readOnly: true last_calculated_at: type: string format: date-time team_id: type: integer readOnly: true is_action: type: boolean readOnly: true default: true bytecode_error: type: string readOnly: true nullable: true pinned_at: type: string format: date-time nullable: true description: ISO 8601 timestamp when the action was pinned, or null if not pinned. Set any value to pin, null to unpin. creation_context: type: string nullable: true readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - bytecode_error - created_at - created_by - creation_context - id - is_action - is_calculating - team_id - user_access_level ActionConversionGoal: additionalProperties: false properties: actionId: title: Actionid type: integer required: - actionId title: ActionConversionGoal type: object ActionEnum: enum: - add - remove - set type: string description: '* `add` - add * `remove` - remove * `set` - set' ActionReference: type: object properties: type: type: string description: 'Resource type: insight, experiment, cohort, or hog_function' id: type: string description: Resource ID (integer or UUID depending on type) name: type: string description: Resource name url: type: string description: Relative URL to the resource created_at: type: string format: date-time nullable: true description: When the resource was created created_by: allOf: - $ref: '#/components/schemas/UserBasic' nullable: true description: User who created the resource required: - created_at - created_by - id - name - type - url ActionStepJSON: type: object properties: event: type: string nullable: true description: Event name to match (e.g. '$pageview', '$autocapture', or a custom event name). properties: type: array items: $ref: '#/components/schemas/ActionStepPropertyFilter' nullable: true description: Event or person property filters. Each item should have 'key' (string), 'value' (string, number, boolean, or array), optional 'operator' (exact, is_not, is_set, is_not_set, icontains, not_icontains, regex, not_regex, gt, gte, lt, lte), and optional 'type' (event, person). selector: type: string nullable: true description: CSS selector to match the target element (e.g. 'div > button.cta'). selector_regex: type: string nullable: true readOnly: true tag_name: type: string nullable: true description: HTML tag name to match (e.g. "button", "a", "input"). text: type: string nullable: true description: Element text content to match. text_matching: nullable: true description: 'How to match the text value. Defaults to exact. * `contains` - contains * `regex` - regex * `exact` - exact' oneOf: - $ref: '#/components/schemas/ActionStepMatchingEnum' - $ref: '#/components/schemas/NullEnum' href: type: string nullable: true description: Link href attribute to match. href_matching: nullable: true description: 'How to match the href value. Defaults to exact. * `contains` - contains * `regex` - regex * `exact` - exact' oneOf: - $ref: '#/components/schemas/ActionStepMatchingEnum' - $ref: '#/components/schemas/NullEnum' url: type: string nullable: true description: Page URL to match. url_matching: nullable: true description: 'How to match the URL value. Defaults to contains. * `contains` - contains * `regex` - regex * `exact` - exact' oneOf: - $ref: '#/components/schemas/ActionStepMatchingEnum' - $ref: '#/components/schemas/NullEnum' required: - selector_regex ActionStepMatchingEnum: enum: - contains - regex - exact type: string description: '* `contains` - contains * `regex` - regex * `exact` - exact' ActionStepPropertyFilter: oneOf: - $ref: '#/components/schemas/StringPropertyFilter' - $ref: '#/components/schemas/NumericPropertyFilter' - $ref: '#/components/schemas/ArrayPropertyFilter' - $ref: '#/components/schemas/DatePropertyFilter' - $ref: '#/components/schemas/ExistencePropertyFilter' ActionsNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true id: title: Id type: integer kind: default: ActionsNode title: Kind type: string enum: - ActionsNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - id title: ActionsNode type: object ActionsPie: additionalProperties: false properties: disableHoverOffset: default: null title: Disablehoveroffset type: boolean nullable: true hideAggregation: default: null title: Hideaggregation type: boolean nullable: true title: ActionsPie type: object ActiveBreakpoint: type: object description: Schema for a single active breakpoint properties: id: type: string format: uuid description: Unique identifier for the breakpoint repository: type: string nullable: true description: Repository identifier (e.g., 'PostHog/posthog') filename: type: string description: File path where the breakpoint is set line_number: type: integer description: Line number of the breakpoint enabled: type: boolean description: Whether the breakpoint is enabled condition: type: string nullable: true description: Optional condition for the breakpoint required: - enabled - filename - id - line_number ActiveBreakpointsResponse: type: object description: Response schema for active breakpoints endpoint properties: breakpoints: type: array items: $ref: '#/components/schemas/ActiveBreakpoint' description: List of active breakpoints required: - breakpoints ActivityLog: type: object properties: id: type: string format: uuid readOnly: true user: $ref: '#/components/schemas/UserBasic' unread: type: boolean description: is the date of this log item newer than the user's bookmark readOnly: true organization_id: type: string format: uuid nullable: true was_impersonated: type: boolean nullable: true is_system: type: boolean nullable: true client: type: string nullable: true maxLength: 32 activity: type: string maxLength: 79 item_id: type: string nullable: true maxLength: 72 scope: type: string maxLength: 79 detail: nullable: true created_at: type: string format: date-time required: - activity - id - scope - unread - user ActivityLogEntry: type: object properties: id: type: string format: uuid readOnly: true user: type: object nullable: true readOnly: true activity: type: string readOnly: true scope: type: string readOnly: true item_id: type: string readOnly: true detail: $ref: '#/components/schemas/Detail' created_at: type: string format: date-time readOnly: true required: - activity - created_at - id - item_id - scope - user ActivityLogPaginatedResponse: type: object description: Response shape for paginated activity log endpoints. properties: results: type: array items: $ref: '#/components/schemas/ActivityLogEntry' next: type: string format: uri nullable: true previous: type: string format: uri nullable: true total_count: type: integer required: - next - previous - results - total_count ActorsPropertyTaxonomyQuery: additionalProperties: false properties: groupTypeIndex: default: null title: Grouptypeindex type: integer nullable: true kind: default: ActorsPropertyTaxonomyQuery title: Kind type: string enum: - ActorsPropertyTaxonomyQuery maxPropertyValues: default: null title: Maxpropertyvalues type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: type: string title: Properties response: default: null allOf: - $ref: '#/components/schemas/ActorsPropertyTaxonomyQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: ActorsPropertyTaxonomyQuery type: object ActorsPropertyTaxonomyQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: anyOf: - $ref: '#/components/schemas/ActorsPropertyTaxonomyResponse' - items: $ref: '#/components/schemas/ActorsPropertyTaxonomyResponse' type: array title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: ActorsPropertyTaxonomyQueryResponse type: object ActorsPropertyTaxonomyResponse: additionalProperties: false properties: sample_count: title: Sample Count type: integer sample_values: items: anyOf: - type: string - type: number - type: boolean - type: integer title: Sample Values type: array required: - sample_count - sample_values title: ActorsPropertyTaxonomyResponse type: object ActorsQuery: additionalProperties: false properties: fixedProperties: default: null description: Currently only person filters supported. No filters for querying groups. See `filter_conditions()` in actor_strategies.py. title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' type: array nullable: true kind: default: ActorsQuery title: Kind type: string enum: - ActorsQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null title: Orderby items: type: string type: array nullable: true properties: default: null description: Currently only person filters supported. No filters for querying groups. See `filter_conditions()` in actor_strategies.py. title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilterValue' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ActorsQueryResponse' nullable: true search: default: null title: Search type: string nullable: true select: default: null title: Select items: type: string type: array nullable: true source: default: null title: Source anyOf: - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/FunnelsActorsQuery' - $ref: '#/components/schemas/FunnelCorrelationActorsQuery' - $ref: '#/components/schemas/ExperimentActorsQuery' - $ref: '#/components/schemas/StickinessActorsQuery' - $ref: '#/components/schemas/HogQLQuery' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: ActorsQuery type: object ActorsQueryResponse: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: title: Limit type: integer missing_actors_count: default: null title: Missing Actors Count type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: type: string type: array nullable: true required: - columns - hogql - limit - offset - results title: ActorsQueryResponse type: object AddSnapshotsInput: type: object properties: snapshots: type: array items: $ref: '#/components/schemas/SnapshotManifestItem' baseline_hashes: type: object additionalProperties: type: string required: - snapshots AddSnapshotsResult: type: object properties: added: type: integer uploads: type: array items: $ref: '#/components/schemas/UploadTarget' required: - added - uploads AgentModeEnum: enum: - product_analytics - sql - session_replay - error_tracking - plan - execution - survey - research - flags - llm_analytics - sandbox type: string description: '* `product_analytics` - product_analytics * `sql` - sql * `session_replay` - session_replay * `error_tracking` - error_tracking * `plan` - plan * `execution` - execution * `survey` - survey * `research` - research * `flags` - flags * `llm_analytics` - llm_analytics * `sandbox` - sandbox' AggregationAxisFormat: enum: - numeric - duration - duration_ms - percentage - percentage_scaled - currency - short title: AggregationAxisFormat type: string AggregationPropertyType: enum: - event - person title: AggregationPropertyType type: string AggregationType: enum: - count - sum - avg title: AggregationType type: string Alert: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true insight: type: integer description: 'Insight ID monitored by this alert. Note: Response returns full InsightBasicSerializer object.' name: type: string description: Human-readable name for the alert. subscribed_users: type: array items: type: integer description: 'User IDs to subscribe to this alert. Note: Response returns full UserBasicSerializer object.' threshold: allOf: - $ref: '#/components/schemas/Threshold' description: Threshold configuration with bounds and type for evaluating the alert. condition: allOf: - $ref: '#/components/schemas/AlertCondition' nullable: true description: 'Alert condition type. Determines how the value is evaluated: absolute_value, relative_increase, or relative_decrease.' state: type: string readOnly: true description: 'Current alert state: Firing, Not firing, Errored, or Snoozed.' enabled: type: boolean description: Whether the alert is actively being evaluated. last_notified_at: type: string format: date-time readOnly: true nullable: true last_checked_at: type: string format: date-time readOnly: true nullable: true next_check_at: type: string format: date-time readOnly: true nullable: true checks: type: array items: $ref: '#/components/schemas/AlertCheck' readOnly: true description: Alert check results. By default returns the last 5. Use checks_date_from and checks_date_to (e.g. '-24h', '-7d') to get checks within a time window, checks_limit to cap how many are returned (default 5, max 500), and checks_offset to skip the newest N checks for pagination (0-based). Newest checks first. Only populated on retrieve. checks_total: type: integer nullable: true readOnly: true description: Total alert checks matching the retrieve filters (date window). Only set on alert retrieve; omitted otherwise. config: allOf: - $ref: '#/components/schemas/TrendsAlertConfig' nullable: true description: Trends-specific alert configuration. Includes series_index (which series to monitor) and check_ongoing_interval (whether to check the current incomplete interval). detector_config: allOf: - $ref: '#/components/schemas/DetectorConfig' nullable: true calculation_interval: allOf: - $ref: '#/components/schemas/CalculationIntervalEnum' description: 'How often the alert is checked: hourly, daily, weekly, or monthly. * `hourly` - hourly * `daily` - daily * `weekly` - weekly * `monthly` - monthly' snoozed_until: type: string nullable: true description: Snooze the alert until this time. Pass a relative date string (e.g. '2h', '1d') or null to unsnooze. skip_weekend: type: boolean nullable: true description: Skip alert evaluation on weekends (Saturday and Sunday, local to project timezone). schedule_restriction: allOf: - $ref: '#/components/schemas/AlertScheduleRestriction' nullable: true description: 'Blocked local time windows (HH:MM in the project timezone). Interval is half-open [start, end): start inclusive, end exclusive. Use blocked_windows array of {start, end}. Null disables.' last_value: type: number format: double readOnly: true nullable: true description: The last calculated value from the most recent alert check. investigation_agent_enabled: type: boolean description: When enabled, an investigation agent runs on the state transition to firing and writes findings to a Notebook linked from the alert check. Only effective for detector-based (anomaly) alerts. investigation_gates_notifications: type: boolean description: When enabled (and investigation_agent_enabled is on), notification dispatch is held until the investigation agent produces a verdict. Notifications are suppressed when the verdict is false_positive (and optionally when inconclusive). A safety-net task force-fires after a few minutes if the investigation stalls. investigation_inconclusive_action: allOf: - $ref: '#/components/schemas/InvestigationInconclusiveActionEnum' description: 'How to handle an ''inconclusive'' verdict when notifications are gated. ''notify'' is the safe default — an agent that can''t be sure is itself useful signal. * `notify` - Notify * `suppress` - Suppress' required: - checks - checks_total - created_at - created_by - id - insight - last_checked_at - last_notified_at - last_value - next_check_at - state - subscribed_users - threshold AlertCheck: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true calculated_value: type: number format: double readOnly: true nullable: true state: allOf: - $ref: '#/components/schemas/AlertCheckStateEnum' readOnly: true targets_notified: type: boolean readOnly: true anomaly_scores: readOnly: true nullable: true triggered_points: readOnly: true nullable: true triggered_dates: readOnly: true nullable: true interval: type: string readOnly: true nullable: true triggered_metadata: readOnly: true nullable: true investigation_status: readOnly: true nullable: true oneOf: - $ref: '#/components/schemas/InvestigationStatusEnum' - $ref: '#/components/schemas/NullEnum' investigation_verdict: readOnly: true nullable: true oneOf: - $ref: '#/components/schemas/InvestigationVerdictEnum' - $ref: '#/components/schemas/NullEnum' investigation_summary: type: string readOnly: true nullable: true investigation_notebook_short_id: type: string nullable: true readOnly: true description: Short ID of the Notebook produced by the investigation agent, when the agent ran for this check. notification_sent_at: type: string format: date-time readOnly: true nullable: true notification_suppressed_by_agent: type: boolean readOnly: true required: - anomaly_scores - calculated_value - created_at - id - interval - investigation_notebook_short_id - investigation_status - investigation_summary - investigation_verdict - notification_sent_at - notification_suppressed_by_agent - state - targets_notified - triggered_dates - triggered_metadata - triggered_points AlertCheckStateEnum: enum: - Firing - Not firing - Errored - Snoozed type: string description: '* `Firing` - Firing * `Not firing` - Not firing * `Errored` - Errored * `Snoozed` - Snoozed' AlertCondition: additionalProperties: false properties: type: $ref: '#/components/schemas/AlertConditionType' required: - type title: AlertCondition type: object AlertConditionType: enum: - absolute_value - relative_increase - relative_decrease title: AlertConditionType type: string AlertScheduleRestriction: additionalProperties: false properties: blocked_windows: description: Blocked local time windows when the alert must not run. Overlapping or identical windows are merged when saved. At most five windows before normalization; empty array clears quiet hours. items: $ref: '#/components/schemas/AlertScheduleRestrictionWindow' title: Blocked Windows type: array required: - blocked_windows title: AlertScheduleRestriction type: object AlertScheduleRestrictionWindow: additionalProperties: false properties: start: description: Start time HH:MM (24-hour, project timezone). Inclusive. Each window must span ≥ 30 minutes on the local daily timeline (half-open [start, end)). title: Start type: string end: description: End time HH:MM (24-hour). Exclusive (half-open interval). Each window must span ≥ 30 minutes locally. title: End type: string required: - start - end title: AlertScheduleRestrictionWindow type: object AlertSimulate: type: object properties: insight: type: integer description: Insight ID to simulate the detector on. detector_config: allOf: - $ref: '#/components/schemas/DetectorConfig' description: Detector configuration to simulate. series_index: type: integer default: 0 description: Zero-based index of the series to analyze. date_from: type: string nullable: true description: Relative date string for how far back to simulate (e.g. '-24h', '-30d', '-4w'). If not provided, uses the detector's minimum required samples. required: - detector_config - insight AlertSimulateResponse: type: object properties: data: type: array items: type: number format: double description: Data values for each point. dates: type: array items: type: string description: Date labels for each point. scores: type: array items: type: number format: double nullable: true description: Anomaly score for each point (null if insufficient data). triggered_indices: type: array items: type: integer description: Indices of points flagged as anomalies. triggered_dates: type: array items: type: string description: Dates of points flagged as anomalies. interval: type: string nullable: true description: Interval of the trends query (hour, day, week, month). total_points: type: integer description: Total number of data points analyzed. anomaly_count: type: integer description: Number of anomalies detected. sub_detector_scores: type: array items: type: object additionalProperties: true description: Per-sub-detector scores for ensemble detectors. Each entry has 'type' and 'scores' fields. breakdown_results: type: array items: $ref: '#/components/schemas/BreakdownSimulationResult' description: Per-breakdown-value simulation results. Present only when the insight has breakdowns (up to 25 values). required: - anomaly_count - data - dates - interval - scores - total_points - triggered_dates - triggered_indices Annotation: type: object properties: id: type: integer readOnly: true content: type: string nullable: true description: Annotation text shown on charts to describe the change, release, or incident. maxLength: 8192 date_marker: type: string format: date-time nullable: true description: When this annotation happened (ISO 8601 timestamp). Used to position it on charts. creation_type: allOf: - $ref: '#/components/schemas/CreationTypeEnum' description: 'Who created this annotation. Use `USR` for user-created notes and `GIT` for bot/deployment notes. * `USR` - user * `GIT` - GitHub' dashboard_item: type: integer nullable: true dashboard_id: type: integer nullable: true dashboard_name: type: string nullable: true readOnly: true insight_short_id: type: string nullable: true readOnly: true insight_name: type: string nullable: true readOnly: true insight_derived_name: type: string nullable: true readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean description: Soft-delete flag. Set to true to hide the annotation, or false to restore it. scope: allOf: - $ref: '#/components/schemas/AnnotationScopeEnum' description: 'Annotation visibility scope: `project`, `organization`, `dashboard`, or `dashboard_item`. `recording` is deprecated and rejected. * `dashboard_item` - insight * `dashboard` - dashboard * `project` - project * `organization` - organization * `recording` - recording' required: - created_at - created_by - dashboard_name - id - insight_derived_name - insight_name - insight_short_id - updated_at AnnotationScopeEnum: enum: - dashboard_item - dashboard - project - organization - recording type: string description: '* `dashboard_item` - insight * `dashboard` - dashboard * `project` - project * `organization` - organization * `recording` - recording' AppMetricSeries: type: object properties: name: type: string values: type: array items: type: integer required: - name - values AppMetricsResponse: type: object properties: labels: type: array items: type: string series: type: array items: $ref: '#/components/schemas/AppMetricSeries' required: - labels - series AppMetricsTotalsResponse: type: object properties: totals: type: object additionalProperties: type: integer required: - totals AppendSegments: type: object description: Serializer for appending transcript segments (supports batched real-time uploads) properties: segments: type: array items: $ref: '#/components/schemas/TranscriptSegment' minItems: 1 required: - segments ApprovalPolicy: type: object properties: id: type: string format: uuid readOnly: true action_key: type: string maxLength: 128 conditions: {} approver_config: {} allow_self_approve: type: boolean bypass_org_membership_levels: {} bypass_roles: type: array items: type: string format: uuid expires_after: type: string description: Auto-expire change requests after this duration enabled: type: boolean created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - action_key - approver_config - created_at - created_by - id - updated_at ApproveRunRequestInput: type: object properties: snapshots: type: array items: $ref: '#/components/schemas/ApproveSnapshotInput' approve_all: type: boolean commit_to_github: type: boolean ApproveSnapshotInput: type: object properties: identifier: type: string new_hash: type: string required: - identifier - new_hash ArrayPropertyFilter: type: object description: Matches against a list of values (OR semantics for exact/is_not, set membership for in/not_in). properties: key: type: string description: Key of the property you're filtering on. For example `email` or `$current_url`. type: allOf: - $ref: '#/components/schemas/PropertyFilterTypeEnum' default: event description: 'Property type (event, person, session, etc.). * `event` - event * `event_metadata` - event_metadata * `feature` - feature * `person` - person * `cohort` - cohort * `element` - element * `static-cohort` - static-cohort * `dynamic-cohort` - dynamic-cohort * `precalculated-cohort` - precalculated-cohort * `group` - group * `recording` - recording * `log_entry` - log_entry * `behavioral` - behavioral * `session` - session * `hogql` - hogql * `data_warehouse` - data_warehouse * `data_warehouse_person_property` - data_warehouse_person_property * `error_tracking_issue` - error_tracking_issue * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute * `span` - span * `span_attribute` - span_attribute * `span_resource_attribute` - span_resource_attribute * `revenue_analytics` - revenue_analytics * `flag` - flag * `workflow_variable` - workflow_variable' value: type: array items: type: string description: List of values to match. For example `["test@example.com", "ok@example.com"]`. operator: allOf: - $ref: '#/components/schemas/ArrayPropertyFilterOperatorEnum' default: exact description: 'Array comparison operator. * `exact` - exact * `is_not` - is_not * `in` - in * `not_in` - not_in' required: - key - value ArrayPropertyFilterOperatorEnum: enum: - exact - is_not - in - not_in type: string description: '* `exact` - exact * `is_not` - is_not * `in` - in * `not_in` - not_in' Artifact: type: object properties: id: type: string format: uuid content_hash: type: string width: type: integer nullable: true height: type: integer nullable: true download_url: type: string nullable: true required: - content_hash - download_url - height - id - width AssigneeTypeEnum: enum: - user - role type: string description: '* `user` - user * `role` - role' AsyncDeletionStatus: type: object properties: person_uuid: type: string description: The UUID of the person whose events are queued for deletion. created_at: type: string format: date-time description: When the deletion was requested. status: type: string readOnly: true description: 'Current status: ''pending'' or ''completed''.' delete_verified_at: type: string format: date-time nullable: true description: When the deletion was verified complete. Null if still pending. required: - created_at - delete_verified_at - person_uuid - status AttributionModeEnum: enum: - first_touch - last_touch - linear - time_decay - position_based type: string description: '* `first_touch` - First Touch * `last_touch` - Last Touch * `linear` - Linear * `time_decay` - Time Decay * `position_based` - Position Based' AutoApproveResult: type: object properties: run: $ref: '#/components/schemas/Run' baseline_content: type: string required: - baseline_content - run AutocompleteCompletionItem: additionalProperties: false properties: detail: default: null description: A human-readable string with additional information about this item, like type or symbol information. title: Detail type: string nullable: true documentation: default: null description: A human-readable string that represents a doc-comment. title: Documentation type: string nullable: true insertText: description: A string or snippet that should be inserted in a document when selecting this completion. title: Inserttext type: string kind: description: The kind of this completion item. Based on the kind an icon is chosen by the editor. allOf: - $ref: '#/components/schemas/AutocompleteCompletionItemKind' label: description: The label of this completion item. By default this is also the text that is inserted when selecting this completion. title: Label type: string required: - insertText - kind - label title: AutocompleteCompletionItem type: object AutocompleteCompletionItemKind: enum: - Method - Function - Constructor - Field - Variable - Class - Struct - Interface - Module - Property - Event - Operator - Unit - Value - Constant - Enum - EnumMember - Keyword - Text - Color - File - Reference - Customcolor - Folder - TypeParameter - User - Issue - Snippet title: AutocompleteCompletionItemKind type: string AutostartPriorityEnum: enum: - P0 - P1 - P2 - P3 - P4 type: string description: '* `P0` - P0 * `P1` - P1 * `P2` - P2 * `P3` - P3 * `P4` - P4' AvailableFiltersResponse: type: object properties: static_filters: allOf: - $ref: '#/components/schemas/StaticFilters' description: Pre-computed filter options for scopes, activities, and users. detail_fields: type: object additionalProperties: true description: Discovered detail fields and their value distributions. required: - detail_fields - static_filters AvailableSetupTaskIdsEnum: enum: - ingest_first_event - set_up_reverse_proxy - create_first_insight - create_first_dashboard - track_custom_events - define_actions - set_up_cohorts - explore_trends_insight - create_funnel - explore_retention_insight - explore_paths_insight - explore_stickiness_insight - explore_lifecycle_insight - add_authorized_domain - set_up_web_vitals - review_web_analytics_dashboard - filter_web_analytics - set_up_web_analytics_conversion_goals - visit_web_vitals_dashboard - setup_session_recordings - watch_session_recording - configure_recording_settings - create_recording_playlist - enable_console_logs - create_feature_flag - implement_flag_in_code - update_feature_flag_release_conditions - create_multivariate_flag - set_up_flag_payloads - set_up_flag_evaluation_runtimes - create_experiment - implement_experiment_variants - launch_experiment - review_experiment_results - create_survey - launch_survey - collect_survey_responses - connect_source - run_first_query - join_external_data - create_saved_view - enable_error_tracking - upload_source_maps - view_first_error - resolve_first_error - ingest_first_llm_event - view_first_trace - track_costs - set_up_llm_evaluation - run_ai_playground - enable_revenue_analytics_viewset - connect_revenue_source - set_up_revenue_goal - enable_log_capture - view_first_logs - create_first_workflow - set_up_first_workflow_channel - configure_workflow_trigger - add_workflow_action - launch_workflow - create_first_endpoint - configure_endpoint - test_endpoint - create_early_access_feature - update_feature_stage type: string description: '* `ingest_first_event` - ingest_first_event * `set_up_reverse_proxy` - set_up_reverse_proxy * `create_first_insight` - create_first_insight * `create_first_dashboard` - create_first_dashboard * `track_custom_events` - track_custom_events * `define_actions` - define_actions * `set_up_cohorts` - set_up_cohorts * `explore_trends_insight` - explore_trends_insight * `create_funnel` - create_funnel * `explore_retention_insight` - explore_retention_insight * `explore_paths_insight` - explore_paths_insight * `explore_stickiness_insight` - explore_stickiness_insight * `explore_lifecycle_insight` - explore_lifecycle_insight * `add_authorized_domain` - add_authorized_domain * `set_up_web_vitals` - set_up_web_vitals * `review_web_analytics_dashboard` - review_web_analytics_dashboard * `filter_web_analytics` - filter_web_analytics * `set_up_web_analytics_conversion_goals` - set_up_web_analytics_conversion_goals * `visit_web_vitals_dashboard` - visit_web_vitals_dashboard * `setup_session_recordings` - setup_session_recordings * `watch_session_recording` - watch_session_recording * `configure_recording_settings` - configure_recording_settings * `create_recording_playlist` - create_recording_playlist * `enable_console_logs` - enable_console_logs * `create_feature_flag` - create_feature_flag * `implement_flag_in_code` - implement_flag_in_code * `update_feature_flag_release_conditions` - update_feature_flag_release_conditions * `create_multivariate_flag` - create_multivariate_flag * `set_up_flag_payloads` - set_up_flag_payloads * `set_up_flag_evaluation_runtimes` - set_up_flag_evaluation_runtimes * `create_experiment` - create_experiment * `implement_experiment_variants` - implement_experiment_variants * `launch_experiment` - launch_experiment * `review_experiment_results` - review_experiment_results * `create_survey` - create_survey * `launch_survey` - launch_survey * `collect_survey_responses` - collect_survey_responses * `connect_source` - connect_source * `run_first_query` - run_first_query * `join_external_data` - join_external_data * `create_saved_view` - create_saved_view * `enable_error_tracking` - enable_error_tracking * `upload_source_maps` - upload_source_maps * `view_first_error` - view_first_error * `resolve_first_error` - resolve_first_error * `ingest_first_llm_event` - ingest_first_llm_event * `view_first_trace` - view_first_trace * `track_costs` - track_costs * `set_up_llm_evaluation` - set_up_llm_evaluation * `run_ai_playground` - run_ai_playground * `enable_revenue_analytics_viewset` - enable_revenue_analytics_viewset * `connect_revenue_source` - connect_revenue_source * `set_up_revenue_goal` - set_up_revenue_goal * `enable_log_capture` - enable_log_capture * `view_first_logs` - view_first_logs * `create_first_workflow` - create_first_workflow * `set_up_first_workflow_channel` - set_up_first_workflow_channel * `configure_workflow_trigger` - configure_workflow_trigger * `add_workflow_action` - add_workflow_action * `launch_workflow` - launch_workflow * `create_first_endpoint` - create_first_endpoint * `configure_endpoint` - configure_endpoint * `test_endpoint` - test_endpoint * `create_early_access_feature` - create_early_access_feature * `update_feature_stage` - update_feature_stage' BaseCurrencyEnum: enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTC - BTN - BWP - BYN - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LTL - LVL - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MTL - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SRD - SSP - STN - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VES - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMW type: string description: '* `AED` - AED * `AFN` - AFN * `ALL` - ALL * `AMD` - AMD * `ANG` - ANG * `AOA` - AOA * `ARS` - ARS * `AUD` - AUD * `AWG` - AWG * `AZN` - AZN * `BAM` - BAM * `BBD` - BBD * `BDT` - BDT * `BGN` - BGN * `BHD` - BHD * `BIF` - BIF * `BMD` - BMD * `BND` - BND * `BOB` - BOB * `BRL` - BRL * `BSD` - BSD * `BTC` - BTC * `BTN` - BTN * `BWP` - BWP * `BYN` - BYN * `BZD` - BZD * `CAD` - CAD * `CDF` - CDF * `CHF` - CHF * `CLP` - CLP * `CNY` - CNY * `COP` - COP * `CRC` - CRC * `CVE` - CVE * `CZK` - CZK * `DJF` - DJF * `DKK` - DKK * `DOP` - DOP * `DZD` - DZD * `EGP` - EGP * `ERN` - ERN * `ETB` - ETB * `EUR` - EUR * `FJD` - FJD * `GBP` - GBP * `GEL` - GEL * `GHS` - GHS * `GIP` - GIP * `GMD` - GMD * `GNF` - GNF * `GTQ` - GTQ * `GYD` - GYD * `HKD` - HKD * `HNL` - HNL * `HRK` - HRK * `HTG` - HTG * `HUF` - HUF * `IDR` - IDR * `ILS` - ILS * `INR` - INR * `IQD` - IQD * `IRR` - IRR * `ISK` - ISK * `JMD` - JMD * `JOD` - JOD * `JPY` - JPY * `KES` - KES * `KGS` - KGS * `KHR` - KHR * `KMF` - KMF * `KRW` - KRW * `KWD` - KWD * `KYD` - KYD * `KZT` - KZT * `LAK` - LAK * `LBP` - LBP * `LKR` - LKR * `LRD` - LRD * `LTL` - LTL * `LVL` - LVL * `LSL` - LSL * `LYD` - LYD * `MAD` - MAD * `MDL` - MDL * `MGA` - MGA * `MKD` - MKD * `MMK` - MMK * `MNT` - MNT * `MOP` - MOP * `MRU` - MRU * `MTL` - MTL * `MUR` - MUR * `MVR` - MVR * `MWK` - MWK * `MXN` - MXN * `MYR` - MYR * `MZN` - MZN * `NAD` - NAD * `NGN` - NGN * `NIO` - NIO * `NOK` - NOK * `NPR` - NPR * `NZD` - NZD * `OMR` - OMR * `PAB` - PAB * `PEN` - PEN * `PGK` - PGK * `PHP` - PHP * `PKR` - PKR * `PLN` - PLN * `PYG` - PYG * `QAR` - QAR * `RON` - RON * `RSD` - RSD * `RUB` - RUB * `RWF` - RWF * `SAR` - SAR * `SBD` - SBD * `SCR` - SCR * `SDG` - SDG * `SEK` - SEK * `SGD` - SGD * `SRD` - SRD * `SSP` - SSP * `STN` - STN * `SYP` - SYP * `SZL` - SZL * `THB` - THB * `TJS` - TJS * `TMT` - TMT * `TND` - TND * `TOP` - TOP * `TRY` - TRY * `TTD` - TTD * `TWD` - TWD * `TZS` - TZS * `UAH` - UAH * `UGX` - UGX * `USD` - USD * `UYU` - UYU * `UZS` - UZS * `VES` - VES * `VND` - VND * `VUV` - VUV * `WST` - WST * `XAF` - XAF * `XCD` - XCD * `XOF` - XOF * `XPF` - XPF * `YER` - YER * `ZAR` - ZAR * `ZMW` - ZMW' BaseMathType: enum: - total - dau - weekly_active - monthly_active - unique_session - first_time_for_user - first_matching_event_for_user title: BaseMathType type: string BaselineEntry: type: object properties: sparkline: type: array items: $ref: '#/components/schemas/BaselineSparklineDay' identifier: type: string run_type: type: string browser: type: string nullable: true thumbnail_hash: type: string nullable: true width: type: integer nullable: true height: type: integer nullable: true tolerate_count_30d: type: integer tolerate_count_90d: type: integer is_quarantined: type: boolean last_run_at: type: string format: date-time recent_diff_avg: type: number format: double nullable: true required: - browser - height - identifier - is_quarantined - last_run_at - recent_diff_avg - run_type - sparkline - thumbnail_hash - tolerate_count_30d - tolerate_count_90d - width BaselineOverview: type: object properties: entries: type: array items: $ref: '#/components/schemas/BaselineEntry' totals: $ref: '#/components/schemas/BaselineTotals' truncated: type: boolean generated_at: type: string format: date-time required: - entries - generated_at - totals - truncated BaselineSparklineDay: type: object properties: clean: type: integer tolerated: type: integer changed: type: integer quarantined: type: integer required: - changed - clean - quarantined - tolerated BaselineTotals: type: object properties: by_run_type: type: object additionalProperties: type: integer all_snapshots: type: integer recently_tolerated: type: integer frequently_tolerated: type: integer currently_quarantined: type: integer required: - all_snapshots - by_run_type - currently_quarantined - frequently_tolerated - recently_tolerated BatchCheckRequest: type: object properties: trace_ids: type: array items: type: string description: List of trace IDs to check for cached summaries maxItems: 100 mode: allOf: - $ref: '#/components/schemas/DetailModeValueEnum' default: minimal description: 'Summary detail level to check for * `minimal` - minimal * `detailed` - detailed' model: type: string nullable: true description: LLM model used for cached summaries required: - trace_ids BatchCheckResponse: type: object properties: summaries: type: array items: $ref: '#/components/schemas/CachedSummary' required: - summaries BatchExport: type: object description: Serializer for a BatchExport model. properties: id: type: string format: uuid readOnly: true team_id: type: integer description: The team this belongs to. readOnly: true name: type: string description: A human-readable name for this BatchExport. model: nullable: true description: 'Which model this BatchExport is exporting. * `events` - Events * `persons` - Persons * `sessions` - Sessions' oneOf: - $ref: '#/components/schemas/ModelEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' destination: $ref: '#/components/schemas/BatchExportDestination' interval: $ref: '#/components/schemas/IntervalEnum' paused: type: boolean description: Whether this BatchExport is paused or not. created_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExport was created. last_updated_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExport was last updated. last_paused_at: type: string format: date-time nullable: true description: The timestamp at which this BatchExport was last paused. start_at: type: string format: date-time nullable: true description: Time before which any Batch Export runs won't be triggered. end_at: type: string format: date-time nullable: true description: Time after which any Batch Export runs won't be triggered. latest_runs: type: array items: $ref: '#/components/schemas/BatchExportRun' readOnly: true hogql_query: type: string schema: readOnly: true nullable: true description: A schema of custom fields to select when exporting data. filters: nullable: true timezone: nullable: true oneOf: - $ref: '#/components/schemas/TimezoneEnum' - $ref: '#/components/schemas/NullEnum' offset_day: type: integer maximum: 6 minimum: 0 nullable: true offset_hour: type: integer maximum: 23 minimum: 0 nullable: true required: - created_at - destination - id - interval - last_updated_at - latest_runs - name - schema - team_id BatchExportBackfill: type: object properties: id: type: string format: uuid readOnly: true progress: type: object nullable: true properties: total_runs: type: integer nullable: true finished_runs: type: integer nullable: true progress: type: number nullable: true readOnly: true start_at: type: string format: date-time nullable: true description: The start of the data interval. end_at: type: string format: date-time nullable: true description: The end of the data interval. status: allOf: - $ref: '#/components/schemas/BatchExportBackfillStatusEnum' description: 'The status of this backfill. * `Cancelled` - Cancelled * `Completed` - Completed * `ContinuedAsNew` - Continued As New * `Failed` - Failed * `FailedRetryable` - Failed Retryable * `Terminated` - Terminated * `TimedOut` - Timedout * `Running` - Running * `Starting` - Starting' created_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExportBackfill was created. finished_at: type: string format: date-time nullable: true description: The timestamp at which this BatchExportBackfill finished, successfully or not. last_updated_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExportBackfill was last updated. total_records_count: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 nullable: true description: The total number of records to export. Initially estimated, updated with actual count after completion. adjusted_start_at: type: string format: date-time nullable: true description: The actual start time after adjustment for earliest available data. May differ from start_at if user requested a date before data exists. team: type: integer description: The team this belongs to. batch_export: type: string format: uuid description: The BatchExport this backfill belongs to. required: - batch_export - created_at - id - last_updated_at - progress - status - team BatchExportBackfillStatusEnum: enum: - Cancelled - Completed - ContinuedAsNew - Failed - FailedRetryable - Terminated - TimedOut - Running - Starting type: string description: '* `Cancelled` - Cancelled * `Completed` - Completed * `ContinuedAsNew` - Continued As New * `Failed` - Failed * `FailedRetryable` - Failed Retryable * `Terminated` - Terminated * `TimedOut` - Timedout * `Running` - Running * `Starting` - Starting' BatchExportDestination: type: object description: Serializer for an BatchExportDestination model. properties: type: allOf: - $ref: '#/components/schemas/BatchExportDestinationTypeEnum' description: 'A choice of supported BatchExportDestination types. * `S3` - S3 * `Snowflake` - Snowflake * `Postgres` - Postgres * `Redshift` - Redshift * `BigQuery` - Bigquery * `Databricks` - Databricks * `AzureBlob` - Azure Blob * `Workflows` - Workflows * `HTTP` - Http * `NoOp` - Noop' config: description: A JSON field to store all configuration parameters required to access a BatchExportDestination. integration: type: integer nullable: true integration_id: type: integer writeOnly: true nullable: true required: - type BatchExportDestinationTypeEnum: enum: - S3 - Snowflake - Postgres - Redshift - BigQuery - Databricks - AzureBlob - Workflows - HTTP - NoOp type: string description: '* `S3` - S3 * `Snowflake` - Snowflake * `Postgres` - Postgres * `Redshift` - Redshift * `BigQuery` - Bigquery * `Databricks` - Databricks * `AzureBlob` - Azure Blob * `Workflows` - Workflows * `HTTP` - Http * `NoOp` - Noop' BatchExportRun: type: object description: Serializer for a BatchExportRun model. properties: id: type: string format: uuid readOnly: true status: allOf: - $ref: '#/components/schemas/BatchExportRunStatusEnum' description: 'The status of this run. * `Cancelled` - Cancelled * `Completed` - Completed * `ContinuedAsNew` - Continued As New * `Failed` - Failed * `FailedRetryable` - Failed Retryable * `FailedBilling` - Failed Billing * `Terminated` - Terminated * `TimedOut` - Timedout * `Running` - Running * `Starting` - Starting' records_completed: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: The number of records that have been exported. records_failed: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: The number of records that failed downstream processing (e.g. hog function execution errors). latest_error: type: string nullable: true description: The latest error that occurred during this run. data_interval_start: type: string format: date-time nullable: true description: The start of the data interval. data_interval_end: type: string format: date-time description: The end of the data interval. cursor: type: string nullable: true description: An opaque cursor that may be used to resume. created_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExportRun was created. finished_at: type: string format: date-time nullable: true description: The timestamp at which this BatchExportRun finished, successfully or not. last_updated_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExportRun was last updated. records_total_count: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: The total count of records that should be exported in this BatchExportRun. bytes_exported: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 nullable: true description: The number of bytes that have been exported in this BatchExportRun. batch_export: type: string format: uuid readOnly: true description: The BatchExport this run belongs to. backfill: type: string format: uuid nullable: true description: The backfill this run belongs to. required: - batch_export - created_at - data_interval_end - id - last_updated_at - status BatchExportRunStatusEnum: enum: - Cancelled - Completed - ContinuedAsNew - Failed - FailedRetryable - FailedBilling - Terminated - TimedOut - Running - Starting type: string description: '* `Cancelled` - Cancelled * `Completed` - Completed * `ContinuedAsNew` - Continued As New * `Failed` - Failed * `FailedRetryable` - Failed Retryable * `FailedBilling` - Failed Billing * `Terminated` - Terminated * `TimedOut` - Timedout * `Running` - Running * `Starting` - Starting' BehavioralFilter: additionalProperties: false properties: bytecode: default: null title: Bytecode items: {} type: array nullable: true bytecode_error: default: null title: Bytecode Error type: string nullable: true conditionHash: default: null title: Conditionhash type: string nullable: true type: title: Type type: string enum: - behavioral key: anyOf: - type: string - type: integer title: Key value: title: Value type: string event_type: title: Event Type type: string time_value: default: null title: Time Value type: integer nullable: true time_interval: default: null title: Time Interval type: string nullable: true negation: default: false title: Negation type: boolean operator: default: null title: Operator type: string nullable: true operator_value: default: null title: Operator Value type: integer nullable: true seq_time_interval: default: null title: Seq Time Interval type: string nullable: true seq_time_value: default: null title: Seq Time Value type: integer nullable: true seq_event: default: null title: Seq Event anyOf: - type: string - type: integer nullable: true seq_event_type: default: null title: Seq Event Type type: string nullable: true total_periods: default: null title: Total Periods type: integer nullable: true min_periods: default: null title: Min Periods type: integer nullable: true event_filters: default: null title: Event Filters items: anyOf: - $ref: '#/components/schemas/EventPropFilter' - $ref: '#/components/schemas/HogQLFilter' type: array nullable: true explicit_datetime: default: null title: Explicit Datetime type: string nullable: true explicit_datetime_to: default: null title: Explicit Datetime To type: string nullable: true required: - type - key - value - event_type title: BehavioralFilter type: object BiasRisk: additionalProperties: false properties: multiple_variant_percentage: description: Observed share of users assigned to `$multiple`, as a percentage (0-100). title: Multiple Variant Percentage type: number required: - multiple_variant_percentage title: BiasRisk type: object BlankEnum: enum: - '' BlastRadius: type: object properties: affected: type: integer description: Number of users matching the filters total: type: integer description: Total number of users required: - affected - total BlastRadiusRequest: type: object properties: filters: type: object additionalProperties: true description: Property filters to apply group_type_index: type: integer nullable: true description: Group type index for group-based targeting required: - filters BooleanScoreDefinitionConfig: type: object properties: true_label: type: string description: Optional label for a true value. false_label: type: string description: Optional label for a false value. BounceRatePageViewMode: enum: - count_pageviews - uniq_urls - uniq_page_screen_autocaptures title: BounceRatePageViewMode type: string BoxPlotDatum: additionalProperties: false properties: day: title: Day type: string label: title: Label type: string max: title: Max type: number mean: title: Mean type: number median: title: Median type: number min: title: Min type: number p25: title: P25 type: number p75: title: P75 type: number series_index: default: null title: Series Index type: integer nullable: true series_label: default: null title: Series Label type: string nullable: true required: - day - label - max - mean - median - min - p25 - p75 title: BoxPlotDatum type: object Breakdown: additionalProperties: false properties: group_type_index: default: null title: Group Type Index type: integer nullable: true histogram_bin_count: default: null title: Histogram Bin Count type: integer nullable: true normalize_url: default: null title: Normalize Url type: boolean nullable: true property: anyOf: - type: string - type: integer title: Property type: default: null allOf: - $ref: '#/components/schemas/MultipleBreakdownType' nullable: true required: - property title: Breakdown type: object BreakdownAttributionType: enum: - first_touch - last_touch - all_events - step title: BreakdownAttributionType type: string BreakdownFilter: additionalProperties: false properties: breakdown: default: null title: Breakdown anyOf: - type: string - items: anyOf: - type: string - type: integer type: array - type: integer nullable: true breakdown_group_type_index: default: null title: Breakdown Group Type Index type: integer nullable: true breakdown_hide_other_aggregation: default: null title: Breakdown Hide Other Aggregation type: boolean nullable: true breakdown_histogram_bin_count: default: null title: Breakdown Histogram Bin Count type: integer nullable: true breakdown_limit: default: null title: Breakdown Limit type: integer nullable: true breakdown_normalize_url: default: null title: Breakdown Normalize Url type: boolean nullable: true breakdown_path_cleaning: default: null title: Breakdown Path Cleaning type: boolean nullable: true breakdown_type: default: event allOf: - $ref: '#/components/schemas/BreakdownType' nullable: true breakdowns: default: null title: Breakdowns items: $ref: '#/components/schemas/Breakdown' maxItems: 3 type: array nullable: true title: BreakdownFilter type: object BreakdownItem: additionalProperties: false properties: label: title: Label type: string value: anyOf: - type: string - type: integer title: Value required: - label - value title: BreakdownItem type: object BreakdownSimulationResult: type: object properties: label: type: string description: Breakdown value label. data: type: array items: type: number format: double description: Data values for each point. dates: type: array items: type: string description: Date labels for each point. scores: type: array items: type: number format: double nullable: true description: Anomaly score for each point. triggered_indices: type: array items: type: integer description: Indices of points flagged as anomalies. triggered_dates: type: array items: type: string description: Dates of points flagged as anomalies. total_points: type: integer description: Total number of data points analyzed. anomaly_count: type: integer description: Number of anomalies detected. sub_detector_scores: type: array items: type: object additionalProperties: true description: Per-sub-detector scores for ensemble detectors. required: - anomaly_count - data - dates - label - scores - total_points - triggered_dates - triggered_indices BreakdownType: enum: - cohort - person - event - event_metadata - group - session - hogql - data_warehouse - data_warehouse_person_property - revenue_analytics title: BreakdownType type: string BreakdownValue: additionalProperties: false properties: count: title: Count type: number value: title: Value type: string required: - count - value title: BreakdownValue type: object BreakpointHit: type: object description: Schema for a single breakpoint hit event properties: id: type: string format: uuid description: Unique identifier for the hit event lineNumber: type: integer description: Line number where the breakpoint was hit functionName: type: string description: Name of the function where breakpoint was hit timestamp: type: string format: date-time description: When the breakpoint was hit variables: type: object additionalProperties: true description: Local variables at the time of the hit stackTrace: type: array items: {} description: Stack trace at the time of the hit breakpoint_id: type: string format: uuid description: ID of the breakpoint that was hit filename: type: string description: Filename where the breakpoint was hit required: - breakpoint_id - filename - functionName - id - lineNumber - stackTrace - timestamp - variables BreakpointHitsResponse: type: object description: Response schema for breakpoint hits endpoint properties: results: type: array items: $ref: '#/components/schemas/BreakpointHit' description: List of breakpoint hit events count: type: integer description: Number of results returned has_more: type: boolean description: Whether there are more results available required: - count - has_more - results BucketingIdentifierEnum: enum: - distinct_id - device_id type: string description: '* `distinct_id` - User ID (default) * `device_id` - Device ID' BulkUpdateTagsError: type: object properties: id: type: integer reason: type: string required: - id - reason BulkUpdateTagsItem: type: object properties: id: type: integer tags: type: array items: type: string required: - id - tags BulkUpdateTagsRequest: type: object properties: ids: type: array items: type: integer description: List of object IDs to update tags on. maxItems: 500 action: allOf: - $ref: '#/components/schemas/ActionEnum' description: '''add'' merges with existing tags, ''remove'' deletes specific tags, ''set'' replaces all tags. * `add` - add * `remove` - remove * `set` - set' tags: type: array items: type: string description: Tag names to add, remove, or set. required: - action - ids - tags BulkUpdateTagsResponse: type: object properties: updated: type: array items: $ref: '#/components/schemas/BulkUpdateTagsItem' skipped: type: array items: $ref: '#/components/schemas/BulkUpdateTagsError' required: - skipped - updated BusinessModelEnum: enum: - b2b - b2c - other type: string description: '* `b2b` - B2B * `b2c` - B2C * `other` - Other' ByweekdayEnum: enum: - monday - tuesday - wednesday - thursday - friday - saturday - sunday type: string description: '* `monday` - Monday * `tuesday` - Tuesday * `wednesday` - Wednesday * `thursday` - Thursday * `friday` - Friday * `saturday` - Saturday * `sunday` - Sunday' COPODDetectorConfig: additionalProperties: false properties: preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: copod title: Type type: string enum: - copod window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: COPODDetectorConfig type: object CachedSummary: type: object properties: trace_id: type: string title: type: string cached: type: boolean default: true required: - title - trace_id CalculationIntervalEnum: enum: - hourly - daily - weekly - monthly type: string description: '* `hourly` - hourly * `daily` - daily * `weekly` - weekly * `monthly` - monthly' CalendarHeatmapFilter: additionalProperties: false properties: dummy: default: null title: Dummy type: string nullable: true title: CalendarHeatmapFilter type: object CalendarHeatmapMathType: enum: - total - dau title: CalendarHeatmapMathType type: string CalendarHeatmapQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation title: Aggregation Group Type Index type: integer nullable: true calendarHeatmapFilter: default: null description: Properties specific to the trends insight allOf: - $ref: '#/components/schemas/CalendarHeatmapFilter' nullable: true conversionGoal: default: null description: Whether we should be comparing against a specific conversion goal title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true interval: default: day description: Granularity of the response. Can be one of `hour`, `day`, `week` or `month` allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: CalendarHeatmapQuery title: Kind type: string enum: - CalendarHeatmapQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/CalendarHeatmapResponse' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true series: description: Events and actions to include items: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/DataWarehouseNode' title: Series type: array tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - series title: CalendarHeatmapQuery type: object CalendarHeatmapResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null description: Wether more breakdown values are available. title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: $ref: '#/components/schemas/EventsHeatMapStructuredResult' timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: CalendarHeatmapResponse type: object CapabilityState: type: object properties: state: allOf: - $ref: '#/components/schemas/CapabilityStateStateEnum' description: 'Current state of the capability * `needs_setup` - needs_setup * `detected` - detected * `waiting_for_data` - waiting_for_data * `ready` - ready * `not_applicable` - not_applicable * `unknown` - unknown' estimated: type: boolean description: Whether the state is estimated from static analysis reason: type: string description: Human-readable explanation evidence: type: object additionalProperties: true description: Supporting evidence required: - estimated - reason - state CapabilityStateStateEnum: enum: - needs_setup - detected - waiting_for_data - ready - not_applicable - unknown type: string description: '* `needs_setup` - needs_setup * `detected` - detected * `waiting_for_data` - waiting_for_data * `ready` - ready * `not_applicable` - not_applicable * `unknown` - unknown' CategoricalScoreDefinitionConfig: type: object properties: options: type: array items: $ref: '#/components/schemas/CategoricalScoreOption' description: Ordered categorical options available to the scorer. selection_mode: allOf: - $ref: '#/components/schemas/SelectionModeEnum' description: 'Whether reviewers can select one option or multiple options. Defaults to `single`. * `single` - single * `multiple` - multiple' min_selections: type: integer minimum: 1 nullable: true description: Optional minimum number of options that can be selected when `selection_mode` is `multiple`. max_selections: type: integer minimum: 1 nullable: true description: Optional maximum number of options that can be selected when `selection_mode` is `multiple`. required: - options CategoricalScoreOption: type: object properties: key: type: string description: Stable option key. Use lowercase letters, numbers, underscores, or hyphens. maxLength: 128 label: type: string description: Human-readable option label. maxLength: 256 required: - key - label CategoryEnum: enum: - business - data - design - dev - infra - productivity type: string description: '* `business` - Business Operations * `data` - Data & Analytics * `design` - Design & Content * `dev` - Developer Tools & APIs * `infra` - Infrastructure * `productivity` - Productivity & Collaboration' CdcTableModeEnum: enum: - consolidated - cdc_only - both type: string description: '* `consolidated` - consolidated * `cdc_only` - cdc_only * `both` - both' Change: type: object properties: type: type: string readOnly: true action: type: string readOnly: true field: type: string readOnly: true before: readOnly: true after: readOnly: true required: - action - after - before - field - type ChangeRequest: type: object properties: id: type: string format: uuid readOnly: true action_key: type: string readOnly: true action_version: type: integer readOnly: true resource_type: type: string readOnly: true resource_id: type: string readOnly: true nullable: true intent: readOnly: true intent_display: readOnly: true policy_snapshot: readOnly: true validation_status: allOf: - $ref: '#/components/schemas/ValidationStatusEnum' readOnly: true validation_errors: readOnly: true nullable: true validated_at: type: string format: date-time readOnly: true nullable: true state: allOf: - $ref: '#/components/schemas/ChangeRequestStateEnum' readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true applied_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true expires_at: type: string format: date-time readOnly: true applied_at: type: string format: date-time readOnly: true nullable: true apply_error: type: string readOnly: true result_data: readOnly: true nullable: true approvals: type: array items: type: object additionalProperties: true readOnly: true can_approve: type: boolean description: Check if current user can approve this change request. readOnly: true can_cancel: type: boolean readOnly: true is_requester: type: boolean description: Check if current user is the requester. readOnly: true user_decision: type: string nullable: true description: Get the current user's approval decision if they have voted. readOnly: true required: - action_key - action_version - applied_at - applied_by - apply_error - approvals - can_approve - can_cancel - created_at - created_by - expires_at - id - intent - intent_display - is_requester - policy_snapshot - resource_id - resource_type - result_data - state - updated_at - user_decision - validated_at - validation_errors - validation_status ChangeRequestStateEnum: enum: - pending - approved - applied - rejected - expired - failed type: string description: '* `pending` - Pending * `approved` - Approved (awaiting application) * `applied` - Applied * `rejected` - Rejected * `expired` - Expired * `failed` - Failed to apply' ChannelDetailEnum: enum: - slack_channel_message - slack_bot_mention - slack_emoji_reaction - teams_channel_message - teams_bot_mention - widget_embedded - widget_api type: string description: '* `slack_channel_message` - Channel message * `slack_bot_mention` - Bot mention * `slack_emoji_reaction` - Emoji reaction * `teams_channel_message` - Teams channel message * `teams_bot_mention` - Teams bot mention * `widget_embedded` - Widget * `widget_api` - API' ChannelSourceEnum: enum: - widget - email - slack - teams type: string description: '* `widget` - Widget * `email` - Email * `slack` - Slack * `teams` - Microsoft Teams' ChartAxis: additionalProperties: false properties: column: title: Column type: string settings: default: null allOf: - $ref: '#/components/schemas/Settings' nullable: true required: - column title: ChartAxis type: object ChartDisplayType: enum: - Auto - ActionsLineGraph - ActionsBar - ActionsUnstackedBar - ActionsStackedBar - ActionsAreaGraph - ActionsLineGraphCumulative - BoldNumber - ActionsPie - ActionsBarValue - ActionsTable - WorldMap - CalendarHeatmap - TwoDimensionalHeatmap - BoxPlot title: ChartDisplayType type: string ChartSettings: additionalProperties: false properties: goalLines: default: null title: Goallines items: $ref: '#/components/schemas/GoalLine' type: array nullable: true heatmap: default: null allOf: - $ref: '#/components/schemas/HeatmapSettings' nullable: true leftYAxisSettings: default: null allOf: - $ref: '#/components/schemas/YAxisSettings' nullable: true rightYAxisSettings: default: null allOf: - $ref: '#/components/schemas/YAxisSettings' nullable: true seriesBreakdownColumn: default: null title: Seriesbreakdowncolumn type: string nullable: true showLegend: default: null title: Showlegend type: boolean nullable: true showNullsAsZero: default: null title: Shownullsaszero type: boolean nullable: true showPieTotal: default: null title: Showpietotal type: boolean nullable: true showTotalRow: default: null title: Showtotalrow type: boolean nullable: true showValuesOnSeries: default: null title: Showvaluesonseries type: boolean nullable: true showXAxisBorder: default: null title: Showxaxisborder type: boolean nullable: true showXAxisTicks: default: null title: Showxaxisticks type: boolean nullable: true showYAxisBorder: default: null title: Showyaxisborder type: boolean nullable: true stackBars100: default: null description: Whether we fill the bars to 100% in stacked mode title: Stackbars100 type: boolean nullable: true xAxis: default: null allOf: - $ref: '#/components/schemas/ChartAxis' nullable: true yAxis: default: null title: Yaxis items: $ref: '#/components/schemas/ChartAxis' type: array nullable: true yAxisAtZero: default: null description: 'Deprecated: use `[left|right]YAxisSettings`. Whether the Y axis should start at zero' title: Yaxisatzero type: boolean nullable: true title: ChartSettings type: object ChartSettingsDisplay: additionalProperties: false properties: color: default: null title: Color type: string nullable: true displayType: default: null allOf: - $ref: '#/components/schemas/DisplayType' nullable: true label: default: null title: Label type: string nullable: true trendLine: default: null title: Trendline type: boolean nullable: true yAxisPosition: default: null allOf: - $ref: '#/components/schemas/YAxisPosition' nullable: true title: ChartSettingsDisplay type: object ChartSettingsFormatting: additionalProperties: false properties: decimalPlaces: default: null title: Decimalplaces type: number nullable: true prefix: default: null title: Prefix type: string nullable: true style: default: null allOf: - $ref: '#/components/schemas/Style' nullable: true suffix: default: null title: Suffix type: string nullable: true title: ChartSettingsFormatting type: object CheckDatabaseNameResponse: type: object properties: name: type: string available: type: boolean required: - available - name ClaudeRuntimeAdapterEnum: enum: - claude type: string description: '* `claude` - claude' ClaudeTaskRunCreateSchema: type: object description: Request body for creating a new task run properties: mode: allOf: - $ref: '#/components/schemas/TaskExecutionModeEnum' default: background description: 'Execution mode: ''interactive'' for user-connected runs, ''background'' for autonomous runs * `interactive` - interactive * `background` - background' branch: type: string nullable: true description: Git branch to checkout in the sandbox maxLength: 255 resume_from_run_id: type: string format: uuid description: ID of a previous run to resume from. Must belong to the same task. pending_user_message: type: string description: Initial or follow-up user message to include in the run prompt. pending_user_artifact_ids: type: array items: type: string maxLength: 128 description: Identifiers for staged task artifacts that should be attached to the initial run prompt. sandbox_environment_id: type: string format: uuid description: Optional sandbox environment to apply for this cloud run. pr_authorship_mode: allOf: - $ref: '#/components/schemas/PrAuthorshipModeEnum' description: 'Whether pull requests for this run should be authored by the user or the bot. * `user` - user * `bot` - bot' run_source: allOf: - $ref: '#/components/schemas/RunSourceEnum' description: 'High-level source that triggered this run, used to distinguish manual and signal-based cloud runs. * `manual` - manual * `signal_report` - signal_report' signal_report_id: type: string description: Optional signal report identifier when this run was started from Inbox. runtime_adapter: allOf: - $ref: '#/components/schemas/ClaudeRuntimeAdapterEnum' description: 'Agent runtime adapter to launch for this run. Must be ''claude'' for Claude runtimes. * `claude` - claude' model: type: string description: LLM model identifier to run in the Claude runtime. reasoning_effort: allOf: - $ref: '#/components/schemas/ReasoningEffortEnum' description: 'Reasoning effort to request for models that expose an effort control. * `low` - low * `medium` - medium * `high` - high * `xhigh` - xhigh * `max` - max' github_user_token: type: string writeOnly: true description: Optional GitHub user token from PostHog Code for user-authored cloud pull requests. Prefer linking GitHub from Settings → Linked accounts so the server can manage tokens; this field remains supported for callers that still manage their own tokens. initial_permission_mode: allOf: - $ref: '#/components/schemas/ClaudeTaskRunCreateSchemaInitialPermissionModeEnum' description: 'Initial permission mode for Claude runtimes. * `default` - default * `acceptEdits` - acceptEdits * `plan` - plan * `bypassPermissions` - bypassPermissions * `auto` - auto' required: - model - runtime_adapter ClaudeTaskRunCreateSchemaInitialPermissionModeEnum: enum: - default - acceptEdits - plan - bypassPermissions - auto type: string description: '* `default` - default * `acceptEdits` - acceptEdits * `plan` - plan * `bypassPermissions` - bypassPermissions * `auto` - auto' ClickhouseEvent: type: object properties: id: type: string readOnly: true distinct_id: type: string readOnly: true properties: type: object additionalProperties: true readOnly: true event: type: string readOnly: true timestamp: type: string format: date-time readOnly: true person: type: object additionalProperties: true nullable: true readOnly: true elements: type: array items: $ref: '#/components/schemas/EventElement' readOnly: true elements_chain: type: string readOnly: true required: - distinct_id - elements - elements_chain - event - id - person - properties - timestamp ClickhouseQueryProgress: additionalProperties: false properties: active_cpu_time: title: Active Cpu Time type: integer bytes_read: title: Bytes Read type: integer estimated_rows_total: title: Estimated Rows Total type: integer rows_read: title: Rows Read type: integer time_elapsed: title: Time Elapsed type: integer required: - active_cpu_time - bytes_read - estimated_rows_total - rows_read - time_elapsed title: ClickhouseQueryProgress type: object ClusteringJob: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 100 analysis_level: $ref: '#/components/schemas/ClusteringJobAnalysisLevelEnum' event_filters: {} enabled: type: boolean created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - analysis_level - created_at - id - name - updated_at ClusteringJobAnalysisLevelEnum: enum: - trace - generation - evaluation type: string description: '* `trace` - trace * `generation` - generation * `evaluation` - evaluation' CodeInviteRedeemRequest: type: object properties: code: type: string maxLength: 50 required: - code CodexRuntimeAdapterEnum: enum: - codex type: string description: '* `codex` - codex' CodexTaskRunCreateSchema: type: object description: Request body for creating a new task run properties: mode: allOf: - $ref: '#/components/schemas/TaskExecutionModeEnum' default: background description: 'Execution mode: ''interactive'' for user-connected runs, ''background'' for autonomous runs * `interactive` - interactive * `background` - background' branch: type: string nullable: true description: Git branch to checkout in the sandbox maxLength: 255 resume_from_run_id: type: string format: uuid description: ID of a previous run to resume from. Must belong to the same task. pending_user_message: type: string description: Initial or follow-up user message to include in the run prompt. pending_user_artifact_ids: type: array items: type: string maxLength: 128 description: Identifiers for staged task artifacts that should be attached to the initial run prompt. sandbox_environment_id: type: string format: uuid description: Optional sandbox environment to apply for this cloud run. pr_authorship_mode: allOf: - $ref: '#/components/schemas/PrAuthorshipModeEnum' description: 'Whether pull requests for this run should be authored by the user or the bot. * `user` - user * `bot` - bot' run_source: allOf: - $ref: '#/components/schemas/RunSourceEnum' description: 'High-level source that triggered this run, used to distinguish manual and signal-based cloud runs. * `manual` - manual * `signal_report` - signal_report' signal_report_id: type: string description: Optional signal report identifier when this run was started from Inbox. runtime_adapter: allOf: - $ref: '#/components/schemas/CodexRuntimeAdapterEnum' description: 'Agent runtime adapter to launch for this run. Must be ''codex'' for Codex runtimes. * `codex` - codex' model: type: string description: LLM model identifier to run in the Codex runtime. reasoning_effort: allOf: - $ref: '#/components/schemas/ReasoningEffortEnum' description: 'Reasoning effort to request for models that expose an effort control. * `low` - low * `medium` - medium * `high` - high * `xhigh` - xhigh * `max` - max' github_user_token: type: string writeOnly: true description: Optional GitHub user token from PostHog Code for user-authored cloud pull requests. Prefer linking GitHub from Settings → Linked accounts so the server can manage tokens; this field remains supported for callers that still manage their own tokens. initial_permission_mode: allOf: - $ref: '#/components/schemas/CodexTaskRunCreateSchemaInitialPermissionModeEnum' description: 'Initial permission mode for Codex runtimes. * `auto` - auto * `read-only` - read-only * `full-access` - full-access' required: - model - runtime_adapter CodexTaskRunCreateSchemaInitialPermissionModeEnum: enum: - auto - read-only - full-access type: string description: '* `auto` - auto * `read-only` - read-only * `full-access` - full-access' Cohort: type: object properties: id: type: integer readOnly: true name: type: string nullable: true maxLength: 400 description: type: string maxLength: 1000 groups: {} deleted: type: boolean filters: allOf: - $ref: '#/components/schemas/CohortFilters' nullable: true query: nullable: true version: type: integer readOnly: true nullable: true pending_version: type: integer readOnly: true nullable: true is_calculating: type: boolean readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true last_calculation: type: string format: date-time readOnly: true nullable: true last_backfill_person_properties_at: type: string format: date-time readOnly: true nullable: true errors_calculating: type: integer readOnly: true last_error_message: type: string nullable: true readOnly: true count: type: integer readOnly: true nullable: true is_static: type: boolean cohort_type: nullable: true description: 'Type of cohort based on filter complexity * `static` - static * `person_property` - person_property * `behavioral` - behavioral * `realtime` - realtime * `analytical` - analytical' oneOf: - $ref: '#/components/schemas/CohortTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' experiment_set: type: array items: type: integer readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' _create_static_person_ids: type: array items: type: string writeOnly: true default: [] title: ' create static person ids' required: - count - created_at - created_by - errors_calculating - experiment_set - id - is_calculating - last_backfill_person_properties_at - last_calculation - last_error_message - pending_version - version CohortFilter: additionalProperties: false properties: bytecode: default: null title: Bytecode items: {} type: array nullable: true bytecode_error: default: null title: Bytecode Error type: string nullable: true conditionHash: default: null title: Conditionhash type: string nullable: true type: title: Type type: string enum: - cohort key: title: Key type: string enum: - id value: title: Value type: integer negation: default: false title: Negation type: boolean required: - type - key - value title: CohortFilter type: object CohortFilterGroup: additionalProperties: false description: AND/OR group containing cohort filters. Named to avoid collision with analytics Group model. properties: type: allOf: - $ref: '#/components/schemas/PropertyGroupOperator' title: Type values: items: discriminator: mapping: AND: '#/components/schemas/CohortFilterGroup' OR: '#/components/schemas/CohortFilterGroup' behavioral: '#/components/schemas/BehavioralFilter' cohort: '#/components/schemas/CohortFilter' person: '#/components/schemas/PersonFilter' propertyName: type oneOf: - $ref: '#/components/schemas/BehavioralFilter' - $ref: '#/components/schemas/CohortFilter' - $ref: '#/components/schemas/PersonFilter' - $ref: '#/components/schemas/CohortFilterGroup' title: Values type: array required: - type - values title: CohortFilterGroup type: object CohortFilters: additionalProperties: false properties: properties: $ref: '#/components/schemas/CohortFilterGroup' required: - properties title: CohortFilters type: object CohortPersonResult: type: object properties: id: type: string uuid: type: string format: uuid type: $ref: '#/components/schemas/CohortPersonResultTypeEnum' name: type: string distinct_ids: type: array items: type: string properties: type: object additionalProperties: true created_at: type: string format: date-time nullable: true last_seen_at: type: string format: date-time nullable: true is_identified: type: boolean nullable: true matched_recordings: type: array items: type: object additionalProperties: true value_at_data_point: type: number format: double nullable: true required: - created_at - distinct_ids - id - is_identified - last_seen_at - matched_recordings - name - properties - type - uuid - value_at_data_point CohortPersonResultTypeEnum: enum: - person type: string description: '* `person` - person' CohortPersonsResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/CohortPersonResult' next: type: string format: uri nullable: true previous: type: string format: uri nullable: true required: - next - previous - results CohortPropertyFilter: additionalProperties: false properties: cohort_name: default: null title: Cohort Name type: string nullable: true key: default: id title: Key type: string enum: - id label: default: null title: Label type: string nullable: true operator: default: in allOf: - $ref: '#/components/schemas/PropertyOperator' nullable: true type: default: cohort title: Type type: string enum: - cohort value: title: Value type: integer required: - value title: CohortPropertyFilter type: object CohortTypeEnum: enum: - static - person_property - behavioral - realtime - analytical type: string description: '* `static` - static * `person_property` - person_property * `behavioral` - behavioral * `realtime` - realtime * `analytical` - analytical' ColorMode: enum: - light - dark title: ColorMode type: string Comment: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean nullable: true mentions: type: array items: type: integer writeOnly: true slug: type: string writeOnly: true content: type: string nullable: true rich_content: nullable: true version: type: integer readOnly: true created_at: type: string format: date-time readOnly: true item_id: type: string nullable: true maxLength: 72 item_context: nullable: true scope: type: string maxLength: 79 source_comment: type: string format: uuid nullable: true required: - created_at - created_by - id - scope - version Compare: enum: - current - previous title: Compare type: string CompareFilter: additionalProperties: false properties: compare: default: false description: Whether to compare the current date range to a previous date range. title: Compare type: boolean nullable: true compare_to: default: null description: 'The date range to compare to. The value is a relative date. Examples of relative dates are: `-1y` for 1 year ago, `-14m` for 14 months ago, `-100w` for 100 weeks ago, `-14d` for 14 days ago, `-30h` for 30 hours ago.' title: Compare To type: string nullable: true title: CompareFilter type: object CompareItem: additionalProperties: false properties: label: title: Label type: string value: title: Value type: string required: - label - value title: CompareItem type: object ConclusionEnum: enum: - won - lost - inconclusive - stopped_early - invalid type: string description: '* `won` - won * `lost` - lost * `inconclusive` - inconclusive * `stopped_early` - stopped_early * `invalid` - invalid' ConditionalFormattingRule: additionalProperties: false properties: bytecode: items: {} title: Bytecode type: array color: title: Color type: string colorMode: default: null allOf: - $ref: '#/components/schemas/ColorMode' nullable: true columnName: title: Columnname type: string id: title: Id type: string input: title: Input type: string templateId: title: Templateid type: string required: - bytecode - color - columnName - id - input - templateId title: ConditionalFormattingRule type: object ConnectionTokenResponse: type: object description: Response containing a JWT token for direct sandbox connection properties: token: type: string description: JWT token for authenticating with the sandbox required: - token ContentEncodingEnum: enum: - utf-8 - base64 type: string description: '* `utf-8` - utf-8 * `base64` - base64' Conversation: type: object properties: id: type: string format: uuid readOnly: true status: allOf: - $ref: '#/components/schemas/ConversationStatus' readOnly: true title: type: string readOnly: true nullable: true description: Title of the conversation. user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true nullable: true type: allOf: - $ref: '#/components/schemas/ConversationType' readOnly: true is_internal: type: boolean readOnly: true nullable: true description: Whether this conversation was created during an impersonated session (e.g., by support agents). Internal conversations are hidden from customers. slack_thread_key: type: string readOnly: true nullable: true description: 'Unique key for Slack thread: ''{workspace_id}:{channel}:{thread_ts}''' slack_workspace_domain: type: string readOnly: true nullable: true description: Slack workspace subdomain (e.g. 'posthog' for posthog.slack.com) messages: type: array items: type: object additionalProperties: true readOnly: true has_unsupported_content: type: boolean readOnly: true agent_mode: type: string nullable: true readOnly: true is_sandbox: type: boolean readOnly: true pending_approvals: type: array items: type: object additionalProperties: true description: 'Return pending approval cards as structured data. Combines metadata from conversation.approval_decisions with payload from checkpoint interrupts (single source of truth for payload data).' readOnly: true required: - agent_mode - created_at - has_unsupported_content - id - is_internal - is_sandbox - messages - pending_approvals - slack_thread_key - slack_workspace_domain - status - title - type - updated_at - user ConversationMinimal: type: object properties: id: type: string format: uuid readOnly: true status: allOf: - $ref: '#/components/schemas/ConversationStatus' readOnly: true title: type: string readOnly: true nullable: true description: Title of the conversation. user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true nullable: true type: allOf: - $ref: '#/components/schemas/ConversationType' readOnly: true is_internal: type: boolean readOnly: true nullable: true description: Whether this conversation was created during an impersonated session (e.g., by support agents). Internal conversations are hidden from customers. slack_thread_key: type: string readOnly: true nullable: true description: 'Unique key for Slack thread: ''{workspace_id}:{channel}:{thread_ts}''' slack_workspace_domain: type: string readOnly: true nullable: true description: Slack workspace subdomain (e.g. 'posthog' for posthog.slack.com) required: - created_at - id - is_internal - slack_thread_key - slack_workspace_domain - status - title - type - updated_at - user ConversationStatus: enum: - idle - in_progress - canceling type: string description: '* `idle` - Idle * `in_progress` - In progress * `canceling` - Canceling' ConversationType: enum: - assistant - tool_call - deep_research - slack type: string description: '* `assistant` - Assistant * `tool_call` - Tool call * `deep_research` - Deep research * `slack` - Slack' ConversionGoalFilter1: additionalProperties: false properties: conversion_goal_id: title: Conversion Goal Id type: string conversion_goal_name: title: Conversion Goal Name type: string custom_name: default: null title: Custom Name type: string nullable: true event: default: null description: The event or `null` for all events. title: Event type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: EventsNode title: Kind type: string enum: - EventsNode limit: default: null title: Limit type: integer nullable: true math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true orderBy: default: null description: Columns to order by title: Orderby items: type: string type: array nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true schema_map: additionalProperties: anyOf: - type: string - {} title: Schema Map type: object version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - conversion_goal_id - conversion_goal_name - schema_map title: ConversionGoalFilter1 type: object ConversionGoalFilter2: additionalProperties: false properties: conversion_goal_id: title: Conversion Goal Id type: string conversion_goal_name: title: Conversion Goal Name type: string custom_name: default: null title: Custom Name type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true id: title: Id type: integer kind: default: ActionsNode title: Kind type: string enum: - ActionsNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true schema_map: additionalProperties: anyOf: - type: string - {} title: Schema Map type: object version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - conversion_goal_id - conversion_goal_name - id - schema_map title: ConversionGoalFilter2 type: object ConversionGoalFilter3: additionalProperties: false properties: conversion_goal_id: title: Conversion Goal Id type: string conversion_goal_name: title: Conversion Goal Name type: string custom_name: default: null title: Custom Name type: string nullable: true distinct_id_field: title: Distinct Id Field type: string dw_source_type: default: null title: Dw Source Type type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true id: title: Id type: string id_field: title: Id Field type: string kind: default: DataWarehouseNode title: Kind type: string enum: - DataWarehouseNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true schema_map: additionalProperties: anyOf: - type: string - {} title: Schema Map type: object table_name: title: Table Name type: string timestamp_field: title: Timestamp Field type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - conversion_goal_id - conversion_goal_name - distinct_id_field - id - id_field - schema_map - table_name - timestamp_field title: ConversionGoalFilter3 type: object CookielessServerHashModeEnum: enum: - 0 - 1 - 2 type: integer description: '* `0` - Disabled * `1` - Stateless * `2` - Stateful' CopyDashboardTemplate: type: object properties: source_template_id: type: string format: uuid description: UUID of a team-scoped template in the same organization. Global and feature-flag templates cannot be copied with this endpoint. required: - source_template_id CopyDashboardTileRequest: type: object properties: fromDashboardId: type: integer description: Dashboard id the tile currently belongs to. tileId: type: integer description: Dashboard tile id to copy. required: - fromDashboardId - tileId CopyExperimentToProject: type: object properties: target_team_id: type: integer description: The team ID to copy the experiment to. feature_flag_key: type: string description: Optional feature flag key to use in the destination team. name: type: string description: Optional name for the copied experiment. required: - target_team_id CorrelationType: enum: - success - failure title: CorrelationType type: string CountPerActorMathType: enum: - avg_count_per_actor - min_count_per_actor - max_count_per_actor - median_count_per_actor - p75_count_per_actor - p90_count_per_actor - p95_count_per_actor - p99_count_per_actor title: CountPerActorMathType type: string CreateGroup: type: object properties: group_type_index: type: integer maximum: 2147483647 minimum: -2147483648 group_key: type: string maxLength: 400 group_properties: nullable: true required: - group_key - group_type_index CreateLegalDocument: type: object description: 'Input serializer for POST. Mirrors the submittable fields on the model plus cross-field rules (BAA addon, DPA mode, uniqueness). The view supplies the organization and submitting user.' properties: document_type: allOf: - $ref: '#/components/schemas/DocumentTypeEnum' description: 'Either ''BAA'' or ''DPA''. * `BAA` - BAA * `DPA` - DPA' company_name: type: string description: The customer legal entity entering the agreement (PandaDoc's Client.Company). maxLength: 255 company_address: type: string description: The customer address (PandaDoc's Client.StreetAddress). maxLength: 512 representative_email: type: string format: email description: Email the signed PandaDoc envelope is sent to (PandaDoc's Client.Email). required: - company_address - company_name - document_type - representative_email CreateRecordingRequest: type: object description: Request body for creating a new recording properties: platform: allOf: - $ref: '#/components/schemas/CreateRecordingRequestPlatformEnum' default: desktop_audio description: 'Meeting platform being recorded * `zoom` - zoom * `teams` - teams * `meet` - meet * `desktop_audio` - desktop_audio * `slack` - slack' CreateRecordingRequestPlatformEnum: enum: - zoom - teams - meet - desktop_audio - slack type: string description: '* `zoom` - zoom * `teams` - teams * `meet` - meet * `desktop_audio` - desktop_audio * `slack` - slack' CreateRecordingResponse: type: object description: Response for creating a new recording (includes upload_token) properties: id: type: string format: uuid readOnly: true team: type: integer readOnly: true created_by: type: integer readOnly: true nullable: true sdk_upload_id: type: string format: uuid readOnly: true recall_recording_id: type: string format: uuid nullable: true platform: $ref: '#/components/schemas/MeetingPlatformEnum' meeting_title: type: string nullable: true maxLength: 255 meeting_url: type: string format: uri nullable: true maxLength: 200 duration_seconds: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true status: $ref: '#/components/schemas/DesktopRecordingStatusEnum' notes: type: string nullable: true error_message: type: string nullable: true video_url: type: string format: uri nullable: true maxLength: 200 video_size_bytes: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 nullable: true participants: type: array items: type: string description: List of participant names transcript_text: type: string readOnly: true transcript_segments: type: array items: $ref: '#/components/schemas/TranscriptSegment' description: Transcript segments with timestamps summary: type: string nullable: true extracted_tasks: type: array items: $ref: '#/components/schemas/DesktopRecordingTask' description: AI-extracted tasks from transcript tasks_generated_at: type: string format: date-time nullable: true summary_generated_at: type: string format: date-time nullable: true started_at: type: string format: date-time completed_at: type: string format: date-time nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true upload_token: type: string description: Recall.ai upload token for the desktop SDK required: - created_at - created_by - id - platform - sdk_upload_id - team - transcript_text - updated_at - upload_token CreateRepoInput: type: object properties: repo_full_name: type: string repo_external_id: type: integer nullable: true required: - repo_full_name CreateRunInput: type: object properties: repo_id: type: string format: uuid run_type: type: string commit_sha: type: string branch: type: string snapshots: type: array items: $ref: '#/components/schemas/SnapshotManifestItem' pr_number: type: integer nullable: true baseline_hashes: type: object additionalProperties: type: string unchanged_count: type: integer removed_identifiers: type: array items: type: string purpose: type: string metadata: type: object additionalProperties: true required: - branch - commit_sha - repo_id - run_type - snapshots CreateRunResult: type: object properties: run_id: type: string format: uuid uploads: type: array items: $ref: '#/components/schemas/UploadTarget' required: - run_id - uploads CreatedViaEnum: enum: - web - api - mcp type: string description: '* `web` - web * `api` - api * `mcp` - mcp' CreationModeEnum: enum: - default - template - duplicate - unlisted type: string description: '* `default` - Default * `template` - Template * `duplicate` - Duplicate * `unlisted` - Unlisted (product-embedded)' CreationTypeEnum: enum: - USR - GIT type: string description: '* `USR` - user * `GIT` - GitHub' Credential: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true access_key: type: string writeOnly: true maxLength: 500 access_secret: type: string writeOnly: true maxLength: 500 required: - access_key - access_secret - created_at - created_by - id CurrencyCode: enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTC - BTN - BWP - BYN - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LTL - LVL - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MTL - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SRD - SSP - STN - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VES - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMW title: CurrencyCode type: string CustomChannelCondition: additionalProperties: false properties: id: title: Id type: string key: $ref: '#/components/schemas/CustomChannelField' op: $ref: '#/components/schemas/CustomChannelOperator' value: default: null title: Value anyOf: - type: string - items: type: string type: array nullable: true required: - id - key - op title: CustomChannelCondition type: object CustomChannelField: enum: - utm_source - utm_medium - utm_campaign - referring_domain - url - pathname - hostname title: CustomChannelField type: string CustomChannelOperator: enum: - exact - is_not - is_set - is_not_set - icontains - not_icontains - regex - not_regex title: CustomChannelOperator type: string CustomChannelRule: additionalProperties: false properties: channel_type: title: Channel Type type: string combiner: $ref: '#/components/schemas/FilterLogicalOperator' id: title: Id type: string items: items: $ref: '#/components/schemas/CustomChannelCondition' title: Items type: array required: - channel_type - combiner - id - items title: CustomChannelRule type: object CustomEventConversionGoal: additionalProperties: false properties: customEventName: title: Customeventname type: string required: - customEventName title: CustomEventConversionGoal type: object CustomerJourney: type: object properties: id: type: string format: uuid readOnly: true insight: type: integer name: type: string maxLength: 400 description: type: string nullable: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true nullable: true required: - created_at - created_by - id - insight - name - updated_at CustomerProfileConfig: type: object properties: id: type: string format: uuid readOnly: true scope: $ref: '#/components/schemas/CustomerProfileConfigScopeEnum' content: nullable: true sidebar: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - created_at - id - scope - updated_at CustomerProfileConfigScopeEnum: enum: - person - group_0 - group_1 - group_2 - group_3 - group_4 type: string description: '* `person` - Person * `group_0` - Group 0 * `group_1` - Group 1 * `group_2` - Group 2 * `group_3` - Group 3 * `group_4` - Group 4' Dashboard: type: object description: Serializer mixin that handles tags for objects. properties: id: type: integer readOnly: true name: type: string nullable: true maxLength: 400 description: type: string pinned: type: boolean created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_accessed_at: type: string format: date-time nullable: true last_viewed_at: type: string format: date-time readOnly: true nullable: true is_shared: type: boolean readOnly: true deleted: type: boolean creation_mode: allOf: - $ref: '#/components/schemas/CreationModeEnum' readOnly: true filters: type: object additionalProperties: true readOnly: true variables: type: object additionalProperties: true nullable: true readOnly: true breakdown_colors: description: Custom color mapping for breakdown values. data_color_theme_id: type: integer nullable: true description: ID of the color theme used for chart visualizations. tags: type: array items: {} restriction_level: $ref: '#/components/schemas/RestrictionLevelEnum' effective_restriction_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true effective_privilege_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object access_control_version: type: string readOnly: true last_refresh: type: string format: date-time nullable: true persisted_filters: type: object additionalProperties: true nullable: true readOnly: true persisted_variables: type: object additionalProperties: true nullable: true readOnly: true team_id: type: integer readOnly: true quick_filter_ids: type: array items: type: string nullable: true description: List of quick filter IDs associated with this dashboard tiles: type: array items: type: object additionalProperties: true nullable: true readOnly: true use_template: type: string writeOnly: true description: Template key to create the dashboard from a predefined template. use_dashboard: type: integer writeOnly: true nullable: true description: ID of an existing dashboard to duplicate. delete_insights: type: boolean writeOnly: true default: false description: When deleting, also delete insights that are only on this dashboard. _create_in_folder: type: string writeOnly: true title: ' create in folder' required: - access_control_version - created_at - created_by - creation_mode - effective_privilege_level - effective_restriction_level - filters - id - is_shared - last_viewed_at - persisted_filters - persisted_variables - team_id - tiles - user_access_level - variables DashboardBasic: type: object description: Serializer mixin that handles tags for objects. properties: id: type: integer readOnly: true name: type: string readOnly: true nullable: true description: Name of the dashboard. description: type: string readOnly: true description: Description of the dashboard. pinned: type: boolean readOnly: true description: Whether the dashboard is pinned to the top of the list. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_accessed_at: type: string format: date-time readOnly: true nullable: true last_viewed_at: type: string format: date-time readOnly: true nullable: true is_shared: type: boolean readOnly: true deleted: type: boolean readOnly: true creation_mode: allOf: - $ref: '#/components/schemas/CreationModeEnum' readOnly: true tags: type: array items: {} restriction_level: allOf: - $ref: '#/components/schemas/RestrictionLevelEnum' readOnly: true description: 'Controls who can edit the dashboard. * `21` - Everyone in the project can edit * `37` - Only those invited to this dashboard can edit' effective_restriction_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true effective_privilege_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object access_control_version: type: string readOnly: true last_refresh: type: string format: date-time readOnly: true nullable: true team_id: type: integer readOnly: true required: - access_control_version - created_at - created_by - creation_mode - deleted - description - effective_privilege_level - effective_restriction_level - id - is_shared - last_accessed_at - last_refresh - last_viewed_at - name - pinned - restriction_level - team_id - user_access_level DashboardCollaborator: type: object properties: id: type: string format: uuid readOnly: true dashboard_id: type: integer readOnly: true user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true level: $ref: '#/components/schemas/RestrictionLevelEnum' added_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true user_uuid: type: string format: uuid writeOnly: true required: - added_at - dashboard_id - id - level - updated_at - user - user_uuid DashboardFilter: additionalProperties: false properties: breakdown_filter: default: null allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true date_from: default: null title: Date From type: string nullable: true date_to: default: null title: Date To type: string nullable: true explicitDate: default: null title: Explicitdate type: boolean nullable: true properties: default: null title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true title: DashboardFilter type: object DashboardTemplate: type: object properties: id: type: string format: uuid readOnly: true template_name: type: string nullable: true maxLength: 400 dashboard_description: type: string nullable: true maxLength: 400 dashboard_filters: nullable: true tags: type: array items: type: string maxLength: 255 nullable: true tiles: nullable: true variables: nullable: true deleted: type: boolean nullable: true created_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true image_url: type: string nullable: true maxLength: 8201 team_id: type: integer nullable: true readOnly: true scope: nullable: true oneOf: - $ref: '#/components/schemas/DashboardTemplateScopeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' availability_contexts: type: array items: type: string maxLength: 255 nullable: true is_featured: type: boolean description: Manually curated; used to highlight templates in the UI. required: - created_at - created_by - id - team_id DashboardTemplateScopeEnum: enum: - team - global - feature_flag type: string description: '* `team` - Only team * `global` - Global * `feature_flag` - Feature Flag' DashboardTileBasic: type: object properties: id: type: integer readOnly: true dashboard_id: type: integer readOnly: true deleted: type: boolean nullable: true required: - dashboard_id - id DashboardTileResult: type: object description: DashboardTileSerializer restricted to tile id + insight result fields. properties: id: type: integer insight: $ref: '#/components/schemas/InsightResult' required: - insight DataColorTheme: type: object properties: id: type: integer readOnly: true name: type: string maxLength: 100 colors: {} is_global: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true required: - created_at - created_by - id - is_global - name DataColorToken: enum: - preset-1 - preset-2 - preset-3 - preset-4 - preset-5 - preset-6 - preset-7 - preset-8 - preset-9 - preset-10 - preset-11 - preset-12 - preset-13 - preset-14 - preset-15 title: DataColorToken type: string DataModelingJob: type: object properties: id: type: string format: uuid readOnly: true saved_query_id: type: string format: uuid nullable: true readOnly: true status: allOf: - $ref: '#/components/schemas/DataModelingJobStatusEnum' readOnly: true rows_materialized: type: integer readOnly: true error: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true last_run_at: type: string format: date-time readOnly: true workflow_id: type: string readOnly: true nullable: true workflow_run_id: type: string readOnly: true nullable: true rows_expected: type: integer readOnly: true nullable: true description: Total rows expected to be materialized required: - created_at - error - id - last_run_at - rows_expected - rows_materialized - saved_query_id - status - workflow_id - workflow_run_id DataModelingJobStatusEnum: enum: - Cancelled - Completed - Failed - Running type: string description: '* `Cancelled` - Cancelled * `Completed` - Completed * `Failed` - Failed * `Running` - Running' DataTableNode: additionalProperties: false properties: allowSorting: default: null description: 'Can the user click on column headers to sort the table? (default: true)' title: Allowsorting type: boolean nullable: true columns: default: null description: Columns shown in the table, unless the `source` provides them. title: Columns items: type: string type: array nullable: true context: default: null description: Context for the table, used by components like ColumnConfigurator allOf: - $ref: '#/components/schemas/DataTableNodeViewPropsContext' nullable: true contextKey: default: null description: Context key for universal column configuration (e.g., "survey:123") title: Contextkey type: string nullable: true defaultColumns: default: null description: Default columns to use when resetting column configuration title: Defaultcolumns items: type: string type: array nullable: true embedded: default: null description: Uses the embedded version of LemonTable title: Embedded type: boolean nullable: true expandable: default: null description: 'Can expand row to show raw event data (default: true)' title: Expandable type: boolean nullable: true full: default: null description: Show with most visual options enabled. Used in scenes. title: Full type: boolean nullable: true hiddenColumns: default: null description: Columns that aren't shown in the table, even if in columns or returned data title: Hiddencolumns items: type: string type: array nullable: true kind: default: DataTableNode title: Kind type: string enum: - DataTableNode pinnedColumns: default: null description: Columns that are sticky when scrolling horizontally title: Pinnedcolumns items: type: string type: array nullable: true propertiesViaUrl: default: null description: 'Link properties via the URL (default: false)' title: Propertiesviaurl type: boolean nullable: true response: default: null title: Response anyOf: - additionalProperties: true type: object - $ref: '#/components/schemas/Response' - $ref: '#/components/schemas/Response1' - $ref: '#/components/schemas/Response2' - $ref: '#/components/schemas/Response3' - $ref: '#/components/schemas/Response4' - $ref: '#/components/schemas/Response5' - $ref: '#/components/schemas/Response6' - $ref: '#/components/schemas/Response8' - $ref: '#/components/schemas/Response9' - $ref: '#/components/schemas/Response10' - $ref: '#/components/schemas/Response11' - $ref: '#/components/schemas/Response12' - $ref: '#/components/schemas/Response13' - $ref: '#/components/schemas/Response14' - $ref: '#/components/schemas/Response15' - $ref: '#/components/schemas/Response16' - $ref: '#/components/schemas/Response18' - $ref: '#/components/schemas/Response19' - $ref: '#/components/schemas/Response20' - $ref: '#/components/schemas/Response21' - $ref: '#/components/schemas/Response22' - $ref: '#/components/schemas/Response23' - $ref: '#/components/schemas/Response24' - $ref: '#/components/schemas/Response25' - $ref: '#/components/schemas/Response26' nullable: true showActions: default: null description: Show the kebab menu at the end of the row title: Showactions type: boolean nullable: true showColumnConfigurator: default: null description: Show a button to configure the table's columns if possible title: Showcolumnconfigurator type: boolean nullable: true showCount: default: null description: Show count of total and filtered results title: Showcount type: boolean nullable: true showDateRange: default: null description: Show date range selector title: Showdaterange type: boolean nullable: true showElapsedTime: default: null description: Show the time it takes to run a query title: Showelapsedtime type: boolean nullable: true showEventFilter: default: null description: Include an event filter above the table (EventsNode only) title: Showeventfilter type: boolean nullable: true showEventsFilter: default: null description: Include an events filter above the table to filter by multiple events (EventsQuery only) title: Showeventsfilter type: boolean nullable: true showExport: default: null description: Show the export button title: Showexport type: boolean nullable: true showHogQLEditor: default: null description: Include a HogQL query editor above HogQL tables title: Showhogqleditor type: boolean nullable: true showOpenEditorButton: default: null description: 'Show a button to open the current query as a new insight. (default: true)' title: Showopeneditorbutton type: boolean nullable: true showPersistentColumnConfigurator: default: null description: Show a button to configure and persist the table's default columns if possible title: Showpersistentcolumnconfigurator type: boolean nullable: true showPropertyFilter: default: null description: Include a property filter above the table title: Showpropertyfilter anyOf: - type: boolean - items: $ref: '#/components/schemas/TaxonomicFilterGroupType' type: array nullable: true showRecordingColumn: default: null description: Show a recording column for events with session recordings title: Showrecordingcolumn type: boolean nullable: true showReload: default: null description: Show a reload button title: Showreload type: boolean nullable: true showResultsTable: default: null description: Show a results table title: Showresultstable type: boolean nullable: true showSavedFilters: default: null description: Show saved filters feature for this table (requires uniqueKey) title: Showsavedfilters type: boolean nullable: true showSavedQueries: default: null description: Shows a list of saved queries title: Showsavedqueries type: boolean nullable: true showSearch: default: null description: Include a free text search field (PersonsNode only) title: Showsearch type: boolean nullable: true showSourceQueryOptions: default: null description: Show actors query options and back to source title: Showsourcequeryoptions type: boolean nullable: true showTableViews: default: null description: Show table views feature for this table (requires uniqueKey) title: Showtableviews type: boolean nullable: true showTestAccountFilters: default: null description: Show filter to exclude test accounts title: Showtestaccountfilters type: boolean nullable: true showTimings: default: null description: Show a detailed query timing breakdown title: Showtimings type: boolean nullable: true source: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/EventsQuery' - $ref: '#/components/schemas/PersonsNode' - $ref: '#/components/schemas/ActorsQuery' - $ref: '#/components/schemas/GroupsQuery' - $ref: '#/components/schemas/HogQLQuery' - $ref: '#/components/schemas/WebOverviewQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebExternalClicksTableQuery' - $ref: '#/components/schemas/WebGoalsQuery' - $ref: '#/components/schemas/WebVitalsQuery' - $ref: '#/components/schemas/WebVitalsPathBreakdownQuery' - $ref: '#/components/schemas/SessionAttributionExplorerQuery' - $ref: '#/components/schemas/SessionsQuery' - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' - $ref: '#/components/schemas/RevenueAnalyticsMetricsQuery' - $ref: '#/components/schemas/RevenueAnalyticsMRRQuery' - $ref: '#/components/schemas/RevenueAnalyticsOverviewQuery' - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' - $ref: '#/components/schemas/RevenueExampleEventsQuery' - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' - $ref: '#/components/schemas/MarketingAnalyticsTableQuery' - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQuery' - $ref: '#/components/schemas/NonIntegratedConversionsTableQuery' - $ref: '#/components/schemas/ErrorTrackingQuery' - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' - $ref: '#/components/schemas/ExperimentFunnelsQuery' - $ref: '#/components/schemas/ExperimentTrendsQuery' - $ref: '#/components/schemas/TracesQuery' - $ref: '#/components/schemas/TraceQuery' - $ref: '#/components/schemas/EndpointsUsageTableQuery' description: Source of the events title: Source tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: DataTableNode type: object DataTableNodeViewPropsContext: additionalProperties: false properties: eventDefinitionId: default: null title: Eventdefinitionid type: string nullable: true type: $ref: '#/components/schemas/DataTableNodeViewPropsContextType' required: - type title: DataTableNodeViewPropsContext type: object DataTableNodeViewPropsContextType: enum: - event_definition - team_columns title: DataTableNodeViewPropsContextType type: string DataVisualizationNode: additionalProperties: false properties: chartSettings: default: null allOf: - $ref: '#/components/schemas/ChartSettings' nullable: true display: default: null allOf: - $ref: '#/components/schemas/ChartDisplayType' nullable: true kind: default: DataVisualizationNode title: Kind type: string enum: - DataVisualizationNode source: $ref: '#/components/schemas/HogQLQuery' tableSettings: default: null allOf: - $ref: '#/components/schemas/TableSettings' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: DataVisualizationNode type: object DataWarehouseEventsModifier: additionalProperties: false properties: distinct_id_field: title: Distinct Id Field type: string id_field: title: Id Field type: string table_name: title: Table Name type: string timestamp_field: title: Timestamp Field type: string required: - distinct_id_field - id_field - table_name - timestamp_field title: DataWarehouseEventsModifier type: object DataWarehouseModelPath: type: object properties: id: type: string format: uuid readOnly: true path: type: array items: type: string readOnly: true team: type: integer table: type: string format: uuid nullable: true saved_query: type: string format: uuid nullable: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - created_at - created_by - id - path - team - updated_at DataWarehouseNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true distinct_id_field: title: Distinct Id Field type: string dw_source_type: default: null title: Dw Source Type type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true id: title: Id type: string id_field: title: Id Field type: string kind: default: DataWarehouseNode title: Kind type: string enum: - DataWarehouseNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true table_name: title: Table Name type: string timestamp_field: title: Timestamp Field type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - distinct_id_field - id - id_field - table_name - timestamp_field title: DataWarehouseNode type: object DataWarehousePersonPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: data_warehouse_person_property title: Type type: string enum: - data_warehouse_person_property value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: DataWarehousePersonPropertyFilter type: object DataWarehousePropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: data_warehouse title: Type type: string enum: - data_warehouse value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: DataWarehousePropertyFilter type: object DataWarehouseSavedQuery: type: object description: 'Shared methods for DataWarehouseSavedQuery serializers. This mixin is intended to be used with serializers.ModelSerializer subclasses.' properties: id: type: string format: uuid readOnly: true deleted: type: boolean nullable: true name: type: string description: Unique name for the view. Used as the table name in HogQL queries and the node name in the data modeling Node. maxLength: 128 query: nullable: true description: 'HogQL query definition as a JSON object with a "query" key containing the SQL string and a "kind" key containing the query type. Example: {"query": "SELECT * FROM events LIMIT 100", "kind": "HogQLQuery"}' created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true sync_frequency: type: string nullable: true readOnly: true columns: type: array items: type: object additionalProperties: true readOnly: true status: readOnly: true nullable: true description: 'The status of when this SavedQuery last ran. * `Cancelled` - Cancelled * `Modified` - Modified * `Completed` - Completed * `Failed` - Failed * `Running` - Running' oneOf: - $ref: '#/components/schemas/SavedQueryStatusEnum' - $ref: '#/components/schemas/NullEnum' last_run_at: type: string format: date-time nullable: true readOnly: true managed_viewset_kind: type: string nullable: true readOnly: true folder_id: type: string format: uuid nullable: true description: Optional folder ID used to organize this view in the SQL editor sidebar. folder_name: type: string readOnly: true nullable: true description: Folder name used to organize this view in the SQL editor sidebar. latest_error: type: string readOnly: true nullable: true edited_history_id: type: string writeOnly: true nullable: true description: Activity log ID from the last known edit. Used for conflict detection. latest_history_id: type: integer nullable: true readOnly: true soft_update: type: boolean writeOnly: true nullable: true description: If true, skip column inference and validation. For saving drafts. dag_id: type: string format: uuid writeOnly: true nullable: true description: Optional DAG to place this view into is_materialized: type: boolean readOnly: true nullable: true origin: readOnly: true nullable: true description: 'Where this SavedQuery is created. * `data_warehouse` - Data Warehouse * `endpoint` - Endpoint * `managed_viewset` - Managed Viewset' oneOf: - $ref: '#/components/schemas/OriginEnum' - $ref: '#/components/schemas/NullEnum' is_test: type: boolean description: Whether this view is for testing only and will auto-expire. expires_at: type: string format: date-time readOnly: true nullable: true description: When this test view should be automatically deleted. user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - columns - created_at - created_by - expires_at - folder_name - id - is_materialized - last_run_at - latest_error - latest_history_id - managed_viewset_kind - name - origin - status - sync_frequency - user_access_level DataWarehouseSavedQueryFolder: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true name: type: string description: Display name for the folder used to organize saved queries in the SQL editor sidebar. maxLength: 128 created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true view_count: type: integer readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - created_at - created_by - id - name - user_access_level - view_count DataWarehouseSavedQueryMinimal: type: object description: Lightweight serializer for list views - excludes large query field to reduce memory usage. properties: id: type: string format: uuid readOnly: true deleted: type: boolean readOnly: true nullable: true name: type: string readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true sync_frequency: type: string nullable: true readOnly: true columns: type: array items: type: object additionalProperties: true readOnly: true status: readOnly: true nullable: true description: 'The status of when this SavedQuery last ran. * `Cancelled` - Cancelled * `Modified` - Modified * `Completed` - Completed * `Failed` - Failed * `Running` - Running' oneOf: - $ref: '#/components/schemas/SavedQueryStatusEnum' - $ref: '#/components/schemas/NullEnum' last_run_at: type: string format: date-time nullable: true readOnly: true managed_viewset_kind: type: string nullable: true readOnly: true folder_id: type: string format: uuid readOnly: true nullable: true folder_name: type: string readOnly: true nullable: true latest_error: type: string readOnly: true nullable: true is_materialized: type: boolean readOnly: true nullable: true origin: readOnly: true nullable: true description: 'Where this SavedQuery is created. * `data_warehouse` - Data Warehouse * `endpoint` - Endpoint * `managed_viewset` - Managed Viewset' oneOf: - $ref: '#/components/schemas/OriginEnum' - $ref: '#/components/schemas/NullEnum' is_test: type: boolean readOnly: true description: Whether this view is for testing only and will auto-expire. expires_at: type: string format: date-time readOnly: true nullable: true description: When this test view should be automatically deleted. user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - columns - created_at - created_by - deleted - expires_at - folder_id - folder_name - id - is_materialized - is_test - last_run_at - latest_error - managed_viewset_kind - name - origin - status - sync_frequency - user_access_level DataWarehouseViewLink: additionalProperties: false properties: created_at: default: null title: Created At type: string nullable: true created_by: default: null allOf: - $ref: '#/components/schemas/UserBasicType' nullable: true field_name: default: null title: Field Name type: string nullable: true id: title: Id type: string joining_table_key: default: null title: Joining Table Key type: string nullable: true joining_table_name: default: null title: Joining Table Name type: string nullable: true source_table_key: default: null title: Source Table Key type: string nullable: true source_table_name: default: null title: Source Table Name type: string nullable: true required: - id title: DataWarehouseViewLink type: object DatabaseSchemaBatchExportTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string name: title: Name type: string row_count: default: null title: Row Count type: number nullable: true type: default: batch_export title: Type type: string enum: - batch_export required: - fields - id - name title: DatabaseSchemaBatchExportTable type: object DatabaseSchemaDataWarehouseTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object format: title: Format type: string id: title: Id type: string name: title: Name type: string row_count: default: null title: Row Count type: number nullable: true schema: default: null allOf: - $ref: '#/components/schemas/DatabaseSchemaSchema' nullable: true source: default: null allOf: - $ref: '#/components/schemas/DatabaseSchemaSource' nullable: true type: default: data_warehouse title: Type type: string enum: - data_warehouse url_pattern: title: Url Pattern type: string required: - fields - format - id - name - url_pattern title: DatabaseSchemaDataWarehouseTable type: object DatabaseSchemaEndpointTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string name: title: Name type: string query: $ref: '#/components/schemas/HogQLQuery' row_count: default: null title: Row Count type: number nullable: true status: default: null title: Status type: string nullable: true type: default: endpoint title: Type type: string enum: - endpoint required: - fields - id - name - query title: DatabaseSchemaEndpointTable type: object DatabaseSchemaField: additionalProperties: false properties: chain: default: null title: Chain items: anyOf: - type: string - type: integer type: array nullable: true fields: default: null title: Fields items: type: string type: array nullable: true hogql_value: title: Hogql Value type: string id: default: null title: Id type: string nullable: true name: title: Name type: string schema_valid: title: Schema Valid type: boolean table: default: null title: Table type: string nullable: true type: $ref: '#/components/schemas/DatabaseSerializedFieldType' required: - hogql_value - name - schema_valid - type title: DatabaseSchemaField type: object DatabaseSchemaManagedViewTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string kind: $ref: '#/components/schemas/DatabaseSchemaManagedViewTableKind' name: title: Name type: string query: $ref: '#/components/schemas/HogQLQuery' row_count: default: null title: Row Count type: number nullable: true source_id: default: null title: Source Id type: string nullable: true type: default: managed_view title: Type type: string enum: - managed_view required: - fields - id - kind - name - query title: DatabaseSchemaManagedViewTable type: object DatabaseSchemaManagedViewTableKind: enum: - revenue_analytics_charge - revenue_analytics_customer - revenue_analytics_mrr - revenue_analytics_product - revenue_analytics_revenue_item - revenue_analytics_subscription title: DatabaseSchemaManagedViewTableKind type: string DatabaseSchemaMaterializedViewTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string last_run_at: default: null title: Last Run At type: string nullable: true name: title: Name type: string query: $ref: '#/components/schemas/HogQLQuery' row_count: default: null title: Row Count type: number nullable: true status: default: null title: Status type: string nullable: true type: default: materialized_view title: Type type: string enum: - materialized_view required: - fields - id - name - query title: DatabaseSchemaMaterializedViewTable type: object DatabaseSchemaPostHogTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string name: title: Name type: string row_count: default: null title: Row Count type: number nullable: true type: default: posthog title: Type type: string enum: - posthog required: - fields - id - name title: DatabaseSchemaPostHogTable type: object DatabaseSchemaQuery: additionalProperties: false properties: connectionId: default: null description: Optional direct external data source id for schema introspection title: Connectionid type: string nullable: true kind: default: DatabaseSchemaQuery title: Kind type: string enum: - DatabaseSchemaQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/DatabaseSchemaQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: DatabaseSchemaQuery type: object DatabaseSchemaQueryResponse: additionalProperties: false properties: joins: items: $ref: '#/components/schemas/DataWarehouseViewLink' title: Joins type: array tables: additionalProperties: anyOf: - $ref: '#/components/schemas/DatabaseSchemaPostHogTable' - $ref: '#/components/schemas/DatabaseSchemaSystemTable' - $ref: '#/components/schemas/DatabaseSchemaDataWarehouseTable' - $ref: '#/components/schemas/DatabaseSchemaViewTable' - $ref: '#/components/schemas/DatabaseSchemaManagedViewTable' - $ref: '#/components/schemas/DatabaseSchemaBatchExportTable' - $ref: '#/components/schemas/DatabaseSchemaMaterializedViewTable' - $ref: '#/components/schemas/DatabaseSchemaEndpointTable' title: Tables type: object required: - joins - tables title: DatabaseSchemaQueryResponse type: object DatabaseSchemaRequest: type: object description: 'Validate credentials and preview available tables from a remote database. The request body contains source_type plus flat source-specific credential fields (e.g. host, port, database, user, password, schema for Postgres). The credential fields vary per source_type and are validated dynamically by the source registry.' properties: source_type: allOf: - $ref: '#/components/schemas/ExternalDataSourceTypeEnum' description: 'The source type to validate against. * `Ashby` - Ashby * `Supabase` - Supabase * `CustomerIO` - CustomerIO * `Github` - Github * `Stripe` - Stripe * `Hubspot` - Hubspot * `Postgres` - Postgres * `Zendesk` - Zendesk * `Snowflake` - Snowflake * `Salesforce` - Salesforce * `MySQL` - MySQL * `MongoDB` - MongoDB * `MSSQL` - MSSQL * `Vitally` - Vitally * `BigQuery` - BigQuery * `Chargebee` - Chargebee * `Clerk` - Clerk * `GoogleAds` - GoogleAds * `TemporalIO` - TemporalIO * `DoIt` - DoIt * `GoogleSheets` - GoogleSheets * `MetaAds` - MetaAds * `Klaviyo` - Klaviyo * `Mailchimp` - Mailchimp * `Braze` - Braze * `Mailjet` - Mailjet * `Redshift` - Redshift * `Polar` - Polar * `RevenueCat` - RevenueCat * `LinkedinAds` - LinkedinAds * `RedditAds` - RedditAds * `TikTokAds` - TikTokAds * `BingAds` - BingAds * `Shopify` - Shopify * `Attio` - Attio * `SnapchatAds` - SnapchatAds * `Linear` - Linear * `Intercom` - Intercom * `Amplitude` - Amplitude * `Mixpanel` - Mixpanel * `Jira` - Jira * `ActiveCampaign` - ActiveCampaign * `Marketo` - Marketo * `Adjust` - Adjust * `AppsFlyer` - AppsFlyer * `Freshdesk` - Freshdesk * `GoogleAnalytics` - GoogleAnalytics * `Pipedrive` - Pipedrive * `SendGrid` - SendGrid * `Slack` - Slack * `PagerDuty` - PagerDuty * `Asana` - Asana * `Notion` - Notion * `Airtable` - Airtable * `Greenhouse` - Greenhouse * `BambooHR` - BambooHR * `Lever` - Lever * `GitLab` - GitLab * `Datadog` - Datadog * `Sentry` - Sentry * `Pendo` - Pendo * `FullStory` - FullStory * `AmazonAds` - AmazonAds * `PinterestAds` - PinterestAds * `AppleSearchAds` - AppleSearchAds * `QuickBooks` - QuickBooks * `Xero` - Xero * `NetSuite` - NetSuite * `WooCommerce` - WooCommerce * `BigCommerce` - BigCommerce * `PayPal` - PayPal * `Square` - Square * `Zoom` - Zoom * `Trello` - Trello * `Monday` - Monday * `ClickUp` - ClickUp * `Confluence` - Confluence * `Recurly` - Recurly * `SalesLoft` - SalesLoft * `Outreach` - Outreach * `Gong` - Gong * `Calendly` - Calendly * `Typeform` - Typeform * `Iterable` - Iterable * `ZohoCRM` - ZohoCRM * `Close` - Close * `Oracle` - Oracle * `DynamoDB` - DynamoDB * `Elasticsearch` - Elasticsearch * `Kafka` - Kafka * `LaunchDarkly` - LaunchDarkly * `Braintree` - Braintree * `Recharge` - Recharge * `HelpScout` - HelpScout * `Gorgias` - Gorgias * `Instagram` - Instagram * `YouTubeAnalytics` - YouTubeAnalytics * `FacebookPages` - FacebookPages * `TwitterAds` - TwitterAds * `Workday` - Workday * `ServiceNow` - ServiceNow * `Pardot` - Pardot * `Copper` - Copper * `Front` - Front * `ChartMogul` - ChartMogul * `Zuora` - Zuora * `Paddle` - Paddle * `CircleCI` - CircleCI * `CockroachDB` - CockroachDB * `Firebase` - Firebase * `AzureBlob` - AzureBlob * `GoogleDrive` - GoogleDrive * `OneDrive` - OneDrive * `SharePoint` - SharePoint * `Box` - Box * `SFTP` - SFTP * `MicrosoftTeams` - MicrosoftTeams * `Aircall` - Aircall * `Webflow` - Webflow * `Okta` - Okta * `Auth0` - Auth0 * `Productboard` - Productboard * `Smartsheet` - Smartsheet * `Wrike` - Wrike * `Plaid` - Plaid * `SurveyMonkey` - SurveyMonkey * `Eventbrite` - Eventbrite * `RingCentral` - RingCentral * `Twilio` - Twilio * `Freshsales` - Freshsales * `Shortcut` - Shortcut * `ConvertKit` - ConvertKit * `Drip` - Drip * `CampaignMonitor` - CampaignMonitor * `MailerLite` - MailerLite * `Omnisend` - Omnisend * `Brevo` - Brevo * `Postmark` - Postmark * `Granola` - Granola * `BuildBetter` - BuildBetter * `Convex` - Convex * `ClickHouse` - ClickHouse * `Plain` - Plain * `Resend` - Resend' required: - source_type DatabaseSchemaSchema: additionalProperties: false properties: id: title: Id type: string incremental: title: Incremental type: boolean last_synced_at: default: null title: Last Synced At type: string nullable: true name: title: Name type: string should_sync: title: Should Sync type: boolean status: default: null title: Status type: string nullable: true required: - id - incremental - name - should_sync title: DatabaseSchemaSchema type: object DatabaseSchemaSource: additionalProperties: false properties: access_method: default: null title: Access Method type: string nullable: true id: title: Id type: string last_synced_at: default: null title: Last Synced At type: string nullable: true prefix: title: Prefix type: string source_type: title: Source Type type: string status: title: Status type: string required: - id - prefix - source_type - status title: DatabaseSchemaSource type: object DatabaseSchemaSystemTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string name: title: Name type: string row_count: default: null title: Row Count type: number nullable: true type: default: system title: Type type: string enum: - system required: - fields - id - name title: DatabaseSchemaSystemTable type: object DatabaseSchemaViewTable: additionalProperties: false properties: fields: additionalProperties: $ref: '#/components/schemas/DatabaseSchemaField' title: Fields type: object id: title: Id type: string name: title: Name type: string query: $ref: '#/components/schemas/HogQLQuery' row_count: default: null title: Row Count type: number nullable: true type: default: view title: Type type: string enum: - view required: - fields - id - name - query title: DatabaseSchemaViewTable type: object DatabaseSerializedFieldType: enum: - integer - float - decimal - string - datetime - date - boolean - array - json - lazy_table - virtual_table - field_traverser - expression - view - materialized_view - unknown title: DatabaseSerializedFieldType type: string Dataset: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string nullable: true metadata: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true deleted: type: boolean nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true team: type: integer readOnly: true required: - created_at - created_by - id - name - team - updated_at DatasetItem: type: object properties: id: type: string format: uuid readOnly: true dataset: type: string format: uuid input: nullable: true output: nullable: true metadata: nullable: true ref_trace_id: type: string nullable: true maxLength: 255 ref_timestamp: type: string format: date-time nullable: true ref_source_id: type: string nullable: true maxLength: 255 deleted: type: boolean nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true team: type: integer readOnly: true required: - created_at - created_by - dataset - id - team - updated_at DateOperatorEnum: enum: - is_date_exact - is_date_before - is_date_after type: string description: '* `is_date_exact` - is_date_exact * `is_date_before` - is_date_before * `is_date_after` - is_date_after' DatePropertyFilter: type: object description: Matches date/datetime values with date-specific operators. properties: key: type: string description: Key of the property you're filtering on. For example `email` or `$current_url`. type: allOf: - $ref: '#/components/schemas/PropertyFilterTypeEnum' default: event description: 'Property type (event, person, session, etc.). * `event` - event * `event_metadata` - event_metadata * `feature` - feature * `person` - person * `cohort` - cohort * `element` - element * `static-cohort` - static-cohort * `dynamic-cohort` - dynamic-cohort * `precalculated-cohort` - precalculated-cohort * `group` - group * `recording` - recording * `log_entry` - log_entry * `behavioral` - behavioral * `session` - session * `hogql` - hogql * `data_warehouse` - data_warehouse * `data_warehouse_person_property` - data_warehouse_person_property * `error_tracking_issue` - error_tracking_issue * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute * `span` - span * `span_attribute` - span_attribute * `span_resource_attribute` - span_resource_attribute * `revenue_analytics` - revenue_analytics * `flag` - flag * `workflow_variable` - workflow_variable' value: type: string description: Date or datetime string in ISO 8601 format (e.g. '2024-01-15' or '2024-01-15T10:30:00Z'). operator: allOf: - $ref: '#/components/schemas/DateOperatorEnum' default: is_date_exact description: 'Date comparison operator. * `is_date_exact` - is_date_exact * `is_date_before` - is_date_before * `is_date_after` - is_date_after' required: - key - value DateRange: additionalProperties: false properties: date_from: default: null description: 'Start of the date range. Accepts ISO 8601 timestamps (e.g., 2024-01-15T00:00:00Z) or relative formats: -7d (7 days ago), -2w (2 weeks ago), -1m (1 month ago), -1h (1 hour ago), -1mStart (start of last month), -1yStart (start of last year).' title: Date From type: string nullable: true date_to: default: null description: End of the date range. Same format as date_from. Omit or null for "now". title: Date To type: string nullable: true explicitDate: default: false description: Whether the date_from and date_to should be used verbatim. Disables rounding to the start and end of period. title: Explicitdate type: boolean nullable: true title: DateRange type: object DayItem: additionalProperties: false properties: label: title: Label type: string value: anyOf: - type: string - format: date-time type: string - type: integer title: Value required: - label - value title: DayItem type: object DefaultExperimentStatsMethodEnum: enum: - bayesian - frequentist type: string description: '* `bayesian` - Bayesian * `frequentist` - Frequentist' DeliveryStatusEnum: enum: - pending - delivered - partial_failure - failed type: string description: '* `pending` - Pending * `delivered` - Delivered * `partial_failure` - Partial Failure * `failed` - Failed' DependentFlag: type: object properties: id: type: integer description: Feature flag ID key: type: string description: Feature flag key name: type: string description: Feature flag name required: - id - key - name DeprovisionWarehouseResponse: type: object properties: status: type: string team: type: string required: - status - team DescriptionContentTypeEnum: enum: - html - text type: string description: '* `html` - html * `text` - text' DesktopRecording: type: object properties: id: type: string format: uuid readOnly: true team: type: integer readOnly: true created_by: type: integer readOnly: true nullable: true sdk_upload_id: type: string format: uuid readOnly: true recall_recording_id: type: string format: uuid nullable: true platform: $ref: '#/components/schemas/MeetingPlatformEnum' meeting_title: type: string nullable: true maxLength: 255 meeting_url: type: string format: uri nullable: true maxLength: 200 duration_seconds: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true status: $ref: '#/components/schemas/DesktopRecordingStatusEnum' notes: type: string nullable: true error_message: type: string nullable: true video_url: type: string format: uri nullable: true maxLength: 200 video_size_bytes: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 nullable: true participants: type: array items: type: string description: List of participant names transcript_text: type: string readOnly: true transcript_segments: type: array items: $ref: '#/components/schemas/TranscriptSegment' description: Transcript segments with timestamps summary: type: string nullable: true extracted_tasks: type: array items: $ref: '#/components/schemas/DesktopRecordingTask' description: AI-extracted tasks from transcript tasks_generated_at: type: string format: date-time nullable: true summary_generated_at: type: string format: date-time nullable: true started_at: type: string format: date-time completed_at: type: string format: date-time nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - created_by - id - platform - sdk_upload_id - team - transcript_text - updated_at DesktopRecordingStatusEnum: enum: - recording - uploading - processing - ready - error type: string description: '* `recording` - Recording * `uploading` - Uploading * `processing` - Processing * `ready` - Ready * `error` - Error' DesktopRecordingTask: type: object description: Serializer for extracted tasks properties: title: type: string description: type: string assignee: type: string nullable: true required: - title Detail: type: object properties: id: type: string readOnly: true changes: type: array items: $ref: '#/components/schemas/Change' merge: $ref: '#/components/schemas/Merge' trigger: $ref: '#/components/schemas/Trigger' name: type: string readOnly: true short_id: type: string readOnly: true type: type: string readOnly: true required: - id - name - short_id - type DetailModeValueEnum: enum: - minimal - detailed type: string description: '* `minimal` - minimal * `detailed` - detailed' DetailedResultsAggregationType: enum: - total - average - median title: DetailedResultsAggregationType type: string DetectorConfig: anyOf: - $ref: '#/components/schemas/EnsembleDetectorConfig' - $ref: '#/components/schemas/ZScoreDetectorConfig' - $ref: '#/components/schemas/MADDetectorConfig' - $ref: '#/components/schemas/IQRDetectorConfig' - $ref: '#/components/schemas/ThresholdDetectorConfig' - $ref: '#/components/schemas/ECODDetectorConfig' - $ref: '#/components/schemas/COPODDetectorConfig' - $ref: '#/components/schemas/IsolationForestDetectorConfig' - $ref: '#/components/schemas/KNNDetectorConfig' - $ref: '#/components/schemas/HBOSDetectorConfig' - $ref: '#/components/schemas/LOFDetectorConfig' - $ref: '#/components/schemas/OCSVMDetectorConfig' - $ref: '#/components/schemas/PCADetectorConfig' description: Detector configuration types title: DetectorConfig DeviceTypesEnum: enum: - Desktop - Mobile - Tablet type: string description: '* `Desktop` - Desktop * `Mobile` - Mobile * `Tablet` - Tablet' DirectionEnum: enum: - Up - Down type: string description: '* `Up` - Up * `Down` - Down' DisplayType: enum: - auto - line - bar - area title: DisplayType type: string DistanceFunc: enum: - L1Distance - L2Distance - cosineDistance title: DistanceFunc type: string DocumentSimilarityQuery: additionalProperties: false properties: dateRange: $ref: '#/components/schemas/DateRange' distance_func: $ref: '#/components/schemas/DistanceFunc' document_types: items: type: string title: Document Types type: array kind: default: DocumentSimilarityQuery title: Kind type: string enum: - DocumentSimilarityQuery limit: default: null title: Limit type: integer nullable: true model: title: Model type: string modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true order_by: $ref: '#/components/schemas/OrderBy' order_direction: $ref: '#/components/schemas/OrderDirection1' origin: $ref: '#/components/schemas/EmbeddedDocument' products: items: type: string title: Products type: array renderings: items: type: string title: Renderings type: array response: default: null allOf: - $ref: '#/components/schemas/DocumentSimilarityQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true threshold: default: null title: Threshold type: number nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - dateRange - distance_func - document_types - model - order_by - order_direction - origin - products - renderings title: DocumentSimilarityQuery type: object DocumentSimilarityQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/EmbeddingDistance' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: DocumentSimilarityQueryResponse type: object DocumentTypeEnum: enum: - BAA - DPA type: string description: '* `BAA` - BAA * `DPA` - DPA' DraftStatusResponse: type: object properties: updated_at: type: string format: date-time has_draft: type: boolean required: - has_draft - updated_at DurationMetric: type: object properties: current: type: string description: Human-readable duration, e.g. '2m 34s'. previous: type: string nullable: true description: Prior-period duration, e.g. '2m 10s'. change: allOf: - $ref: '#/components/schemas/WoWChange' nullable: true description: Period-over-period change, null when not meaningful. required: - change - current - previous DurationType: enum: - duration - active_seconds - inactive_seconds title: DurationType type: string ECODDetectorConfig: additionalProperties: false properties: preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: ecod title: Type type: string enum: - ecod window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: ECODDetectorConfig type: object EarlyAccessFeature: type: object properties: id: type: string format: uuid readOnly: true feature_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true name: type: string description: The name of the early access feature. maxLength: 200 description: type: string description: A longer description of what this early access feature does, shown to users in the opt-in UI. stage: allOf: - $ref: '#/components/schemas/StageEnum' description: 'Lifecycle stage. Valid values: draft, concept, alpha, beta, general-availability, archived. Moving to an active stage (alpha/beta/general-availability) enables the feature flag for opted-in users. * `draft` - draft * `concept` - concept * `alpha` - alpha * `beta` - beta * `general-availability` - general availability * `archived` - archived' documentation_url: type: string format: uri description: URL to external documentation for this feature. Shown to users in the opt-in UI. maxLength: 800 payload: type: object additionalProperties: true description: Feature flag payload for this early access feature readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - feature_flag - id - name - payload - stage EarlyAccessFeatureSerializerCreateOnly: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: The name of the early access feature. maxLength: 200 description: type: string description: A longer description of what this early access feature does, shown to users in the opt-in UI. stage: allOf: - $ref: '#/components/schemas/StageEnum' description: 'Lifecycle stage. Valid values: draft, concept, alpha, beta, general-availability, archived. Moving to an active stage (alpha/beta/general-availability) enables the feature flag for opted-in users. * `draft` - draft * `concept` - concept * `alpha` - alpha * `beta` - beta * `general-availability` - general availability * `archived` - archived' documentation_url: type: string format: uri description: URL to external documentation for this feature. Shown to users in the opt-in UI. maxLength: 800 payload: description: Arbitrary JSON metadata associated with this feature. created_at: type: string format: date-time readOnly: true feature_flag_id: type: integer writeOnly: true description: Optional ID of an existing feature flag to link. If omitted, a new flag is auto-created from the feature name. The flag must not already be linked to another feature, must not be group-based, and must not be multivariate. feature_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' required: - created_at - feature_flag - id - name - stage EffectiveMembershipLevelEnum: enum: - 1 - 8 - 15 type: integer EffectivePrivilegeLevelEnum: enum: - 21 - 37 type: integer Element: type: object properties: text: type: string nullable: true maxLength: 10000 tag_name: type: string nullable: true maxLength: 1000 attr_class: type: array items: type: string maxLength: 200 nullable: true href: type: string nullable: true maxLength: 10000 attr_id: type: string nullable: true maxLength: 10000 nth_child: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true nth_of_type: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true attributes: {} order: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true ElementPropertyFilter: additionalProperties: false properties: key: $ref: '#/components/schemas/Key10' label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: element title: Type type: string enum: - element value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: ElementPropertyFilter type: object ElementType: additionalProperties: false properties: attr_class: default: null title: Attr Class items: type: string type: array nullable: true attr_id: default: null title: Attr Id type: string nullable: true attributes: additionalProperties: type: string title: Attributes type: object href: default: null title: Href type: string nullable: true nth_child: default: null title: Nth Child type: number nullable: true nth_of_type: default: null title: Nth Of Type type: number nullable: true order: default: null title: Order type: number nullable: true tag_name: title: Tag Name type: string text: default: null title: Text type: string nullable: true required: - attributes - tag_name title: ElementType type: object EmbeddedDocument: additionalProperties: false properties: document_id: title: Document Id type: string document_type: title: Document Type type: string product: title: Product type: string timestamp: format: date-time title: Timestamp type: string required: - document_id - document_type - product - timestamp title: EmbeddedDocument type: object EmbeddingDistance: additionalProperties: false properties: distance: title: Distance type: number origin: default: null allOf: - $ref: '#/components/schemas/EmbeddingRecord' nullable: true result: $ref: '#/components/schemas/EmbeddingRecord' required: - distance - result title: EmbeddingDistance type: object EmbeddingModelName: enum: - text-embedding-3-small-1536 - text-embedding-3-large-3072 title: EmbeddingModelName type: string EmbeddingRecord: additionalProperties: false properties: document_id: title: Document Id type: string document_type: title: Document Type type: string model_name: $ref: '#/components/schemas/EmbeddingModelName' product: title: Product type: string rendering: title: Rendering type: string timestamp: format: date-time title: Timestamp type: string required: - document_id - document_type - model_name - product - rendering - timestamp title: EmbeddingRecord type: object EmptyPropertyFilter: additionalProperties: false properties: type: default: empty title: Type type: string enum: - empty title: EmptyPropertyFilter type: object EndExperiment: type: object properties: conclusion: nullable: true description: 'The conclusion of the experiment. * `won` - won * `lost` - lost * `inconclusive` - inconclusive * `stopped_early` - stopped_early * `invalid` - invalid' oneOf: - $ref: '#/components/schemas/ConclusionEnum' - $ref: '#/components/schemas/NullEnum' conclusion_comment: type: string nullable: true description: Optional comment about the experiment conclusion. EndpointColumn: type: object description: A column in the endpoint's query result. properties: name: type: string description: Column name from the query SELECT clause. type: type: string description: 'Serialized column type: integer, float, string, datetime, date, boolean, array, json, or unknown.' required: - name - type EndpointLastExecutionTimesRequest: additionalProperties: false properties: names: items: type: string title: Names type: array required: - names title: EndpointLastExecutionTimesRequest type: object EndpointMaterialization: type: object description: Materialization status for an endpoint version. properties: name: type: string description: URL-safe endpoint name. status: type: string description: Current materialization status (e.g. 'Completed', 'Running'). can_materialize: type: boolean description: Whether this endpoint query can be materialized. reason: type: string nullable: true description: Reason why materialization is not possible (only when can_materialize is false). last_materialized_at: type: string nullable: true description: ISO 8601 timestamp of the last successful materialization. error: type: string description: Last materialization error message, if any. saved_query_id: type: string format: uuid nullable: true description: UUID of the underlying saved query backing this materialization. Only populated when the version is materialized. required: - can_materialize - name EndpointRefreshMode: enum: - cache - force - direct title: EndpointRefreshMode type: string EndpointRequest: type: object description: Schema for creating/updating endpoints. OpenAPI docs only — validation uses Pydantic. properties: name: type: string nullable: true description: Unique URL-safe name. Must start with a letter, only letters/numbers/hyphens/underscores, max 128 chars. query: nullable: true description: HogQL or insight query this endpoint executes. Changing this auto-creates a new version. description: type: string nullable: true description: Human-readable description of what this endpoint returns. data_freshness_seconds: type: integer nullable: true description: 'How fresh the data should be, in seconds. Must be one of: 900 (15 min), 1800 (30 min), 3600 (1 h), 21600 (6 h), 43200 (12 h), 86400 (24 h, default), 604800 (7 d). Controls cache TTL and materialization sync frequency.' is_active: type: boolean nullable: true description: Whether this endpoint is available for execution via the API. is_materialized: type: boolean nullable: true description: Whether query results are materialized to S3. derived_from_insight: type: string nullable: true description: Short ID of the insight this endpoint was derived from. version: type: integer nullable: true description: Target a specific version for updates (defaults to current version). bucket_overrides: type: object additionalProperties: true nullable: true description: Per-column bucket overrides for range variable materialization. Keys are column names, values are bucket keys. deleted: type: boolean nullable: true description: Set to true to soft-delete this endpoint. EndpointResponse: type: object description: Full endpoint representation returned by list/retrieve/create/update. properties: id: type: string format: uuid description: Unique endpoint identifier (UUID). name: type: string description: URL-safe endpoint name, unique per team. description: type: string nullable: true description: Human-readable description of the endpoint. query: description: The HogQL or insight query definition (JSON object with 'kind' key). is_active: type: boolean description: Whether the endpoint can be executed via the API. data_freshness_seconds: type: integer description: 'How fresh the data is, in seconds. One of: 900, 1800, 3600, 21600, 43200, 86400, 604800.' endpoint_path: type: string description: Relative API path to execute this endpoint (e.g. /api/environments/{team_id}/endpoints/{name}/run). url: type: string nullable: true description: Absolute URL to execute this endpoint. ui_url: type: string nullable: true description: Absolute URL to view this endpoint in the PostHog UI. created_at: type: string format: date-time description: When the endpoint was created (ISO 8601). updated_at: type: string format: date-time description: When the endpoint was last updated (ISO 8601). created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: User who created the endpoint. is_materialized: type: boolean description: Whether the current version's results are pre-computed to S3. current_version: type: integer description: Latest version number. current_version_id: type: string format: uuid nullable: true description: UUID of the current EndpointVersion row. versions_count: type: integer description: Total number of versions for this endpoint. derived_from_insight: type: string nullable: true description: Short ID of the source insight, if derived from one. last_executed_at: type: string format: date-time nullable: true description: When this endpoint was last executed via the API (ISO 8601), or null if never executed. materialization: allOf: - $ref: '#/components/schemas/EndpointMaterialization' description: Materialization status and configuration for the current version. bucket_overrides: type: object additionalProperties: true nullable: true description: Per-column bucket overrides for range variable materialization. columns: type: array items: $ref: '#/components/schemas/EndpointColumn' description: Column names and types from the query's SELECT clause. required: - bucket_overrides - columns - created_at - created_by - current_version - data_freshness_seconds - derived_from_insight - description - endpoint_path - id - is_active - is_materialized - last_executed_at - materialization - name - query - ui_url - updated_at - url - versions_count EndpointRunRequest: additionalProperties: false properties: client_query_id: default: null description: Client provided query ID. Can be used to retrieve the status or cancel the query. title: Client Query Id type: string nullable: true debug: default: false description: Whether to include debug information (such as the executed HogQL) in the response. title: Debug type: boolean nullable: true filters_override: default: null allOf: - $ref: '#/components/schemas/DashboardFilter' nullable: true limit: default: null description: Maximum number of results to return. If not provided, returns all results. title: Limit type: integer nullable: true offset: default: null description: Number of results to skip. Must be used together with limit. Only supported for HogQL endpoints. title: Offset type: integer nullable: true refresh: default: cache allOf: - $ref: '#/components/schemas/EndpointRefreshMode' nullable: true variables: default: null description: 'Variables to parameterize the endpoint query. The key is the variable name and the value is the variable value. For HogQL endpoints: Keys must match a variable `code_name` defined in the query (referenced as `{variables.code_name}`). Example: `{"event_name": "$pageview"}` For non-materialized insight endpoints (e.g. TrendsQuery): - `date_from` and `date_to` are built-in variables that filter the date range. Example: `{"date_from": "2024-01-01", "date_to": "2024-01-31"}` For materialized insight endpoints: - Use the breakdown property name as the key to filter by breakdown value. Example: `{"$browser": "Chrome"}` - `date_from`/`date_to` are not supported on materialized insight endpoints. Unknown variable names will return a 400 error.' title: Variables additionalProperties: true type: object nullable: true version: default: null description: Specific endpoint version to execute. If not provided, the latest version is used. title: Version type: integer nullable: true title: EndpointRunRequest type: object EndpointRunResponse: type: object description: Response from executing an endpoint query. properties: name: type: string description: URL-safe endpoint name that was executed. results: type: array items: {} description: Query result rows. Each row is a list of values matching the columns order. columns: type: array items: type: string description: Column names from the query SELECT clause. hasMore: type: boolean description: Whether more results are available beyond the limit. endpoint_version: type: integer description: Version number of the endpoint that was executed. required: - name EndpointVersionResponse: type: object description: Extended endpoint representation when viewing a specific version. properties: id: type: string format: uuid description: Unique endpoint identifier (UUID). name: type: string description: URL-safe endpoint name, unique per team. description: type: string nullable: true description: Human-readable description of the endpoint. query: description: The HogQL or insight query definition (JSON object with 'kind' key). is_active: type: boolean description: Whether the endpoint can be executed via the API. data_freshness_seconds: type: integer description: 'How fresh the data is, in seconds. One of: 900, 1800, 3600, 21600, 43200, 86400, 604800.' endpoint_path: type: string description: Relative API path to execute this endpoint (e.g. /api/environments/{team_id}/endpoints/{name}/run). url: type: string nullable: true description: Absolute URL to execute this endpoint. ui_url: type: string nullable: true description: Absolute URL to view this endpoint in the PostHog UI. created_at: type: string format: date-time description: When the endpoint was created (ISO 8601). updated_at: type: string format: date-time description: When the endpoint was last updated (ISO 8601). created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: User who created the endpoint. is_materialized: type: boolean description: Whether the current version's results are pre-computed to S3. current_version: type: integer description: Latest version number. current_version_id: type: string format: uuid nullable: true description: UUID of the current EndpointVersion row. versions_count: type: integer description: Total number of versions for this endpoint. derived_from_insight: type: string nullable: true description: Short ID of the source insight, if derived from one. last_executed_at: type: string format: date-time nullable: true description: When this endpoint was last executed via the API (ISO 8601), or null if never executed. materialization: allOf: - $ref: '#/components/schemas/EndpointMaterialization' description: Materialization status and configuration for the current version. bucket_overrides: type: object additionalProperties: true nullable: true description: Per-column bucket overrides for range variable materialization. columns: type: array items: $ref: '#/components/schemas/EndpointColumn' description: Column names and types from the query's SELECT clause. version: type: integer description: Version number. version_id: type: string format: uuid description: Version unique identifier (UUID). endpoint_is_active: type: boolean description: Whether the parent endpoint is active (distinct from version.is_active). version_created_at: type: string description: ISO 8601 timestamp when this version was created. version_updated_at: type: string nullable: true description: ISO 8601 timestamp when this version was last updated. version_created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true nullable: true description: User who created this version. required: - bucket_overrides - columns - created_at - created_by - current_version - data_freshness_seconds - derived_from_insight - description - endpoint_is_active - endpoint_path - id - is_active - is_materialized - last_executed_at - materialization - name - query - ui_url - updated_at - url - version - version_created_at - version_created_by - version_id - version_updated_at - versions_count EndpointsUsageBreakdown: enum: - Endpoint - MaterializationType - ApiKey - Status title: EndpointsUsageBreakdown type: string EndpointsUsageOrderByDirection: enum: - ASC - DESC title: EndpointsUsageOrderByDirection type: string EndpointsUsageOrderByField: enum: - requests - bytes_read - cpu_seconds - avg_query_duration_ms - error_rate title: EndpointsUsageOrderByField type: string EndpointsUsageOverviewItem: additionalProperties: false properties: changeFromPreviousPct: default: null title: Changefrompreviouspct type: number nullable: true key: $ref: '#/components/schemas/EndpointsUsageOverviewItemKey' previous: default: null title: Previous type: number nullable: true value: default: null title: Value type: number nullable: true required: - key title: EndpointsUsageOverviewItem type: object EndpointsUsageOverviewItemKey: enum: - total_requests - total_bytes_read - total_cpu_seconds - avg_query_duration_ms - p95_query_duration_ms - error_rate - materialized_requests - inline_requests title: EndpointsUsageOverviewItemKey type: string EndpointsUsageOverviewQuery: additionalProperties: false properties: compareFilter: default: null description: Compare to previous period allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true endpointNames: default: null description: Filter to specific endpoints by name title: Endpointnames items: type: string type: array nullable: true kind: default: EndpointsUsageOverviewQuery title: Kind type: string enum: - EndpointsUsageOverviewQuery materializationType: default: null description: Filter by materialization type allOf: - $ref: '#/components/schemas/MaterializationType' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/EndpointsUsageOverviewQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: EndpointsUsageOverviewQuery type: object EndpointsUsageOverviewQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/EndpointsUsageOverviewItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: EndpointsUsageOverviewQueryResponse type: object EndpointsUsageTableQuery: additionalProperties: false properties: breakdownBy: $ref: '#/components/schemas/EndpointsUsageBreakdown' dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true endpointNames: default: null description: Filter to specific endpoints by name title: Endpointnames items: type: string type: array nullable: true kind: default: EndpointsUsageTableQuery title: Kind type: string enum: - EndpointsUsageTableQuery limit: default: null title: Limit type: integer nullable: true materializationType: default: null description: Filter by materialization type allOf: - $ref: '#/components/schemas/MaterializationType' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/EndpointsUsageOrderByField' - $ref: '#/components/schemas/EndpointsUsageOrderByDirection' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/EndpointsUsageTableQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - breakdownBy title: EndpointsUsageTableQuery type: object EndpointsUsageTableQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: EndpointsUsageTableQueryResponse type: object EndpointsUsageTrendsQuery: additionalProperties: false properties: breakdownBy: default: null description: Optional breakdown for stacked charts allOf: - $ref: '#/components/schemas/EndpointsUsageBreakdown' nullable: true compareFilter: default: null description: Compare to previous period allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true endpointNames: default: null description: Filter to specific endpoints by name title: Endpointnames items: type: string type: array nullable: true interval: default: null description: Time interval allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: EndpointsUsageTrendsQuery title: Kind type: string enum: - EndpointsUsageTrendsQuery materializationType: default: null description: Filter by materialization type allOf: - $ref: '#/components/schemas/MaterializationType' nullable: true metric: description: Metric to trend allOf: - $ref: '#/components/schemas/Metric' modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/EndpointsUsageTrendsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - metric title: EndpointsUsageTrendsQuery type: object EndpointsUsageTrendsQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: EndpointsUsageTrendsQueryResponse type: object EnforcementModeEnum: enum: - allow - reject type: string description: '* `allow` - Allow * `reject` - Reject' EngineEnum: enum: - duckdb - postgres type: string description: '* `duckdb` - duckdb * `postgres` - postgres' EnsembleDetectorConfig: additionalProperties: false properties: detectors: description: Sub-detector configurations (minimum 2) items: anyOf: - $ref: '#/components/schemas/ZScoreDetectorConfig' - $ref: '#/components/schemas/MADDetectorConfig' - $ref: '#/components/schemas/IQRDetectorConfig' - $ref: '#/components/schemas/ThresholdDetectorConfig' - $ref: '#/components/schemas/ECODDetectorConfig' - $ref: '#/components/schemas/COPODDetectorConfig' - $ref: '#/components/schemas/IsolationForestDetectorConfig' - $ref: '#/components/schemas/KNNDetectorConfig' - $ref: '#/components/schemas/HBOSDetectorConfig' - $ref: '#/components/schemas/LOFDetectorConfig' - $ref: '#/components/schemas/OCSVMDetectorConfig' - $ref: '#/components/schemas/PCADetectorConfig' title: Detectors type: array operator: description: How to combine sub-detector results allOf: - $ref: '#/components/schemas/EnsembleOperator' type: default: ensemble title: Type type: string enum: - ensemble required: - detectors - operator title: EnsembleDetectorConfig type: object EnsembleOperator: enum: - and - or title: EnsembleOperator type: string EnterpriseEventDefinition: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 owner: type: integer nullable: true description: type: string nullable: true tags: type: array items: {} created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true updated_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_seen_at: type: string format: date-time readOnly: true nullable: true last_updated_at: type: string format: date-time readOnly: true verified: type: boolean verified_at: type: string format: date-time readOnly: true nullable: true verified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true hidden: type: boolean nullable: true enforcement_mode: $ref: '#/components/schemas/EnforcementModeEnum' promoted_property: type: string nullable: true description: Name of a single property on this event that PostHog UIs should display alongside the event (for example `$pathname` on `$pageview`). When set, surfaces like the session replay inspector show the property's value next to the event name without the user having to open the event. maxLength: 400 is_action: type: boolean readOnly: true action_id: type: integer readOnly: true is_calculating: type: boolean readOnly: true last_calculated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true post_to_slack: type: boolean default: false default_columns: type: array items: type: string media_preview_urls: type: array items: type: string readOnly: true required: - action_id - created_at - created_by - id - is_action - is_calculating - last_calculated_at - last_seen_at - last_updated_at - media_preview_urls - name - updated_at - updated_by - verified_at - verified_by EnterprisePropertyDefinition: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true description: type: string nullable: true tags: type: array items: {} is_numerical: type: boolean readOnly: true updated_at: type: string format: date-time readOnly: true updated_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true is_seen_on_filtered_events: type: boolean readOnly: true nullable: true property_type: nullable: true oneOf: - $ref: '#/components/schemas/PropertyDefinitionTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' verified: type: boolean verified_at: type: string format: date-time readOnly: true nullable: true verified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true hidden: type: boolean nullable: true required: - id - is_numerical - is_seen_on_filtered_events - name - updated_at - updated_by - verified_at - verified_by EntityType: enum: - actions - events - data_warehouse - new_entity - groups title: EntityType type: string ErrorResponse: type: object properties: error: type: string description: Error message required: - error ErrorTrackingAssignmentRule: type: object properties: id: type: string format: uuid readOnly: true filters: {} assignee: type: object nullable: true properties: type: type: string enum: - user - role id: oneOf: - type: integer - type: string format: uuid readOnly: true order_key: type: integer maximum: 2147483647 minimum: -2147483648 disabled_data: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - assignee - created_at - filters - id - order_key - updated_at ErrorTrackingAssignmentRuleAssigneeRequest: type: object properties: type: allOf: - $ref: '#/components/schemas/AssigneeTypeEnum' description: 'Assignee type. Use `user` for a user ID or `role` for a role UUID. * `user` - user * `role` - role' id: oneOf: - type: integer - type: string format: uuid description: User ID when `type` is `user`, or role UUID when `type` is `role`. required: - id - type ErrorTrackingAssignmentRuleCreateRequest: type: object properties: filters: allOf: - $ref: '#/components/schemas/PropertyGroupFilterValue' description: Property-group filters that define when this rule matches incoming error events. assignee: allOf: - $ref: '#/components/schemas/ErrorTrackingAssignmentRuleAssigneeRequest' description: User or role to assign matching issues to. required: - assignee - filters ErrorTrackingAssignmentRuleUpdateRequest: type: object properties: filters: allOf: - $ref: '#/components/schemas/PropertyGroupFilterValue' nullable: true description: Property-group filters that define when this rule matches incoming error events. assignee: allOf: - $ref: '#/components/schemas/ErrorTrackingAssignmentRuleAssigneeRequest' nullable: true description: User or role to assign matching issues to. ErrorTrackingBreakdownsQuery: additionalProperties: false properties: breakdownProperties: items: type: string title: Breakdownproperties type: array dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true issueId: title: Issueid type: string kind: default: ErrorTrackingBreakdownsQuery title: Kind type: string enum: - ErrorTrackingBreakdownsQuery maxValuesPerProperty: default: null title: Maxvaluesperproperty type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingBreakdownsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - breakdownProperties - issueId title: ErrorTrackingBreakdownsQuery type: object ErrorTrackingBreakdownsQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: additionalProperties: $ref: '#/components/schemas/Results' title: Results type: object timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: ErrorTrackingBreakdownsQueryResponse type: object ErrorTrackingCorrelatedIssue: additionalProperties: false properties: assignee: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueAssignee' nullable: true cohort: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueCohort' nullable: true description: default: null title: Description type: string nullable: true event: title: Event type: string external_issues: default: null title: External Issues items: $ref: '#/components/schemas/ErrorTrackingExternalReference' type: array nullable: true first_seen: format: date-time title: First Seen type: string id: title: Id type: string last_seen: format: date-time title: Last Seen type: string library: default: null title: Library type: string nullable: true name: default: null title: Name type: string nullable: true odds_ratio: title: Odds Ratio type: number population: $ref: '#/components/schemas/Population' status: $ref: '#/components/schemas/ErrorTrackingIssueStatus' required: - event - first_seen - id - last_seen - odds_ratio - population - status title: ErrorTrackingCorrelatedIssue type: object ErrorTrackingExternalReference: additionalProperties: false properties: external_url: title: External Url type: string id: title: Id type: string integration: $ref: '#/components/schemas/ErrorTrackingExternalReferenceIntegration' required: - external_url - id - integration title: ErrorTrackingExternalReference type: object ErrorTrackingExternalReferenceIntegration: additionalProperties: false properties: display_name: title: Display Name type: string id: title: Id type: number kind: $ref: '#/components/schemas/IntegrationKind' required: - display_name - id - kind title: ErrorTrackingExternalReferenceIntegration type: object ErrorTrackingExternalReferenceIntegrationResult: type: object properties: id: type: integer readOnly: true kind: type: string readOnly: true display_name: type: string readOnly: true required: - display_name - id - kind ErrorTrackingExternalReferenceResult: type: object properties: id: type: string format: uuid readOnly: true integration: allOf: - $ref: '#/components/schemas/ErrorTrackingExternalReferenceIntegrationResult' readOnly: true integration_id: type: integer writeOnly: true config: writeOnly: true issue: type: string format: uuid writeOnly: true external_url: type: string readOnly: true required: - config - external_url - id - integration - integration_id - issue ErrorTrackingFingerprint: type: object properties: id: type: string format: uuid readOnly: true fingerprint: type: string readOnly: true issue_id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true required: - created_at - fingerprint - id - issue_id ErrorTrackingGroupingRule: type: object properties: id: type: string format: uuid readOnly: true filters: {} assignee: type: object nullable: true properties: type: type: string enum: - user - role id: oneOf: - type: integer - type: string format: uuid readOnly: true description: type: string nullable: true issue: type: object additionalProperties: type: string nullable: true description: Issue linked to this rule readOnly: true order_key: type: integer maximum: 2147483647 minimum: -2147483648 disabled_data: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - assignee - created_at - filters - id - issue - order_key - updated_at ErrorTrackingGroupingRuleAssigneeRequest: type: object properties: type: allOf: - $ref: '#/components/schemas/AssigneeTypeEnum' description: 'Assignee type. Use `user` for a user ID or `role` for a role UUID. * `user` - user * `role` - role' id: oneOf: - type: integer - type: string format: uuid description: User ID when `type` is `user`, or role UUID when `type` is `role`. required: - id - type ErrorTrackingGroupingRuleCreateRequest: type: object properties: filters: allOf: - $ref: '#/components/schemas/PropertyGroupFilterValue' description: Property-group filters that define which exceptions should be grouped into the same issue. assignee: allOf: - $ref: '#/components/schemas/ErrorTrackingGroupingRuleAssigneeRequest' nullable: true description: Optional user or role to assign to issues created by this grouping rule. description: type: string nullable: true description: Optional human-readable description of what this grouping rule is for. required: - filters ErrorTrackingGroupingRuleListResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/ErrorTrackingGroupingRule' required: - results ErrorTrackingIssue: additionalProperties: false properties: aggregations: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueAggregations' nullable: true assignee: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueAssignee' nullable: true cohort: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueCohort' nullable: true description: default: null title: Description type: string nullable: true external_issues: default: null title: External Issues items: $ref: '#/components/schemas/ErrorTrackingExternalReference' type: array nullable: true first_event: default: null allOf: - $ref: '#/components/schemas/FirstEvent' nullable: true first_seen: format: date-time title: First Seen type: string function: default: null title: Function type: string nullable: true id: title: Id type: string last_event: default: null allOf: - $ref: '#/components/schemas/LastEvent' nullable: true last_seen: format: date-time title: Last Seen type: string library: default: null title: Library type: string nullable: true name: default: null title: Name type: string nullable: true source: default: null title: Source type: string nullable: true status: $ref: '#/components/schemas/ErrorTrackingIssueStatus' required: - first_seen - id - last_seen - status title: ErrorTrackingIssue type: object ErrorTrackingIssueAggregations: additionalProperties: false properties: occurrences: title: Occurrences type: number sessions: title: Sessions type: number users: title: Users type: number volumeRange: default: null title: Volumerange items: type: number type: array nullable: true volume_buckets: items: $ref: '#/components/schemas/VolumeBucket' title: Volume Buckets type: array required: - occurrences - sessions - users - volume_buckets title: ErrorTrackingIssueAggregations type: object ErrorTrackingIssueAssignee: additionalProperties: false properties: id: anyOf: - type: string - type: integer title: Id type: $ref: '#/components/schemas/ErrorTrackingIssueAssigneeType' required: - id - type title: ErrorTrackingIssueAssignee type: object ErrorTrackingIssueAssigneeType: enum: - user - role title: ErrorTrackingIssueAssigneeType type: string ErrorTrackingIssueAssignment: type: object properties: id: oneOf: - type: integer - type: string nullable: true readOnly: true type: type: string readOnly: true required: - id - type ErrorTrackingIssueCohort: additionalProperties: false properties: id: title: Id type: number name: title: Name type: string required: - id - name title: ErrorTrackingIssueCohort type: object ErrorTrackingIssueCorrelationQuery: additionalProperties: false properties: events: items: type: string title: Events type: array kind: default: ErrorTrackingIssueCorrelationQuery title: Kind type: string enum: - ErrorTrackingIssueCorrelationQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - events title: ErrorTrackingIssueCorrelationQuery type: object ErrorTrackingIssueCorrelationQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingCorrelatedIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: ErrorTrackingIssueCorrelationQueryResponse type: object ErrorTrackingIssueFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: error_tracking_issue title: Type type: string enum: - error_tracking_issue value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: ErrorTrackingIssueFilter type: object ErrorTrackingIssueFull: type: object properties: id: type: string format: uuid readOnly: true status: $ref: '#/components/schemas/ErrorTrackingIssueFullStatusEnum' name: type: string nullable: true description: type: string nullable: true first_seen: type: string format: date-time assignee: $ref: '#/components/schemas/ErrorTrackingIssueAssignment' external_issues: type: array items: $ref: '#/components/schemas/ErrorTrackingExternalReferenceResult' cohort: type: object nullable: true properties: id: type: integer name: type: string readOnly: true required: - assignee - cohort - external_issues - first_seen - id ErrorTrackingIssueFullStatusEnum: enum: - archived - active - resolved - pending_release - suppressed type: string description: '* `archived` - Archived * `active` - Active * `resolved` - Resolved * `pending_release` - Pending release * `suppressed` - Suppressed' ErrorTrackingIssueMergeRequest: type: object properties: ids: type: array items: type: string format: uuid description: IDs of the issues to merge into the current issue. required: - ids ErrorTrackingIssueMergeResponse: type: object properties: success: type: boolean description: Whether the merge completed successfully. required: - success ErrorTrackingIssueSplitFingerprint: type: object properties: fingerprint: type: string description: Fingerprint to split into a new issue. name: type: string description: Optional name for the new issue created from this fingerprint. description: type: string description: Optional description for the new issue created from this fingerprint. required: - fingerprint ErrorTrackingIssueSplitRequest: type: object properties: fingerprints: type: array items: $ref: '#/components/schemas/ErrorTrackingIssueSplitFingerprint' description: Fingerprints to split into new issues. Each fingerprint becomes its own new issue. ErrorTrackingIssueSplitResponse: type: object properties: success: type: boolean description: Whether the split completed successfully. new_issue_ids: type: array items: type: string format: uuid description: IDs of the new issues created by the split. required: - new_issue_ids - success ErrorTrackingIssueStatus: enum: - archived - active - resolved - pending_release - suppressed title: ErrorTrackingIssueStatus type: string ErrorTrackingOrderBy: enum: - last_seen - first_seen - occurrences - users - sessions title: ErrorTrackingOrderBy type: string ErrorTrackingPendingFingerprintIssueStateUpdate: additionalProperties: false properties: assigned_role_id: default: null title: Assigned Role Id type: string nullable: true assigned_user_id: default: null title: Assigned User Id type: integer nullable: true fingerprint: title: Fingerprint type: string first_seen: description: ISO 8601 datetime string. title: First Seen type: string is_deleted: title: Is Deleted type: integer issue_description: default: null title: Issue Description type: string nullable: true issue_id: title: Issue Id type: string issue_name: default: null title: Issue Name type: string nullable: true issue_status: title: Issue Status type: string version: description: Client-stamped monotonic version (`Date.now()` ms at mutation success). title: Version type: integer required: - fingerprint - first_seen - is_deleted - issue_id - issue_status - version title: ErrorTrackingPendingFingerprintIssueStateUpdate type: object ErrorTrackingQuery: additionalProperties: false properties: assignee: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingIssueAssignee' nullable: true dateRange: description: Date range to filter results. allOf: - $ref: '#/components/schemas/DateRange' filterGroup: default: null allOf: - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true filterTestAccounts: default: null description: Whether to filter out test accounts. title: Filtertestaccounts type: boolean nullable: true groupKey: default: null title: Groupkey type: string nullable: true groupTypeIndex: default: null title: Grouptypeindex type: integer nullable: true issueId: default: null description: Filter to a specific error tracking issue by ID. title: Issueid type: string nullable: true kind: default: ErrorTrackingQuery title: Kind type: string enum: - ErrorTrackingQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: description: Field to sort results by. allOf: - $ref: '#/components/schemas/ErrorTrackingOrderBy' orderDirection: default: null description: Sort direction. allOf: - $ref: '#/components/schemas/OrderDirection2' nullable: true pendingFingerprintIssueStateUpdates: default: null description: Pending fingerprint issue state updates UNIONed into the fingerprint issue state subquery (V3 only). The backend caps the list at 50 entries; extras are dropped silently. title: Pendingfingerprintissuestateupdates items: $ref: '#/components/schemas/ErrorTrackingPendingFingerprintIssueStateUpdate' type: array nullable: true personId: default: null title: Personid type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingQueryResponse' nullable: true searchQuery: default: null description: Free-text search across exception type, message, and stack frames. title: Searchquery type: string nullable: true status: default: null description: Filter by issue status. title: ErrorTrackingQueryStatus anyOf: - $ref: '#/components/schemas/ErrorTrackingIssueStatus' - type: string nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useQueryV2: default: null description: Use V2 query path (ClickHouse postgres connector join instead of separate Postgres queries) title: Usequeryv2 type: boolean nullable: true useQueryV3: default: null description: Use V3 query path (denormalized ClickHouse table, no Postgres joins) title: Usequeryv3 type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true volumeResolution: title: Volumeresolution type: integer withAggregations: default: null title: Withaggregations type: boolean nullable: true withFirstEvent: default: null title: Withfirstevent type: boolean nullable: true withLastEvent: default: null title: Withlastevent type: boolean nullable: true required: - dateRange - orderBy - volumeResolution title: ErrorTrackingQuery type: object ErrorTrackingQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: ErrorTrackingQueryResponse type: object ErrorTrackingRecommendation: type: object properties: id: type: string format: uuid readOnly: true type: type: string readOnly: true meta: readOnly: true computed_at: type: string format: date-time readOnly: true nullable: true dismissed_at: type: string format: date-time readOnly: true nullable: true next_refresh_at: type: string nullable: true readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - computed_at - created_at - dismissed_at - id - meta - next_refresh_at - type - updated_at ErrorTrackingRelease: type: object properties: id: type: string format: uuid readOnly: true hash_id: type: string team_id: type: integer readOnly: true created_at: type: string format: date-time readOnly: true metadata: nullable: true version: type: string project: type: string required: - created_at - hash_id - id - project - team_id - version ErrorTrackingSimilarIssuesQuery: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true issueId: title: Issueid type: string kind: default: ErrorTrackingSimilarIssuesQuery title: Kind type: string enum: - ErrorTrackingSimilarIssuesQuery limit: default: null title: Limit type: integer nullable: true maxDistance: default: null title: Maxdistance type: number nullable: true modelName: default: null allOf: - $ref: '#/components/schemas/EmbeddingModelName' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true rendering: default: null title: Rendering type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/ErrorTrackingSimilarIssuesQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - issueId title: ErrorTrackingSimilarIssuesQuery type: object ErrorTrackingSimilarIssuesQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/SimilarIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: ErrorTrackingSimilarIssuesQueryResponse type: object ErrorTrackingSpikeDetectionConfig: type: object properties: snooze_duration_minutes: type: integer minimum: 1 description: Time to wait before alerting again for the same issue after a spike is detected. multiplier: type: integer minimum: 1 description: The factor by which the current exception count must exceed the baseline to be considered a spike. threshold: type: integer minimum: 1 description: The minimum number of exceptions required in a 5-minute window before a spike can be detected. required: - multiplier - snooze_duration_minutes - threshold ErrorTrackingSpikeEvent: type: object properties: id: type: string format: uuid readOnly: true issue: allOf: - $ref: '#/components/schemas/ErrorTrackingSpikeEventIssue' readOnly: true detected_at: type: string format: date-time readOnly: true computed_baseline: type: number format: double readOnly: true current_bucket_value: type: integer readOnly: true required: - computed_baseline - current_bucket_value - detected_at - id - issue ErrorTrackingSpikeEventIssue: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true nullable: true description: type: string readOnly: true nullable: true required: - description - id - name ErrorTrackingStackFrame: type: object properties: id: type: string format: uuid readOnly: true raw_id: type: string description: Raw frame ID in 'hash/part' format readOnly: true created_at: type: string format: date-time readOnly: true contents: {} resolved: type: boolean context: nullable: true symbol_set_ref: type: string release: allOf: - $ref: '#/components/schemas/ErrorTrackingRelease' readOnly: true required: - contents - created_at - id - raw_id - release - resolved ErrorTrackingSuppressionRule: type: object properties: id: type: string format: uuid readOnly: true filters: {} order_key: type: integer maximum: 2147483647 minimum: -2147483648 disabled_data: nullable: true sampling_rate: type: number format: double created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - filters - id - order_key - updated_at ErrorTrackingSuppressionRuleCreateRequest: type: object properties: filters: allOf: - $ref: '#/components/schemas/PropertyGroupFilterValue' description: Optional property-group filters that define which incoming error events should be suppressed. Omit this field or provide an empty `values` array to create a match-all suppression rule. sampling_rate: type: number format: double maximum: 1.0 minimum: 0.0 default: 1.0 description: Fraction of matching events to suppress. Use `1.0` to suppress all matching events. ErrorTrackingSymbolSet: type: object properties: id: type: string format: uuid readOnly: true ref: type: string team_id: type: integer readOnly: true created_at: type: string format: date-time readOnly: true last_used: type: string format: date-time nullable: true storage_ptr: type: string nullable: true failure_reason: type: string nullable: true release: type: object additionalProperties: true nullable: true description: Release associated with this symbol set readOnly: true required: - created_at - id - ref - release - team_id Evaluation: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Name of the evaluation. maxLength: 400 description: type: string description: Optional description of what this evaluation checks. enabled: type: boolean description: Whether the evaluation runs automatically on new $ai_generation events. status: allOf: - $ref: '#/components/schemas/EvaluationStatusEnum' readOnly: true status_reason: readOnly: true nullable: true oneOf: - $ref: '#/components/schemas/StatusReasonEnum' - $ref: '#/components/schemas/NullEnum' evaluation_type: allOf: - $ref: '#/components/schemas/EvaluationTypeEnum' description: '''llm_judge'' uses an LLM to score outputs against a prompt; ''hog'' runs deterministic Hog code. * `llm_judge` - LLM as a judge * `hog` - Hog' evaluation_config: oneOf: - type: object title: LLM judge config required: - prompt properties: prompt: type: string description: Evaluation criteria for the LLM judge. Describe what makes a good vs bad response. minLength: 1 additionalProperties: false - type: object title: Hog config required: - source properties: source: type: string description: Hog source code. Must return true (pass), false (fail), or null for N/A. minLength: 1 additionalProperties: false description: 'Configuration dict. For ''llm_judge'': {prompt}. For ''hog'': {source}.' output_type: allOf: - $ref: '#/components/schemas/OutputTypeEnum' description: 'Output format. Currently only ''boolean'' is supported. * `boolean` - Boolean (Pass/Fail)' output_config: type: object properties: allows_na: type: boolean description: Whether the evaluation can return N/A for non-applicable generations. default: false additionalProperties: false description: 'Output config. For ''boolean'' output_type: {allows_na} to permit N/A results.' conditions: description: Optional trigger conditions to filter which events are evaluated. OR between condition sets, AND within each. model_configuration: allOf: - $ref: '#/components/schemas/ModelConfiguration' nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean description: Set to true to soft-delete the evaluation. required: - created_at - created_by - evaluation_type - id - name - output_type - status - status_reason - updated_at EvaluationConfig: type: object properties: trial_eval_limit: type: integer readOnly: true description: Maximum number of llm_judge runs the team may execute on PostHog trial credits. trial_evals_used: type: integer readOnly: true description: Number of llm_judge runs already consumed against the trial credit pool. trial_evals_remaining: type: integer readOnly: true description: Number of trial evaluation runs remaining before the team must supply its own provider key. active_provider_key: allOf: - $ref: '#/components/schemas/LLMProviderKey' readOnly: true nullable: true description: Provider key currently used to run llm_judge evaluations. Null when the team is on trial credits. created_at: type: string format: date-time readOnly: true description: Timestamp when the evaluation config row was created. updated_at: type: string format: date-time readOnly: true description: Timestamp when the evaluation config row was last modified. required: - active_provider_key - created_at - trial_eval_limit - trial_evals_remaining - trial_evals_used - updated_at EvaluationConfigSetActiveKeyRequest: type: object properties: key_id: type: string format: uuid description: UUID of an existing LLM provider key (state must be 'ok') to mark as the active key for running llm_judge evaluations team-wide. required: - key_id EvaluationPattern: type: object properties: title: type: string description: type: string frequency: type: string example_generation_ids: type: array items: type: string required: - description - example_generation_ids - frequency - title EvaluationReport: type: object properties: id: type: string format: uuid readOnly: true evaluation: type: string format: uuid description: UUID of the evaluation this report config belongs to. frequency: allOf: - $ref: '#/components/schemas/EvaluationReportFrequencyEnum' description: 'How report generation is triggered. ''every_n'' fires once N new evaluation results have accumulated (subject to cooldown_minutes and daily_run_cap). ''scheduled'' fires on the cadence defined by rrule + starts_at + timezone_name. * `scheduled` - Scheduled * `every_n` - Every N' rrule: type: string description: RFC 5545 recurrence rule string (e.g. 'FREQ=WEEKLY;BYDAY=MO'). Must not contain DTSTART — the anchor is set via starts_at. Required when frequency is 'scheduled'; ignored otherwise. starts_at: type: string format: date-time nullable: true description: Anchor datetime for the rrule (ISO 8601, UTC — must end in 'Z'). Local-time interpretation is controlled by timezone_name. Required when frequency is 'scheduled'; ignored otherwise. timezone_name: type: string description: IANA timezone name used to expand the rrule in local time so e.g. '9am' stays at 9am across DST transitions (e.g. 'America/New_York'). Defaults to 'UTC'. maxLength: 64 next_delivery_date: type: string format: date-time readOnly: true nullable: true delivery_targets: description: 'List of delivery targets. Each entry is either {type: ''email'', value: ''user@example.com''} or {type: ''slack'', integration_id: , channel: ''''}. Slack integration_id must belong to this team.' max_sample_size: type: integer maximum: 2147483647 minimum: -2147483648 description: Maximum number of evaluation runs included in each report. Defaults to 200. enabled: type: boolean description: Whether report delivery is active. Disabled configs do not fire. deleted: type: boolean description: Set to true to soft-delete this report config. last_delivered_at: type: string format: date-time readOnly: true nullable: true report_prompt_guidance: type: string description: Optional custom instructions appended to the AI report prompt to steer focus, scope, or section choices without modifying the base prompt. trigger_threshold: type: integer maximum: 10000 minimum: 10 nullable: true description: Number of new evaluation results that triggers a report (every_n mode only). Min 10, max 10000. Defaults to 100. Required when frequency is 'every_n'. cooldown_minutes: type: integer maximum: 1440 minimum: 60 description: Minimum minutes between count-triggered reports to prevent spam (every_n mode only). Min 60, max 1440 (24 hours). Defaults to 60. daily_run_cap: type: integer maximum: 24 minimum: 1 description: Maximum count-triggered report runs per calendar day (UTC). Min 1, max 24 (one per cooldown window). Defaults to 10. created_by: type: integer readOnly: true nullable: true created_at: type: string format: date-time readOnly: true required: - created_at - created_by - evaluation - id - last_delivered_at - next_delivery_date EvaluationReportFrequencyEnum: enum: - scheduled - every_n type: string description: '* `scheduled` - Scheduled * `every_n` - Every N' EvaluationReportRun: type: object properties: id: type: string format: uuid readOnly: true description: UUID of this report run. report: type: string format: uuid readOnly: true description: UUID of the report config that generated this run. content: readOnly: true description: Generated report content (markdown or structured text). metadata: readOnly: true description: Run metadata including model used, token counts, and generation stats. period_start: type: string format: date-time readOnly: true description: Start of the evaluation window covered by this report. period_end: type: string format: date-time readOnly: true description: End of the evaluation window covered by this report. delivery_status: allOf: - $ref: '#/components/schemas/DeliveryStatusEnum' readOnly: true description: '''pending'', ''delivered'', or ''failed''. * `pending` - Pending * `delivered` - Delivered * `partial_failure` - Partial Failure * `failed` - Failed' delivery_errors: readOnly: true description: List of delivery error messages if delivery failed. created_at: type: string format: date-time readOnly: true required: - content - created_at - delivery_errors - delivery_status - id - metadata - period_end - period_start - report EvaluationRunRequest: type: object properties: evaluation_id: type: string format: uuid description: UUID of the evaluation to run. target_event_id: type: string format: uuid description: UUID of the $ai_generation event to evaluate. timestamp: type: string format: date-time description: ISO 8601 timestamp of the target event (needed for efficient ClickHouse lookup). event: type: string default: $ai_generation description: Event name. Defaults to '$ai_generation'. distinct_id: type: string nullable: true description: Distinct ID of the event (optional, improves lookup performance). required: - evaluation_id - target_event_id - timestamp EvaluationRuntimeEnum: enum: - server - client - all type: string description: '* `server` - Server * `client` - Client * `all` - All' EvaluationStatusEnum: enum: - active - paused - error type: string description: '* `active` - Active * `paused` - Paused * `error` - Error' EvaluationSummaryRequest: type: object description: Request serializer for evaluation summary - accepts IDs only, fetches data server-side. properties: evaluation_id: type: string format: uuid description: UUID of the evaluation config to summarize filter: allOf: - $ref: '#/components/schemas/FilterEnum' default: all description: 'Filter type to apply (''all'', ''pass'', ''fail'', or ''na'') * `all` - all * `pass` - pass * `fail` - fail * `na` - na' generation_ids: type: array items: type: string format: uuid description: 'Optional: specific generation IDs to include in summary (max 250)' maxItems: 250 force_refresh: type: boolean default: false description: If true, bypass cache and generate a fresh summary required: - evaluation_id EvaluationSummaryResponse: type: object properties: overall_assessment: type: string pass_patterns: type: array items: $ref: '#/components/schemas/EvaluationPattern' fail_patterns: type: array items: $ref: '#/components/schemas/EvaluationPattern' na_patterns: type: array items: $ref: '#/components/schemas/EvaluationPattern' recommendations: type: array items: type: string statistics: $ref: '#/components/schemas/EvaluationSummaryStatistics' required: - fail_patterns - na_patterns - overall_assessment - pass_patterns - recommendations - statistics EvaluationSummaryStatistics: type: object properties: total_analyzed: type: integer pass_count: type: integer fail_count: type: integer na_count: type: integer required: - fail_count - na_count - pass_count - total_analyzed EvaluationTypeEnum: enum: - llm_judge - hog type: string description: '* `llm_judge` - LLM as a judge * `hog` - Hog' EventDefinition: additionalProperties: false properties: elements: items: {} title: Elements type: array event: title: Event type: string properties: type: object additionalProperties: true title: Properties required: - elements - event - properties title: EventDefinition type: object EventDefinitionBasic: type: object properties: id: type: string format: uuid name: type: string required: - id - name EventDefinitionRecord: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 created_at: type: string format: date-time nullable: true last_seen_at: type: string format: date-time nullable: true last_updated_at: type: string format: date-time readOnly: true tags: type: array items: {} enforcement_mode: $ref: '#/components/schemas/EnforcementModeEnum' promoted_property: type: string nullable: true description: Name of a single property on this event that PostHog UIs should display alongside the event (for example `$pathname` on `$pageview`). When set, surfaces like the session replay inspector show the property's value next to the event name without the user having to open the event. maxLength: 400 is_action: type: boolean readOnly: true action_id: type: integer readOnly: true is_calculating: type: boolean readOnly: true last_calculated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true post_to_slack: type: boolean default: false required: - action_id - created_by - id - is_action - is_calculating - last_calculated_at - last_updated_at - name EventElement: type: object properties: event: type: string text: type: string nullable: true maxLength: 10000 tag_name: type: string nullable: true maxLength: 1000 attr_class: type: array items: type: string maxLength: 200 nullable: true href: type: string nullable: true maxLength: 10000 attr_id: type: string nullable: true maxLength: 10000 nth_child: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true nth_of_type: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true attributes: {} order: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true required: - event EventFilterConfig: type: object properties: id: type: string format: uuid readOnly: true mode: $ref: '#/components/schemas/EventFilterConfigModeEnum' filter_tree: nullable: true description: 'Boolean expression tree. Nodes: {"type": "and"|"or", "children": [...]}, {"type": "not", "child": {...}}, {"type": "condition", "field": "event_name"|"distinct_id", "operator": "exact"|"contains", "value": ""}' test_cases: description: 'Test events to validate the filter. Each: {"event_name": "...", "distinct_id": "...", "expected_result": "drop"|"ingest"}' created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - id - updated_at EventFilterConfigModeEnum: enum: - disabled - dry_run - live type: string description: '* `disabled` - Disabled * `dry_run` - Dry Run * `live` - Live' EventMetadataPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: event_metadata title: Type type: string enum: - event_metadata value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: EventMetadataPropertyFilter type: object EventOddsRatioSerialized: additionalProperties: false properties: correlation_type: $ref: '#/components/schemas/CorrelationType' event: $ref: '#/components/schemas/EventDefinition' failure_count: title: Failure Count type: integer odds_ratio: title: Odds Ratio type: number success_count: title: Success Count type: integer required: - correlation_type - event - failure_count - odds_ratio - success_count title: EventOddsRatioSerialized type: object EventPropFilter: additionalProperties: false properties: type: allOf: - $ref: '#/components/schemas/EventPropFilterTypeEnum' title: Type key: title: Key type: string value: title: Value operator: default: null title: Operator type: string nullable: true required: - type - key - value title: EventPropFilter type: object EventPropFilterTypeEnum: enum: - event - element type: string EventPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: default: exact allOf: - $ref: '#/components/schemas/PropertyOperator' nullable: true type: default: event description: Event properties title: Type type: string enum: - event value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key title: EventPropertyFilter type: object EventSchema: type: object properties: id: type: string format: uuid readOnly: true event_definition: type: string format: uuid property_group: allOf: - $ref: '#/components/schemas/SchemaPropertyGroup' readOnly: true property_group_id: type: string format: uuid writeOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - event_definition - id - property_group - property_group_id - updated_at EventTaxonomyItem: additionalProperties: false properties: property: title: Property type: string sample_count: title: Sample Count type: integer sample_values: items: type: string title: Sample Values type: array required: - property - sample_count - sample_values title: EventTaxonomyItem type: object EventTaxonomyQuery: additionalProperties: false properties: actionId: default: null title: Actionid type: integer nullable: true event: default: null title: Event type: string nullable: true kind: default: EventTaxonomyQuery title: Kind type: string enum: - EventTaxonomyQuery limit: default: null description: Number of rows to return title: Limit type: integer nullable: true maxPropertyValues: default: null title: Maxpropertyvalues type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null description: Number of rows to skip before returning rows title: Offset type: integer nullable: true properties: default: null title: Properties items: type: string type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/EventTaxonomyQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: EventTaxonomyQuery type: object EventTaxonomyQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/EventTaxonomyItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: EventTaxonomyQueryResponse type: object EventType: additionalProperties: false properties: distinct_id: title: Distinct Id type: string elements: items: $ref: '#/components/schemas/ElementType' title: Elements type: array elements_chain: default: null title: Elements Chain type: string nullable: true event: title: Event type: string id: title: Id type: string person: default: null allOf: - $ref: '#/components/schemas/Person' nullable: true person_id: default: null title: Person Id type: string nullable: true person_mode: default: null title: Person Mode type: string nullable: true properties: type: object additionalProperties: true title: Properties timestamp: title: Timestamp type: string uuid: default: null title: Uuid type: string nullable: true required: - distinct_id - elements - event - id - properties - timestamp title: EventType type: object EventTypeEnum: enum: - $ai_generation - $ai_span - $ai_embedding - $ai_trace type: string description: '* `$ai_generation` - $ai_generation * `$ai_span` - $ai_span * `$ai_embedding` - $ai_embedding * `$ai_trace` - $ai_trace' EventsHeatMapColumnAggregationResult: additionalProperties: false properties: column: title: Column type: integer value: title: Value type: integer required: - column - value title: EventsHeatMapColumnAggregationResult type: object EventsHeatMapDataResult: additionalProperties: false properties: column: title: Column type: integer row: title: Row type: integer value: title: Value type: integer required: - column - row - value title: EventsHeatMapDataResult type: object EventsHeatMapRowAggregationResult: additionalProperties: false properties: row: title: Row type: integer value: title: Value type: integer required: - row - value title: EventsHeatMapRowAggregationResult type: object EventsHeatMapStructuredResult: additionalProperties: false properties: allAggregations: title: Allaggregations type: integer columnAggregations: items: $ref: '#/components/schemas/EventsHeatMapColumnAggregationResult' title: Columnaggregations type: array data: items: $ref: '#/components/schemas/EventsHeatMapDataResult' title: Data type: array rowAggregations: items: $ref: '#/components/schemas/EventsHeatMapRowAggregationResult' title: Rowaggregations type: array required: - allAggregations - columnAggregations - data - rowAggregations title: EventsHeatMapStructuredResult type: object EventsNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true event: default: null description: The event or `null` for all events. title: Event type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: EventsNode title: Kind type: string enum: - EventsNode limit: default: null title: Limit type: integer nullable: true math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true orderBy: default: null description: Columns to order by title: Orderby items: type: string type: array nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: EventsNode type: object EventsQuery: additionalProperties: false properties: actionId: default: null description: Show events matching a given action title: Actionid type: integer nullable: true actionSteps: default: null description: Show events matching action steps directly, used when no actionId is provided (e.g. previewing unsaved actions). Ignored if actionId is set. title: Actionsteps items: $ref: '#/components/schemas/EventsQueryActionStep' type: array nullable: true after: default: null description: Only fetch events that happened after this timestamp title: After type: string nullable: true before: default: null description: Only fetch events that happened before this timestamp title: Before type: string nullable: true event: default: null description: Limit to events matching this string title: Event type: string nullable: true events: default: null description: Filter to events matching any of these event names title: Events items: type: string type: array nullable: true filterTestAccounts: default: null description: Filter test accounts title: Filtertestaccounts type: boolean nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/PropertyGroupFilter' - $ref: '#/components/schemas/PropertyGroupFilterValue' - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: EventsQuery title: Kind type: string enum: - EventsQuery limit: default: null description: Number of rows to return title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null description: Number of rows to skip before returning rows title: Offset type: integer nullable: true orderBy: default: null description: Columns to order by title: Orderby items: type: string type: array nullable: true personId: default: null description: Show events for a given person title: Personid type: string nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/EventsQueryResponse' nullable: true select: description: Return a limited set of data. Required. items: type: string title: Select type: array source: default: null description: source for querying events for insights allOf: - $ref: '#/components/schemas/InsightActorsQuery' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true where: default: null description: HogQL filters to apply on returned data title: Where items: type: string type: array nullable: true required: - select title: EventsQuery type: object EventsQueryActionStep: additionalProperties: false properties: event: default: null title: Event type: string nullable: true href: default: null title: Href type: string nullable: true href_matching: default: null allOf: - $ref: '#/components/schemas/HrefMatching' nullable: true properties: default: null title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true selector: default: null title: Selector type: string nullable: true tag_name: default: null title: Tag Name type: string nullable: true text: default: null title: Text type: string nullable: true text_matching: default: null allOf: - $ref: '#/components/schemas/TextMatching' nullable: true url: default: null title: Url type: string nullable: true url_matching: default: null allOf: - $ref: '#/components/schemas/UrlMatching' nullable: true title: EventsQueryActionStep type: object EventsQueryResponse: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: EventsQueryResponse type: object ExistenceOperatorEnum: enum: - is_set - is_not_set type: string description: '* `is_set` - is_set * `is_not_set` - is_not_set' ExistencePropertyFilter: type: object description: Checks whether a property is set or not, without comparing values. properties: key: type: string description: Key of the property you're filtering on. For example `email` or `$current_url`. type: allOf: - $ref: '#/components/schemas/PropertyFilterTypeEnum' default: event description: 'Property type (event, person, session, etc.). * `event` - event * `event_metadata` - event_metadata * `feature` - feature * `person` - person * `cohort` - cohort * `element` - element * `static-cohort` - static-cohort * `dynamic-cohort` - dynamic-cohort * `precalculated-cohort` - precalculated-cohort * `group` - group * `recording` - recording * `log_entry` - log_entry * `behavioral` - behavioral * `session` - session * `hogql` - hogql * `data_warehouse` - data_warehouse * `data_warehouse_person_property` - data_warehouse_person_property * `error_tracking_issue` - error_tracking_issue * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute * `span` - span * `span_attribute` - span_attribute * `span_resource_attribute` - span_resource_attribute * `revenue_analytics` - revenue_analytics * `flag` - flag * `workflow_variable` - workflow_variable' operator: allOf: - $ref: '#/components/schemas/ExistenceOperatorEnum' description: 'Existence check operator. * `is_set` - is_set * `is_not_set` - is_not_set' required: - key - operator ExitConditionEnum: enum: - exit_on_conversion - exit_on_trigger_not_matched - exit_on_trigger_not_matched_or_conversion - exit_only_at_end type: string description: '* `exit_on_conversion` - Conversion * `exit_on_trigger_not_matched` - Trigger Not Matched * `exit_on_trigger_not_matched_or_conversion` - Trigger Not Matched Or Conversion * `exit_only_at_end` - Only At End' Experiment: type: object description: Mixin for serializers to add user access control fields properties: id: type: integer readOnly: true name: type: string description: Name of the experiment. maxLength: 400 description: type: string nullable: true description: Description of the experiment hypothesis and expected outcomes. maxLength: 3000 start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true feature_flag_key: type: string description: Unique key for the experiment's feature flag. Letters, numbers, hyphens, and underscores only. Search existing flags with the feature-flags-get-all tool first — reuse an existing flag when possible. feature_flag: type: object additionalProperties: true readOnly: true holdout: allOf: - $ref: '#/components/schemas/ExperimentHoldout' readOnly: true holdout_id: type: integer nullable: true description: ID of a holdout group to exclude from the experiment. exposure_cohort: type: integer readOnly: true nullable: true parameters: allOf: - $ref: '#/components/schemas/ExperimentParameters' nullable: true description: 'Variant definitions and rollout configuration. Set feature_flag_variants to customize the split (default: 50/50 control/test). Each variant needs a key and split_percent (the variant''s share of traffic); percentages must sum to 100. Set rollout_percentage (0-100, default 100) to limit what fraction of users enter the experiment. Set minimum_detectable_effect (percentage, suggest 20-30) to control statistical power.' secondary_metrics: nullable: true saved_metrics: type: array items: $ref: '#/components/schemas/ExperimentToSavedMetric' readOnly: true saved_metrics_ids: type: array items: {} nullable: true description: IDs of shared saved metrics to attach to this experiment. Each item has 'id' (saved metric ID) and 'metadata' with 'type' (primary or secondary). filters: {} archived: type: boolean default: false description: Whether the experiment is archived. deleted: type: boolean nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true type: nullable: true description: 'Experiment type: web for frontend UI changes, product for backend/API changes. * `web` - web * `product` - product' oneOf: - $ref: '#/components/schemas/ExperimentTypeEnum' - $ref: '#/components/schemas/NullEnum' exposure_criteria: allOf: - $ref: '#/components/schemas/ExperimentApiExposureCriteria' nullable: true description: Exposure configuration including filter test accounts and custom exposure events. metrics: allOf: - $ref: '#/components/schemas/_ExperimentApiMetricsList' nullable: true description: 'Primary experiment metrics. Each metric must have kind=''ExperimentMetric'' and a metric_type: ''mean'' (set source to an EventsNode with an event name), ''funnel'' (set series to an array of EventsNode steps), ''ratio'' (set numerator and denominator EventsNode entries), or ''retention'' (set start_event and completion_event). Use the event-definitions-list tool to find available events in the project.' metrics_secondary: allOf: - $ref: '#/components/schemas/_ExperimentApiMetricsList' nullable: true description: Secondary metrics for additional measurements. Same format as primary metrics. stats_config: nullable: true scheduling_config: nullable: true allow_unknown_events: type: boolean writeOnly: true default: false _create_in_folder: type: string writeOnly: true title: ' create in folder' conclusion: nullable: true description: 'Experiment conclusion: won, lost, inconclusive, stopped_early, or invalid. * `won` - won * `lost` - lost * `inconclusive` - inconclusive * `stopped_early` - stopped_early * `invalid` - invalid' oneOf: - $ref: '#/components/schemas/ConclusionEnum' - $ref: '#/components/schemas/NullEnum' conclusion_comment: type: string nullable: true description: Comment about the experiment conclusion. primary_metrics_ordered_uuids: nullable: true secondary_metrics_ordered_uuids: nullable: true only_count_matured_users: type: boolean update_feature_flag_params: type: boolean writeOnly: true default: false description: When true, sync feature flag configuration from parameters to the linked feature flag. Draft experiments always sync regardless of update_feature_flag_params, so only required for non-drafts. status: allOf: - $ref: '#/components/schemas/ExperimentStatusEnum' readOnly: true description: 'Experiment lifecycle state: ''draft'' (not yet launched), ''running'' (launched with active feature flag), ''paused'' (running with feature flag deactivated — virtual state derived from feature_flag.active, not stored), ''stopped'' (ended).' user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - created_at - created_by - exposure_cohort - feature_flag - feature_flag_key - holdout - id - name - saved_metrics - status - updated_at - user_access_level ExperimentActorsQuery: additionalProperties: false properties: exposureConfig: default: null description: Exposure configuration for filtering events. Defines when users were first exposed to the experiment. title: Exposureconfig anyOf: - $ref: '#/components/schemas/ExperimentEventExposureConfig' - $ref: '#/components/schemas/ActionsNode' nullable: true featureFlagKey: default: null description: Feature flag key for breakdown filtering. title: Featureflagkey type: string nullable: true funnelStep: default: null description: Index of the step for which we want to get actors for, per experiment variant. Positive for converted persons, negative for dropped off persons. title: Funnelstep type: integer nullable: true funnelStepBreakdown: default: null description: The variant key for filtering actors. For experiments, this filters by feature flag variant (e.g., 'control', 'test'). title: Funnelstepbreakdown anyOf: - type: integer - type: string - type: number - items: anyOf: - type: integer - type: string - type: number type: array nullable: true includeRecordings: default: null title: Includerecordings type: boolean nullable: true kind: default: ExperimentActorsQuery title: Kind type: string enum: - ExperimentActorsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true multipleVariantHandling: default: null description: How to handle users with multiple variant exposures. allOf: - $ref: '#/components/schemas/MultipleVariantHandling' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ActorsQueryResponse' nullable: true source: $ref: '#/components/schemas/ExperimentQuery' tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: ExperimentActorsQuery type: object ExperimentApiEventSource: additionalProperties: false properties: event: default: null description: Event name, e.g. '$pageview'. Required for EventsNode. title: Event type: string nullable: true id: default: null description: Action ID. Required for ActionsNode. title: Id type: integer nullable: true kind: $ref: '#/components/schemas/Kind' properties: default: null description: Event property filters to narrow which events are counted. title: Properties items: $ref: '#/components/schemas/EventPropertyFilter' type: array nullable: true required: - kind title: ExperimentApiEventSource type: object ExperimentApiExposureConfig: additionalProperties: false properties: event: description: Custom exposure event name. title: Event type: string kind: default: ExperimentEventExposureConfig title: Kind type: string enum: - ExperimentEventExposureConfig properties: type: array items: $ref: '#/components/schemas/EventPropertyFilter' description: Event property filters. Pass an empty array if no filters needed. title: Properties required: - event - properties title: ExperimentApiExposureConfig type: object ExperimentApiExposureCriteria: additionalProperties: false properties: exposure_config: default: null allOf: - $ref: '#/components/schemas/ExperimentApiExposureConfig' nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true title: ExperimentApiExposureCriteria type: object ExperimentApiMetric: additionalProperties: false properties: completion_event: default: null description: 'For retention metrics: completion event.' allOf: - $ref: '#/components/schemas/ExperimentApiEventSource' nullable: true conversion_window: default: null description: Conversion window duration. title: Conversion Window type: integer nullable: true denominator: default: null description: 'For ratio metrics: denominator source.' allOf: - $ref: '#/components/schemas/ExperimentApiEventSource' nullable: true goal: default: null description: Whether higher or lower values indicate success. allOf: - $ref: '#/components/schemas/ExperimentMetricGoal' nullable: true kind: default: ExperimentMetric title: Kind type: string enum: - ExperimentMetric metric_type: $ref: '#/components/schemas/ExperimentMetricType' name: default: null description: Human-readable metric name. title: Name type: string nullable: true numerator: default: null description: 'For ratio metrics: numerator source.' allOf: - $ref: '#/components/schemas/ExperimentApiEventSource' nullable: true retention_window_end: default: null title: Retention Window End type: integer nullable: true retention_window_start: default: null title: Retention Window Start type: integer nullable: true retention_window_unit: default: null allOf: - $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' nullable: true series: default: null description: 'For funnel metrics: array of EventsNode/ActionsNode steps.' title: Series items: $ref: '#/components/schemas/ExperimentApiEventSource' type: array nullable: true source: default: null description: 'For mean metrics: event source.' allOf: - $ref: '#/components/schemas/ExperimentApiEventSource' nullable: true start_event: default: null description: 'For retention metrics: start event.' allOf: - $ref: '#/components/schemas/ExperimentApiEventSource' nullable: true start_handling: default: null allOf: - $ref: '#/components/schemas/StartHandling' nullable: true uuid: default: null description: Unique identifier. Auto-generated if omitted. title: Uuid type: string nullable: true required: - metric_type title: ExperimentApiMetric type: object ExperimentBreakdownResult: additionalProperties: false properties: baseline: description: Control variant stats for this breakdown allOf: - $ref: '#/components/schemas/ExperimentStatsBaseValidated' breakdown_value: description: The breakdown values as an array (e.g., ["MacOS", "Chrome"] for multi-breakdown, ["Chrome"] for single) Although `BreakdownKeyType` could be an array, we only use the array form for the breakdown_value. The way `BreakdownKeyType` is defined is problematic. It should be treated as a primitive and allow for the types using it to define if it's and array or an optional value. items: anyOf: - type: string - type: number - type: integer title: Breakdown Value type: array variants: anyOf: - items: $ref: '#/components/schemas/ExperimentVariantResultFrequentist' type: array - items: $ref: '#/components/schemas/ExperimentVariantResultBayesian' type: array description: Test variant results with statistical comparisons for this breakdown title: Variants required: - baseline - breakdown_value - variants title: ExperimentBreakdownResult type: object ExperimentDataWarehouseNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true data_warehouse_join_key: title: Data Warehouse Join Key type: string events_join_key: title: Events Join Key type: string fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: ExperimentDataWarehouseNode title: Kind type: string enum: - ExperimentDataWarehouseNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true table_name: title: Table Name type: string timestamp_field: title: Timestamp Field type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - data_warehouse_join_key - events_join_key - table_name - timestamp_field title: ExperimentDataWarehouseNode type: object ExperimentEventExposureConfig: additionalProperties: false properties: event: title: Event type: string kind: default: ExperimentEventExposureConfig title: Kind type: string enum: - ExperimentEventExposureConfig properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' title: Properties response: default: null title: Response additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - event - properties title: ExperimentEventExposureConfig type: object ExperimentExposureCriteria: additionalProperties: false properties: exposure_config: default: null title: Exposure Config anyOf: - $ref: '#/components/schemas/ExperimentEventExposureConfig' - $ref: '#/components/schemas/ActionsNode' nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true multiple_variant_handling: default: null allOf: - $ref: '#/components/schemas/MultipleVariantHandling' nullable: true title: ExperimentExposureCriteria type: object ExperimentExposureQuery: additionalProperties: false properties: end_date: default: null title: End Date type: string nullable: true experiment_id: default: null title: Experiment Id type: integer nullable: true experiment_name: title: Experiment Name type: string exposure_criteria: default: null allOf: - $ref: '#/components/schemas/ExperimentExposureCriteria' nullable: true feature_flag: additionalProperties: true title: Feature Flag type: object holdout: default: null allOf: - $ref: '#/components/schemas/ExperimentHoldoutType' nullable: true kind: default: ExperimentExposureQuery title: Kind type: string enum: - ExperimentExposureQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ExperimentExposureQueryResponse' nullable: true start_date: default: null title: Start Date type: string nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - experiment_name - feature_flag title: ExperimentExposureQuery type: object ExperimentExposureQueryResponse: additionalProperties: false properties: bias_risk: default: null allOf: - $ref: '#/components/schemas/BiasRisk' nullable: true date_range: $ref: '#/components/schemas/DateRange' kind: default: ExperimentExposureQuery title: Kind type: string enum: - ExperimentExposureQuery sample_ratio_mismatch: default: null allOf: - $ref: '#/components/schemas/SampleRatioMismatch' nullable: true timeseries: items: $ref: '#/components/schemas/ExperimentExposureTimeSeries' title: Timeseries type: array total_exposures: additionalProperties: type: number title: Total Exposures type: object required: - date_range - timeseries - total_exposures title: ExperimentExposureQueryResponse type: object ExperimentExposureTimeSeries: additionalProperties: false properties: days: items: type: string title: Days type: array exposure_counts: items: type: number title: Exposure Counts type: array variant: title: Variant type: string required: - days - exposure_counts - variant title: ExperimentExposureTimeSeries type: object ExperimentFunnelMetric: additionalProperties: false properties: breakdownFilter: default: null allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true conversion_window: default: null title: Conversion Window type: integer nullable: true conversion_window_unit: default: null allOf: - $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' nullable: true fingerprint: default: null title: Fingerprint type: string nullable: true funnel_order_type: default: null allOf: - $ref: '#/components/schemas/StepOrderValue' nullable: true goal: default: null allOf: - $ref: '#/components/schemas/ExperimentMetricGoal' nullable: true isSharedMetric: default: null title: Issharedmetric type: boolean nullable: true kind: default: ExperimentMetric title: Kind type: string enum: - ExperimentMetric metric_type: default: funnel title: Metric Type type: string enum: - funnel name: default: null title: Name type: string nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true series: items: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/ExperimentDataWarehouseNode' title: Series type: array sharedMetricId: default: null title: Sharedmetricid type: number nullable: true uuid: default: null title: Uuid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - series title: ExperimentFunnelMetric type: object ExperimentFunnelsQuery: additionalProperties: false properties: experiment_id: default: null title: Experiment Id type: integer nullable: true fingerprint: default: null title: Fingerprint type: string nullable: true funnels_query: $ref: '#/components/schemas/FunnelsQuery' kind: default: ExperimentFunnelsQuery title: Kind type: string enum: - ExperimentFunnelsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true name: default: null title: Name type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/ExperimentFunnelsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true uuid: default: null title: Uuid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - funnels_query title: ExperimentFunnelsQuery type: object ExperimentFunnelsQueryResponse: additionalProperties: false properties: credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object expected_loss: title: Expected Loss type: number funnels_query: default: null allOf: - $ref: '#/components/schemas/FunnelsQuery' nullable: true insight: items: items: additionalProperties: true type: object type: array title: Insight type: array kind: default: ExperimentFunnelsQuery title: Kind type: string enum: - ExperimentFunnelsQuery probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantFunnelsBaseStats' title: Variants type: array required: - credible_intervals - expected_loss - insight - probability - significance_code - significant - variants title: ExperimentFunnelsQueryResponse type: object ExperimentHoldout: type: object properties: id: type: integer readOnly: true name: type: string maxLength: 400 description: type: string nullable: true maxLength: 400 filters: {} created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - created_by - id - name - updated_at ExperimentHoldoutType: additionalProperties: false properties: created_at: default: null title: Created At type: string nullable: true created_by: default: null allOf: - $ref: '#/components/schemas/UserBasicType' nullable: true description: default: null title: Description type: string nullable: true filters: items: $ref: '#/components/schemas/FeatureFlagGroupType' title: Filters type: array id: default: null title: Id type: number nullable: true name: title: Name type: string updated_at: default: null title: Updated At type: string nullable: true required: - filters - name title: ExperimentHoldoutType type: object ExperimentMeanMetric: additionalProperties: false properties: breakdownFilter: default: null allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true conversion_window: default: null title: Conversion Window type: integer nullable: true conversion_window_unit: default: null allOf: - $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' nullable: true fingerprint: default: null title: Fingerprint type: string nullable: true goal: default: null allOf: - $ref: '#/components/schemas/ExperimentMetricGoal' nullable: true ignore_zeros: default: null title: Ignore Zeros type: boolean nullable: true isSharedMetric: default: null title: Issharedmetric type: boolean nullable: true kind: default: ExperimentMetric title: Kind type: string enum: - ExperimentMetric lower_bound_percentile: default: null title: Lower Bound Percentile type: number nullable: true metric_type: default: mean title: Metric Type type: string enum: - mean name: default: null title: Name type: string nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true sharedMetricId: default: null title: Sharedmetricid type: number nullable: true source: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/ExperimentDataWarehouseNode' title: Source upper_bound_percentile: default: null title: Upper Bound Percentile type: number nullable: true uuid: default: null title: Uuid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: ExperimentMeanMetric type: object ExperimentMetricGoal: enum: - increase - decrease title: ExperimentMetricGoal type: string ExperimentMetricKindEnum: enum: - categorical - numeric - boolean type: string description: '* `categorical` - categorical * `numeric` - numeric * `boolean` - boolean' ExperimentMetricMathType: enum: - total - sum - unique_session - min - max - avg - dau - unique_group - hogql title: ExperimentMetricMathType type: string ExperimentMetricType: enum: - funnel - mean - ratio - retention title: ExperimentMetricType type: string ExperimentParameters: additionalProperties: false properties: feature_flag_variants: default: null description: Experiment variants. If not specified, defaults to a 50/50 control/test split. title: Feature Flag Variants items: $ref: '#/components/schemas/ExperimentVariant' type: array nullable: true minimum_detectable_effect: default: null description: Minimum detectable effect as a percentage. Lower values need more users but catch smaller changes. Suggest 20–30% for most experiments. title: Minimum Detectable Effect type: number nullable: true rollout_percentage: default: null description: 'Overall rollout percentage (0-100). Controls what fraction of all users enter the experiment. Users outside the rollout never see any variant and are excluded from analysis. Default: 100.' title: Rollout Percentage type: number nullable: true title: ExperimentParameters type: object ExperimentQuery: additionalProperties: false properties: experiment_id: default: null title: Experiment Id type: integer nullable: true kind: default: ExperimentQuery title: Kind type: string enum: - ExperimentQuery metric: anyOf: - $ref: '#/components/schemas/ExperimentMeanMetric' - $ref: '#/components/schemas/ExperimentFunnelMetric' - $ref: '#/components/schemas/ExperimentRatioMetric' - $ref: '#/components/schemas/ExperimentRetentionMetric' title: Metric modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true name: default: null title: Name type: string nullable: true precomputation_mode: default: null allOf: - $ref: '#/components/schemas/PrecomputationMode' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ExperimentQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - metric title: ExperimentQuery type: object ExperimentQueryResponse: additionalProperties: false properties: baseline: default: null allOf: - $ref: '#/components/schemas/ExperimentStatsBaseValidated' nullable: true breakdown_results: default: null description: Results grouped by breakdown value. When present, baseline and variant_results contain aggregated data. title: Breakdown Results items: $ref: '#/components/schemas/ExperimentBreakdownResult' type: array nullable: true clickhouse_sql: default: null title: Clickhouse Sql type: string nullable: true credible_intervals: default: null title: Credible Intervals additionalProperties: items: type: number type: array type: object nullable: true hogql: default: null title: Hogql type: string nullable: true insight: default: null title: Insight items: additionalProperties: true type: object type: array nullable: true is_precomputed: default: null description: Whether exposures were served from the precomputation system title: Is Precomputed type: boolean nullable: true kind: default: ExperimentQuery title: Kind type: string enum: - ExperimentQuery metric: default: null title: Metric anyOf: - $ref: '#/components/schemas/ExperimentMeanMetric' - $ref: '#/components/schemas/ExperimentFunnelMetric' - $ref: '#/components/schemas/ExperimentRatioMetric' - $ref: '#/components/schemas/ExperimentRetentionMetric' nullable: true p_value: default: null title: P Value type: number nullable: true probability: default: null title: Probability additionalProperties: type: number type: object nullable: true significance_code: default: null allOf: - $ref: '#/components/schemas/ExperimentSignificanceCode' nullable: true significant: default: null title: Significant type: boolean nullable: true stats_version: default: null title: Stats Version type: integer nullable: true variant_results: default: null title: Variant Results anyOf: - items: $ref: '#/components/schemas/ExperimentVariantResultFrequentist' type: array - items: $ref: '#/components/schemas/ExperimentVariantResultBayesian' type: array nullable: true variants: default: null title: Variants anyOf: - items: $ref: '#/components/schemas/ExperimentVariantTrendsBaseStats' type: array - items: $ref: '#/components/schemas/ExperimentVariantFunnelsBaseStats' type: array nullable: true title: ExperimentQueryResponse type: object ExperimentRatioMetric: additionalProperties: false properties: breakdownFilter: default: null allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true conversion_window: default: null title: Conversion Window type: integer nullable: true conversion_window_unit: default: null allOf: - $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' nullable: true denominator: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/ExperimentDataWarehouseNode' title: Denominator fingerprint: default: null title: Fingerprint type: string nullable: true goal: default: null allOf: - $ref: '#/components/schemas/ExperimentMetricGoal' nullable: true isSharedMetric: default: null title: Issharedmetric type: boolean nullable: true kind: default: ExperimentMetric title: Kind type: string enum: - ExperimentMetric metric_type: default: ratio title: Metric Type type: string enum: - ratio name: default: null title: Name type: string nullable: true numerator: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/ExperimentDataWarehouseNode' title: Numerator response: default: null title: Response additionalProperties: true type: object nullable: true sharedMetricId: default: null title: Sharedmetricid type: number nullable: true uuid: default: null title: Uuid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - denominator - numerator title: ExperimentRatioMetric type: object ExperimentRetentionMetric: additionalProperties: false properties: breakdownFilter: default: null allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true completion_event: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/ExperimentDataWarehouseNode' title: Completion Event conversion_window: default: null title: Conversion Window type: integer nullable: true conversion_window_unit: default: null allOf: - $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' nullable: true fingerprint: default: null title: Fingerprint type: string nullable: true goal: default: null allOf: - $ref: '#/components/schemas/ExperimentMetricGoal' nullable: true isSharedMetric: default: null title: Issharedmetric type: boolean nullable: true kind: default: ExperimentMetric title: Kind type: string enum: - ExperimentMetric metric_type: default: retention title: Metric Type type: string enum: - retention name: default: null title: Name type: string nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true retention_window_end: title: Retention Window End type: integer retention_window_start: title: Retention Window Start type: integer retention_window_unit: $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' sharedMetricId: default: null title: Sharedmetricid type: number nullable: true start_event: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/ExperimentDataWarehouseNode' title: Start Event start_handling: $ref: '#/components/schemas/StartHandling' uuid: default: null title: Uuid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - completion_event - retention_window_end - retention_window_start - retention_window_unit - start_event - start_handling title: ExperimentRetentionMetric type: object ExperimentSavedMetric: type: object description: Mixin for serializers to add user access control fields properties: id: type: integer readOnly: true name: type: string maxLength: 400 description: type: string nullable: true maxLength: 400 query: {} created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true tags: type: array items: {} user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - created_at - created_by - id - name - query - updated_at - user_access_level ExperimentSignificanceCode: enum: - significant - not_enough_exposure - low_win_probability - high_loss - high_p_value title: ExperimentSignificanceCode type: string ExperimentStatsBaseValidated: additionalProperties: false properties: covariate_sum: default: null title: Covariate Sum type: number nullable: true covariate_sum_product: default: null title: Covariate Sum Product type: number nullable: true covariate_sum_squares: default: null title: Covariate Sum Squares type: number nullable: true denominator_sum: default: null title: Denominator Sum type: number nullable: true denominator_sum_squares: default: null title: Denominator Sum Squares type: number nullable: true key: title: Key type: string number_of_samples: title: Number Of Samples type: integer numerator_denominator_sum_product: default: null title: Numerator Denominator Sum Product type: number nullable: true step_counts: default: null title: Step Counts items: type: integer type: array nullable: true step_sessions: default: null title: Step Sessions items: items: $ref: '#/components/schemas/SessionData' type: array type: array nullable: true sum: title: Sum type: number sum_squares: title: Sum Squares type: number validation_failures: default: null title: Validation Failures items: $ref: '#/components/schemas/ExperimentStatsValidationFailure' type: array nullable: true required: - key - number_of_samples - sum - sum_squares title: ExperimentStatsBaseValidated type: object ExperimentStatsValidationFailure: enum: - not-enough-exposures - baseline-mean-is-zero - not-enough-metric-data title: ExperimentStatsValidationFailure type: string ExperimentStatusEnum: type: string enum: - draft - running - paused - stopped ExperimentToSavedMetric: type: object properties: id: type: integer readOnly: true experiment: type: integer saved_metric: type: integer metadata: {} created_at: type: string format: date-time readOnly: true query: readOnly: true name: type: string readOnly: true required: - created_at - experiment - id - name - query - saved_metric ExperimentTrendsQuery: additionalProperties: false properties: count_query: $ref: '#/components/schemas/TrendsQuery' experiment_id: default: null title: Experiment Id type: integer nullable: true exposure_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true fingerprint: default: null title: Fingerprint type: string nullable: true kind: default: ExperimentTrendsQuery title: Kind type: string enum: - ExperimentTrendsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true name: default: null title: Name type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/ExperimentTrendsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true uuid: default: null title: Uuid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - count_query title: ExperimentTrendsQuery type: object ExperimentTrendsQueryResponse: additionalProperties: false properties: count_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object exposure_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true insight: items: additionalProperties: true type: object title: Insight type: array kind: default: ExperimentTrendsQuery title: Kind type: string enum: - ExperimentTrendsQuery p_value: title: P Value type: number probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantTrendsBaseStats' title: Variants type: array required: - credible_intervals - insight - p_value - probability - significance_code - significant - variants title: ExperimentTrendsQueryResponse type: object ExperimentTypeEnum: enum: - web - product type: string description: '* `web` - web * `product` - product' ExperimentVariant: additionalProperties: false properties: key: description: Variant key, e.g. 'control', 'test', 'variant_a'. title: Key type: string name: default: null description: Human-readable variant name. title: Name type: string nullable: true rollout_percentage: default: null title: Rollout Percentage type: number nullable: true split_percent: default: null description: Percentage of users assigned to this variant (0–100). All variants must sum to 100. One of split_percent (recommended) or rollout_percentage must be provided. title: Split Percent type: number nullable: true required: - key title: ExperimentVariant type: object ExperimentVariantFunnelsBaseStats: additionalProperties: false properties: failure_count: title: Failure Count type: number key: title: Key type: string success_count: title: Success Count type: number required: - failure_count - key - success_count title: ExperimentVariantFunnelsBaseStats type: object ExperimentVariantResultBayesian: additionalProperties: false properties: chance_to_win: default: null title: Chance To Win type: number nullable: true covariate_sum: default: null title: Covariate Sum type: number nullable: true covariate_sum_product: default: null title: Covariate Sum Product type: number nullable: true covariate_sum_squares: default: null title: Covariate Sum Squares type: number nullable: true credible_interval: default: null title: Credible Interval items: type: number maxItems: 2 minItems: 2 type: array nullable: true denominator_sum: default: null title: Denominator Sum type: number nullable: true denominator_sum_squares: default: null title: Denominator Sum Squares type: number nullable: true key: title: Key type: string method: default: bayesian title: Method type: string enum: - bayesian number_of_samples: title: Number Of Samples type: integer numerator_denominator_sum_product: default: null title: Numerator Denominator Sum Product type: number nullable: true significant: default: null title: Significant type: boolean nullable: true step_counts: default: null title: Step Counts items: type: integer type: array nullable: true step_sessions: default: null title: Step Sessions items: items: $ref: '#/components/schemas/SessionData' type: array type: array nullable: true sum: title: Sum type: number sum_squares: title: Sum Squares type: number validation_failures: default: null title: Validation Failures items: $ref: '#/components/schemas/ExperimentStatsValidationFailure' type: array nullable: true required: - key - number_of_samples - sum - sum_squares title: ExperimentVariantResultBayesian type: object ExperimentVariantResultFrequentist: additionalProperties: false properties: confidence_interval: default: null title: Confidence Interval items: type: number maxItems: 2 minItems: 2 type: array nullable: true covariate_sum: default: null title: Covariate Sum type: number nullable: true covariate_sum_product: default: null title: Covariate Sum Product type: number nullable: true covariate_sum_squares: default: null title: Covariate Sum Squares type: number nullable: true denominator_sum: default: null title: Denominator Sum type: number nullable: true denominator_sum_squares: default: null title: Denominator Sum Squares type: number nullable: true key: title: Key type: string method: default: frequentist title: Method type: string enum: - frequentist number_of_samples: title: Number Of Samples type: integer numerator_denominator_sum_product: default: null title: Numerator Denominator Sum Product type: number nullable: true p_value: default: null title: P Value type: number nullable: true significant: default: null title: Significant type: boolean nullable: true step_counts: default: null title: Step Counts items: type: integer type: array nullable: true step_sessions: default: null title: Step Sessions items: items: $ref: '#/components/schemas/SessionData' type: array type: array nullable: true sum: title: Sum type: number sum_squares: title: Sum Squares type: number validation_failures: default: null title: Validation Failures items: $ref: '#/components/schemas/ExperimentStatsValidationFailure' type: array nullable: true required: - key - number_of_samples - sum - sum_squares title: ExperimentVariantResultFrequentist type: object ExperimentVariantTrendsBaseStats: additionalProperties: false properties: absolute_exposure: title: Absolute Exposure type: number count: title: Count type: number exposure: title: Exposure type: number key: title: Key type: string required: - absolute_exposure - count - exposure - key title: ExperimentVariantTrendsBaseStats type: object ExplainRequest: type: object properties: uuid: type: string description: UUID of the log entry to explain timestamp: type: string format: date-time description: Timestamp of the log entry (used for efficient lookup) force_refresh: type: boolean default: false description: Force regenerate explanation, bypassing cache required: - timestamp - uuid ExportFormatEnum: enum: - image/png - application/pdf - text/csv - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - video/webm - video/mp4 - image/gif - application/json type: string description: '* `image/png` - image/png * `application/pdf` - application/pdf * `text/csv` - text/csv * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet * `video/webm` - video/webm * `video/mp4` - video/mp4 * `image/gif` - image/gif * `application/json` - application/json' ExportedAsset: type: object description: Standard ExportedAsset serializer that doesn't return content. properties: id: type: integer readOnly: true dashboard: type: integer nullable: true insight: type: integer nullable: true export_format: $ref: '#/components/schemas/ExportFormatEnum' created_at: type: string format: date-time readOnly: true has_content: type: boolean readOnly: true export_context: nullable: true filename: type: string readOnly: true expires_after: type: string format: date-time readOnly: true nullable: true exception: type: string readOnly: true nullable: true required: - created_at - exception - expires_after - export_format - filename - has_content - id ExternalDataSchema: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true label: type: string readOnly: true nullable: true table: type: object additionalProperties: true nullable: true readOnly: true should_sync: type: boolean last_synced_at: type: string format: date-time readOnly: true nullable: true latest_error: type: string readOnly: true nullable: true description: The latest error that occurred when syncing this schema. incremental: type: boolean readOnly: true status: type: string nullable: true readOnly: true sync_type: nullable: true description: 'Sync strategy: incremental, full_refresh, append, or cdc. * `full_refresh` - full_refresh * `incremental` - incremental * `append` - append * `webhook` - webhook * `cdc` - cdc' oneOf: - $ref: '#/components/schemas/SyncTypeEnum' - $ref: '#/components/schemas/NullEnum' incremental_field: type: string nullable: true description: Column name used to track sync progress. incremental_field_type: nullable: true description: 'Data type of the incremental field. * `integer` - integer * `numeric` - numeric * `datetime` - datetime * `date` - date * `timestamp` - timestamp * `objectid` - objectid' oneOf: - $ref: '#/components/schemas/IncrementalFieldTypeEnum' - $ref: '#/components/schemas/NullEnum' sync_frequency: nullable: true description: 'How often to sync. * `never` - never * `1min` - 1min * `5min` - 5min * `15min` - 15min * `30min` - 30min * `1hour` - 1hour * `6hour` - 6hour * `12hour` - 12hour * `24hour` - 24hour * `7day` - 7day * `30day` - 30day' oneOf: - $ref: '#/components/schemas/SyncFrequencyEnum' - $ref: '#/components/schemas/NullEnum' sync_time_of_day: type: string format: time nullable: true description: UTC time of day to run the sync (HH:MM:SS). description: type: string readOnly: true nullable: true primary_key_columns: type: array items: type: string nullable: true description: Column names for primary key deduplication. cdc_table_mode: nullable: true description: 'For CDC syncs: consolidated, cdc_only, or both. * `consolidated` - consolidated * `cdc_only` - cdc_only * `both` - both' oneOf: - $ref: '#/components/schemas/CdcTableModeEnum' - $ref: '#/components/schemas/NullEnum' required: - description - id - incremental - label - last_synced_at - latest_error - name - status - table ExternalDataSourceBulkUpdateSchema: type: object properties: id: type: string format: uuid description: Schema identifier to update. should_sync: type: boolean description: Whether the schema should be queryable/synced. sync_type: nullable: true description: 'Requested sync mode for the schema. * `full_refresh` - full_refresh * `incremental` - incremental * `append` - append * `webhook` - webhook * `cdc` - cdc' oneOf: - $ref: '#/components/schemas/SyncTypeEnum' - $ref: '#/components/schemas/NullEnum' incremental_field: type: string nullable: true description: Incremental cursor field for incremental or append syncs. incremental_field_type: type: string nullable: true description: Type of the incremental cursor field. sync_frequency: type: string nullable: true description: Human-readable sync frequency value. sync_time_of_day: type: string format: time nullable: true description: UTC anchor time for scheduled syncs. cdc_table_mode: nullable: true description: 'How CDC-backed tables should be exposed. * `consolidated` - consolidated * `cdc_only` - cdc_only * `both` - both' oneOf: - $ref: '#/components/schemas/CdcTableModeEnum' - $ref: '#/components/schemas/NullEnum' required: - id ExternalDataSourceConnectionOption: type: object properties: id: type: string format: uuid readOnly: true prefix: type: string readOnly: true nullable: true engine: readOnly: true nullable: true description: 'Backend engine detected for the direct connection. * `duckdb` - duckdb * `postgres` - postgres' oneOf: - $ref: '#/components/schemas/EngineEnum' - $ref: '#/components/schemas/NullEnum' required: - engine - id - prefix ExternalDataSourceCreate: type: object properties: source_type: allOf: - $ref: '#/components/schemas/ExternalDataSourceTypeEnum' description: 'The source type (e.g. ''Postgres'', ''Stripe''). * `Ashby` - Ashby * `Supabase` - Supabase * `CustomerIO` - CustomerIO * `Github` - Github * `Stripe` - Stripe * `Hubspot` - Hubspot * `Postgres` - Postgres * `Zendesk` - Zendesk * `Snowflake` - Snowflake * `Salesforce` - Salesforce * `MySQL` - MySQL * `MongoDB` - MongoDB * `MSSQL` - MSSQL * `Vitally` - Vitally * `BigQuery` - BigQuery * `Chargebee` - Chargebee * `Clerk` - Clerk * `GoogleAds` - GoogleAds * `TemporalIO` - TemporalIO * `DoIt` - DoIt * `GoogleSheets` - GoogleSheets * `MetaAds` - MetaAds * `Klaviyo` - Klaviyo * `Mailchimp` - Mailchimp * `Braze` - Braze * `Mailjet` - Mailjet * `Redshift` - Redshift * `Polar` - Polar * `RevenueCat` - RevenueCat * `LinkedinAds` - LinkedinAds * `RedditAds` - RedditAds * `TikTokAds` - TikTokAds * `BingAds` - BingAds * `Shopify` - Shopify * `Attio` - Attio * `SnapchatAds` - SnapchatAds * `Linear` - Linear * `Intercom` - Intercom * `Amplitude` - Amplitude * `Mixpanel` - Mixpanel * `Jira` - Jira * `ActiveCampaign` - ActiveCampaign * `Marketo` - Marketo * `Adjust` - Adjust * `AppsFlyer` - AppsFlyer * `Freshdesk` - Freshdesk * `GoogleAnalytics` - GoogleAnalytics * `Pipedrive` - Pipedrive * `SendGrid` - SendGrid * `Slack` - Slack * `PagerDuty` - PagerDuty * `Asana` - Asana * `Notion` - Notion * `Airtable` - Airtable * `Greenhouse` - Greenhouse * `BambooHR` - BambooHR * `Lever` - Lever * `GitLab` - GitLab * `Datadog` - Datadog * `Sentry` - Sentry * `Pendo` - Pendo * `FullStory` - FullStory * `AmazonAds` - AmazonAds * `PinterestAds` - PinterestAds * `AppleSearchAds` - AppleSearchAds * `QuickBooks` - QuickBooks * `Xero` - Xero * `NetSuite` - NetSuite * `WooCommerce` - WooCommerce * `BigCommerce` - BigCommerce * `PayPal` - PayPal * `Square` - Square * `Zoom` - Zoom * `Trello` - Trello * `Monday` - Monday * `ClickUp` - ClickUp * `Confluence` - Confluence * `Recurly` - Recurly * `SalesLoft` - SalesLoft * `Outreach` - Outreach * `Gong` - Gong * `Calendly` - Calendly * `Typeform` - Typeform * `Iterable` - Iterable * `ZohoCRM` - ZohoCRM * `Close` - Close * `Oracle` - Oracle * `DynamoDB` - DynamoDB * `Elasticsearch` - Elasticsearch * `Kafka` - Kafka * `LaunchDarkly` - LaunchDarkly * `Braintree` - Braintree * `Recharge` - Recharge * `HelpScout` - HelpScout * `Gorgias` - Gorgias * `Instagram` - Instagram * `YouTubeAnalytics` - YouTubeAnalytics * `FacebookPages` - FacebookPages * `TwitterAds` - TwitterAds * `Workday` - Workday * `ServiceNow` - ServiceNow * `Pardot` - Pardot * `Copper` - Copper * `Front` - Front * `ChartMogul` - ChartMogul * `Zuora` - Zuora * `Paddle` - Paddle * `CircleCI` - CircleCI * `CockroachDB` - CockroachDB * `Firebase` - Firebase * `AzureBlob` - AzureBlob * `GoogleDrive` - GoogleDrive * `OneDrive` - OneDrive * `SharePoint` - SharePoint * `Box` - Box * `SFTP` - SFTP * `MicrosoftTeams` - MicrosoftTeams * `Aircall` - Aircall * `Webflow` - Webflow * `Okta` - Okta * `Auth0` - Auth0 * `Productboard` - Productboard * `Smartsheet` - Smartsheet * `Wrike` - Wrike * `Plaid` - Plaid * `SurveyMonkey` - SurveyMonkey * `Eventbrite` - Eventbrite * `RingCentral` - RingCentral * `Twilio` - Twilio * `Freshsales` - Freshsales * `Shortcut` - Shortcut * `ConvertKit` - ConvertKit * `Drip` - Drip * `CampaignMonitor` - CampaignMonitor * `MailerLite` - MailerLite * `Omnisend` - Omnisend * `Brevo` - Brevo * `Postmark` - Postmark * `Granola` - Granola * `BuildBetter` - BuildBetter * `Convex` - Convex * `ClickHouse` - ClickHouse * `Plain` - Plain * `Resend` - Resend' payload: type: object additionalProperties: true description: Connection credentials and a 'schemas' array. Keys depend on source_type. prefix: type: string nullable: true description: Table name prefix in HogQL. maxLength: 100 description: type: string nullable: true description: Human-readable description. maxLength: 400 access_method: allOf: - $ref: '#/components/schemas/AccessMethodEnum' default: warehouse description: 'Connection mode: ''warehouse'' (import) or ''direct'' (live query). * `warehouse` - warehouse * `direct` - direct' created_via: allOf: - $ref: '#/components/schemas/CreatedViaEnum' default: api description: 'Where the request came from * `web` - web * `api` - api * `mcp` - mcp' required: - payload - source_type ExternalDataSourceRevenueAnalyticsConfig: type: object properties: enabled: type: boolean include_invoiceless_charges: type: boolean ExternalDataSourceSerializers: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true created_by: type: string nullable: true readOnly: true created_via: allOf: - $ref: '#/components/schemas/CreatedViaEnum' description: 'How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update. * `web` - web * `api` - api * `mcp` - mcp' status: type: string readOnly: true client_secret: type: string writeOnly: true account_id: type: string writeOnly: true source_type: allOf: - $ref: '#/components/schemas/ExternalDataSourceTypeEnum' readOnly: true latest_error: type: string nullable: true readOnly: true prefix: type: string nullable: true maxLength: 100 description: type: string nullable: true maxLength: 400 access_method: allOf: - $ref: '#/components/schemas/AccessMethodEnum' readOnly: true engine: readOnly: true nullable: true description: 'Backend engine detected for the direct connection. * `duckdb` - duckdb * `postgres` - postgres' oneOf: - $ref: '#/components/schemas/EngineEnum' - $ref: '#/components/schemas/NullEnum' last_run_at: type: string nullable: true readOnly: true schemas: type: array items: type: object additionalProperties: true readOnly: true job_inputs: nullable: true revenue_analytics_config: allOf: - $ref: '#/components/schemas/ExternalDataSourceRevenueAnalyticsConfig' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object supports_webhooks: type: boolean readOnly: true required: - access_method - account_id - client_secret - created_at - created_by - engine - id - last_run_at - latest_error - revenue_analytics_config - schemas - source_type - status - supports_webhooks - user_access_level ExternalDataSourceTypeEnum: enum: - Ashby - Supabase - CustomerIO - Github - Stripe - Hubspot - Postgres - Zendesk - Snowflake - Salesforce - MySQL - MongoDB - MSSQL - Vitally - BigQuery - Chargebee - Clerk - GoogleAds - TemporalIO - DoIt - GoogleSheets - MetaAds - Klaviyo - Mailchimp - Braze - Mailjet - Redshift - Polar - RevenueCat - LinkedinAds - RedditAds - TikTokAds - BingAds - Shopify - Attio - SnapchatAds - Linear - Intercom - Amplitude - Mixpanel - Jira - ActiveCampaign - Marketo - Adjust - AppsFlyer - Freshdesk - GoogleAnalytics - Pipedrive - SendGrid - Slack - PagerDuty - Asana - Notion - Airtable - Greenhouse - BambooHR - Lever - GitLab - Datadog - Sentry - Pendo - FullStory - AmazonAds - PinterestAds - AppleSearchAds - QuickBooks - Xero - NetSuite - WooCommerce - BigCommerce - PayPal - Square - Zoom - Trello - Monday - ClickUp - Confluence - Recurly - SalesLoft - Outreach - Gong - Calendly - Typeform - Iterable - ZohoCRM - Close - Oracle - DynamoDB - Elasticsearch - Kafka - LaunchDarkly - Braintree - Recharge - HelpScout - Gorgias - Instagram - YouTubeAnalytics - FacebookPages - TwitterAds - Workday - ServiceNow - Pardot - Copper - Front - ChartMogul - Zuora - Paddle - CircleCI - CockroachDB - Firebase - AzureBlob - GoogleDrive - OneDrive - SharePoint - Box - SFTP - MicrosoftTeams - Aircall - Webflow - Okta - Auth0 - Productboard - Smartsheet - Wrike - Plaid - SurveyMonkey - Eventbrite - RingCentral - Twilio - Freshsales - Shortcut - ConvertKit - Drip - CampaignMonitor - MailerLite - Omnisend - Brevo - Postmark - Granola - BuildBetter - Convex - ClickHouse - Plain - Resend type: string description: '* `Ashby` - Ashby * `Supabase` - Supabase * `CustomerIO` - CustomerIO * `Github` - Github * `Stripe` - Stripe * `Hubspot` - Hubspot * `Postgres` - Postgres * `Zendesk` - Zendesk * `Snowflake` - Snowflake * `Salesforce` - Salesforce * `MySQL` - MySQL * `MongoDB` - MongoDB * `MSSQL` - MSSQL * `Vitally` - Vitally * `BigQuery` - BigQuery * `Chargebee` - Chargebee * `Clerk` - Clerk * `GoogleAds` - GoogleAds * `TemporalIO` - TemporalIO * `DoIt` - DoIt * `GoogleSheets` - GoogleSheets * `MetaAds` - MetaAds * `Klaviyo` - Klaviyo * `Mailchimp` - Mailchimp * `Braze` - Braze * `Mailjet` - Mailjet * `Redshift` - Redshift * `Polar` - Polar * `RevenueCat` - RevenueCat * `LinkedinAds` - LinkedinAds * `RedditAds` - RedditAds * `TikTokAds` - TikTokAds * `BingAds` - BingAds * `Shopify` - Shopify * `Attio` - Attio * `SnapchatAds` - SnapchatAds * `Linear` - Linear * `Intercom` - Intercom * `Amplitude` - Amplitude * `Mixpanel` - Mixpanel * `Jira` - Jira * `ActiveCampaign` - ActiveCampaign * `Marketo` - Marketo * `Adjust` - Adjust * `AppsFlyer` - AppsFlyer * `Freshdesk` - Freshdesk * `GoogleAnalytics` - GoogleAnalytics * `Pipedrive` - Pipedrive * `SendGrid` - SendGrid * `Slack` - Slack * `PagerDuty` - PagerDuty * `Asana` - Asana * `Notion` - Notion * `Airtable` - Airtable * `Greenhouse` - Greenhouse * `BambooHR` - BambooHR * `Lever` - Lever * `GitLab` - GitLab * `Datadog` - Datadog * `Sentry` - Sentry * `Pendo` - Pendo * `FullStory` - FullStory * `AmazonAds` - AmazonAds * `PinterestAds` - PinterestAds * `AppleSearchAds` - AppleSearchAds * `QuickBooks` - QuickBooks * `Xero` - Xero * `NetSuite` - NetSuite * `WooCommerce` - WooCommerce * `BigCommerce` - BigCommerce * `PayPal` - PayPal * `Square` - Square * `Zoom` - Zoom * `Trello` - Trello * `Monday` - Monday * `ClickUp` - ClickUp * `Confluence` - Confluence * `Recurly` - Recurly * `SalesLoft` - SalesLoft * `Outreach` - Outreach * `Gong` - Gong * `Calendly` - Calendly * `Typeform` - Typeform * `Iterable` - Iterable * `ZohoCRM` - ZohoCRM * `Close` - Close * `Oracle` - Oracle * `DynamoDB` - DynamoDB * `Elasticsearch` - Elasticsearch * `Kafka` - Kafka * `LaunchDarkly` - LaunchDarkly * `Braintree` - Braintree * `Recharge` - Recharge * `HelpScout` - HelpScout * `Gorgias` - Gorgias * `Instagram` - Instagram * `YouTubeAnalytics` - YouTubeAnalytics * `FacebookPages` - FacebookPages * `TwitterAds` - TwitterAds * `Workday` - Workday * `ServiceNow` - ServiceNow * `Pardot` - Pardot * `Copper` - Copper * `Front` - Front * `ChartMogul` - ChartMogul * `Zuora` - Zuora * `Paddle` - Paddle * `CircleCI` - CircleCI * `CockroachDB` - CockroachDB * `Firebase` - Firebase * `AzureBlob` - AzureBlob * `GoogleDrive` - GoogleDrive * `OneDrive` - OneDrive * `SharePoint` - SharePoint * `Box` - Box * `SFTP` - SFTP * `MicrosoftTeams` - MicrosoftTeams * `Aircall` - Aircall * `Webflow` - Webflow * `Okta` - Okta * `Auth0` - Auth0 * `Productboard` - Productboard * `Smartsheet` - Smartsheet * `Wrike` - Wrike * `Plaid` - Plaid * `SurveyMonkey` - SurveyMonkey * `Eventbrite` - Eventbrite * `RingCentral` - RingCentral * `Twilio` - Twilio * `Freshsales` - Freshsales * `Shortcut` - Shortcut * `ConvertKit` - ConvertKit * `Drip` - Drip * `CampaignMonitor` - CampaignMonitor * `MailerLite` - MailerLite * `Omnisend` - Omnisend * `Brevo` - Brevo * `Postmark` - Postmark * `Granola` - Granola * `BuildBetter` - BuildBetter * `Convex` - Convex * `ClickHouse` - ClickHouse * `Plain` - Plain * `Resend` - Resend' ExternalQueryError: additionalProperties: false properties: code: $ref: '#/components/schemas/ExternalQueryErrorCode' detail: title: Detail type: string required: - code - detail title: ExternalQueryError type: object ExternalQueryErrorCode: enum: - platform_access_required - query_execution_failed title: ExternalQueryErrorCode type: string ExternalQueryStatus: enum: - success - error title: ExternalQueryStatus type: string FeatureFlag: type: object description: Serializer mixin that handles tags for objects. properties: id: type: integer readOnly: true name: type: string description: contains the description for the flag (field name `name` is kept for backwards-compatibility) key: type: string maxLength: 400 filters: type: object additionalProperties: true deleted: type: boolean active: type: boolean created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time updated_at: type: string format: date-time readOnly: true nullable: true version: type: integer default: 0 last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true ensure_experience_continuity: type: boolean nullable: true experiment_set: type: array items: type: integer readOnly: true experiment_set_metadata: type: array items: type: object additionalProperties: true readOnly: true surveys: type: object additionalProperties: true readOnly: true features: type: object additionalProperties: true readOnly: true rollback_conditions: nullable: true performed_rollback: type: boolean nullable: true can_edit: type: boolean readOnly: true tags: type: array items: {} evaluation_contexts: type: array items: {} writeOnly: true usage_dashboard: type: integer readOnly: true analytics_dashboards: type: array items: type: integer has_enriched_analytics: type: boolean nullable: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object creation_context: allOf: - $ref: '#/components/schemas/FeatureFlagCreationContextEnum' writeOnly: true description: 'Indicates the origin product of the feature flag. Choices: ''feature_flags'', ''experiments'', ''surveys'', ''early_access_features'', ''web_experiments'', ''product_tours''. * `feature_flags` - feature_flags * `experiments` - experiments * `surveys` - surveys * `early_access_features` - early_access_features * `web_experiments` - web_experiments * `product_tours` - product_tours' is_remote_configuration: type: boolean nullable: true has_encrypted_payloads: type: boolean nullable: true status: type: string readOnly: true evaluation_runtime: nullable: true description: 'Specifies where this feature flag should be evaluated * `server` - Server * `client` - Client * `all` - All' oneOf: - $ref: '#/components/schemas/EvaluationRuntimeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' bucketing_identifier: nullable: true description: 'Identifier used for bucketing users into rollout and variants * `distinct_id` - User ID (default) * `device_id` - Device ID' oneOf: - $ref: '#/components/schemas/BucketingIdentifierEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' last_called_at: type: string format: date-time nullable: true description: Last time this feature flag was called (from $feature_flag_called events) _create_in_folder: type: string writeOnly: true title: ' create in folder' _should_create_usage_dashboard: type: boolean writeOnly: true default: true title: ' should create usage dashboard' is_used_in_replay_settings: type: boolean description: Check if this feature flag is used in any team's session recording linked flag setting. readOnly: true required: - can_edit - created_by - experiment_set - experiment_set_metadata - features - id - is_used_in_replay_settings - key - last_modified_by - status - surveys - updated_at - usage_dashboard - user_access_level FeatureFlagConditionGroupSchema: type: object properties: properties: type: array items: $ref: '#/components/schemas/FeatureFlagFilterPropertySchema' description: Property conditions for this release condition group. rollout_percentage: type: number format: double description: Rollout percentage for this release condition group. variant: type: string nullable: true description: Variant key override for multivariate flags. aggregation_group_type_index: type: integer nullable: true description: Group type index for this condition set. None means person-level aggregation. FeatureFlagCreateRequestSchema: type: object properties: key: type: string description: Feature flag key. name: type: string description: Feature flag description (stored in the `name` field for backwards compatibility). filters: allOf: - $ref: '#/components/schemas/FeatureFlagFiltersSchema' description: Feature flag targeting configuration. active: type: boolean description: Whether the feature flag is active. tags: type: array items: type: string description: Organizational tags for this feature flag. evaluation_contexts: type: array items: type: string description: Evaluation contexts that control where this flag evaluates at runtime. FeatureFlagCreationContextEnum: enum: - feature_flags - experiments - surveys - early_access_features - web_experiments - product_tours type: string description: '* `feature_flags` - feature_flags * `experiments` - experiments * `surveys` - surveys * `early_access_features` - early_access_features * `web_experiments` - web_experiments * `product_tours` - product_tours' FeatureFlagFilterPropertyCohortInSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyCohortInSchemaTypeEnum' description: 'Cohort property type required for in/not_in operators. * `cohort` - cohort' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. operator: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyCohortInSchemaOperatorEnum' description: 'Membership operator for cohort properties. * `in` - in * `not_in` - not_in' value: description: Cohort comparison value (single or list, depending on usage). required: - key - operator - type - value FeatureFlagFilterPropertyCohortInSchemaOperatorEnum: enum: - in - not_in type: string description: '* `in` - in * `not_in` - not_in' FeatureFlagFilterPropertyCohortInSchemaTypeEnum: enum: - cohort type: string description: '* `cohort` - cohort' FeatureFlagFilterPropertyDateSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/PropertyGroupTypeEnum' description: 'Property filter type. Common values are ''person'' and ''cohort''. * `cohort` - cohort * `person` - person * `group` - group' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. operator: allOf: - $ref: '#/components/schemas/DateOperatorEnum' description: 'Date comparison operator. * `is_date_exact` - is_date_exact * `is_date_after` - is_date_after * `is_date_before` - is_date_before' value: type: string description: Date value in ISO format or relative date expression. required: - key - operator - value FeatureFlagFilterPropertyExistsSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/PropertyGroupTypeEnum' description: 'Property filter type. Common values are ''person'' and ''cohort''. * `cohort` - cohort * `person` - person * `group` - group' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. operator: allOf: - $ref: '#/components/schemas/ExistenceOperatorEnum' description: 'Existence operator. * `is_set` - is_set * `is_not_set` - is_not_set' value: description: Optional value. Runtime behavior determines whether this is ignored. required: - key - operator FeatureFlagFilterPropertyFlagEvaluatesSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyFlagEvaluatesSchemaTypeEnum' description: 'Flag property type required for flag dependency checks. * `flag` - flag' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. operator: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyFlagEvaluatesSchemaOperatorEnum' description: 'Operator for feature flag dependency evaluation. * `flag_evaluates_to` - flag_evaluates_to' value: description: Value to compare flag evaluation against. required: - key - operator - type - value FeatureFlagFilterPropertyFlagEvaluatesSchemaOperatorEnum: enum: - flag_evaluates_to type: string description: '* `flag_evaluates_to` - flag_evaluates_to' FeatureFlagFilterPropertyFlagEvaluatesSchemaTypeEnum: enum: - flag type: string description: '* `flag` - flag' FeatureFlagFilterPropertyGenericSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/PropertyGroupTypeEnum' description: 'Property filter type. Common values are ''person'' and ''cohort''. * `cohort` - cohort * `person` - person * `group` - group' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. value: description: Comparison value for the property filter. Supports strings, numbers, booleans, and arrays. operator: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyGenericSchemaOperatorEnum' description: 'Operator used to compare the property value. * `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex * `gt` - gt * `gte` - gte * `lt` - lt * `lte` - lte' required: - key - operator - value FeatureFlagFilterPropertyGenericSchemaOperatorEnum: enum: - exact - is_not - icontains - not_icontains - regex - not_regex - gt - gte - lt - lte type: string description: '* `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex * `gt` - gt * `gte` - gte * `lt` - lt * `lte` - lte' FeatureFlagFilterPropertyMultiContainsSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/PropertyGroupTypeEnum' description: 'Property filter type. Common values are ''person'' and ''cohort''. * `cohort` - cohort * `person` - person * `group` - group' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. operator: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyMultiContainsSchemaOperatorEnum' description: 'Multi-contains operator. * `icontains_multi` - icontains_multi * `not_icontains_multi` - not_icontains_multi' value: type: array items: type: string description: List of strings to evaluate against. required: - key - operator - value FeatureFlagFilterPropertyMultiContainsSchemaOperatorEnum: enum: - icontains_multi - not_icontains_multi type: string description: '* `icontains_multi` - icontains_multi * `not_icontains_multi` - not_icontains_multi' FeatureFlagFilterPropertySchema: oneOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertyGenericSchema' - $ref: '#/components/schemas/FeatureFlagFilterPropertyExistsSchema' - $ref: '#/components/schemas/FeatureFlagFilterPropertyDateSchema' - $ref: '#/components/schemas/FeatureFlagFilterPropertySemverSchema' - $ref: '#/components/schemas/FeatureFlagFilterPropertyMultiContainsSchema' - $ref: '#/components/schemas/FeatureFlagFilterPropertyCohortInSchema' - $ref: '#/components/schemas/FeatureFlagFilterPropertyFlagEvaluatesSchema' FeatureFlagFilterPropertySemverSchema: type: object properties: key: type: string description: Property key used in this feature flag condition. type: allOf: - $ref: '#/components/schemas/PropertyGroupTypeEnum' description: 'Property filter type. Common values are ''person'' and ''cohort''. * `cohort` - cohort * `person` - person * `group` - group' cohort_name: type: string nullable: true description: Resolved cohort name for cohort-type filters. group_type_index: type: integer nullable: true description: Group type index when using group-based filters. operator: allOf: - $ref: '#/components/schemas/FeatureFlagFilterPropertySemverSchemaOperatorEnum' description: 'Semantic version comparison operator. * `semver_gt` - semver_gt * `semver_gte` - semver_gte * `semver_lt` - semver_lt * `semver_lte` - semver_lte * `semver_eq` - semver_eq * `semver_neq` - semver_neq * `semver_tilde` - semver_tilde * `semver_caret` - semver_caret * `semver_wildcard` - semver_wildcard' value: type: string description: Semantic version string. required: - key - operator - value FeatureFlagFilterPropertySemverSchemaOperatorEnum: enum: - semver_gt - semver_gte - semver_lt - semver_lte - semver_eq - semver_neq - semver_tilde - semver_caret - semver_wildcard type: string description: '* `semver_gt` - semver_gt * `semver_gte` - semver_gte * `semver_lt` - semver_lt * `semver_lte` - semver_lte * `semver_eq` - semver_eq * `semver_neq` - semver_neq * `semver_tilde` - semver_tilde * `semver_caret` - semver_caret * `semver_wildcard` - semver_wildcard' FeatureFlagFiltersSchema: type: object properties: groups: type: array items: $ref: '#/components/schemas/FeatureFlagConditionGroupSchema' description: Release condition groups for the feature flag. multivariate: allOf: - $ref: '#/components/schemas/FeatureFlagMultivariateSchema' nullable: true description: Multivariate configuration for variant-based rollouts. aggregation_group_type_index: type: integer nullable: true description: Group type index for group-based feature flags. payloads: type: object additionalProperties: type: string description: Optional payload values keyed by variant key. super_groups: type: array items: type: object additionalProperties: true description: Additional super condition groups used by experiments. feature_enrollment: type: boolean nullable: true description: Whether this flag has early access feature enrollment enabled. When true, the flag is evaluated against the person property $feature_enrollment/{flag_key}. FeatureFlagGroupType: additionalProperties: false properties: aggregation_group_type_index: default: null title: Aggregation Group Type Index type: integer nullable: true description: default: null title: Description type: string nullable: true properties: default: null title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true rollout_percentage: default: null title: Rollout Percentage type: number nullable: true sort_key: default: null title: Sort Key type: string nullable: true users_affected: default: null title: Users Affected type: number nullable: true variant: default: null title: Variant type: string nullable: true title: FeatureFlagGroupType type: object FeatureFlagMultivariateSchema: type: object properties: variants: type: array items: $ref: '#/components/schemas/FeatureFlagMultivariateVariantSchema' description: Variant definitions for multivariate feature flags. required: - variants FeatureFlagMultivariateVariantSchema: type: object properties: key: type: string description: Unique key for this variant. name: type: string description: Human-readable name for this variant. rollout_percentage: type: number format: double description: Variant rollout percentage. required: - key - rollout_percentage FeatureFlagStatusResponse: type: object properties: status: type: string description: 'Flag status: active, stale, deleted, or unknown' reason: type: string description: Human-readable explanation of the status required: - reason - status FeatureFlagVersionResponse: type: object description: Feature flag state at a given version plus reconstruction metadata. properties: id: type: integer readOnly: true key: type: string maxLength: 400 name: type: string filters: type: object additionalProperties: true readOnly: true active: type: boolean deleted: type: boolean version: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true rollback_conditions: nullable: true performed_rollback: type: boolean nullable: true ensure_experience_continuity: type: boolean nullable: true has_enriched_analytics: type: boolean nullable: true is_remote_configuration: type: boolean nullable: true has_encrypted_payloads: type: boolean nullable: true evaluation_runtime: nullable: true description: 'Specifies where this feature flag should be evaluated * `server` - Server * `client` - Client * `all` - All' oneOf: - $ref: '#/components/schemas/EvaluationRuntimeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' bucketing_identifier: nullable: true description: 'Identifier used for bucketing users into rollout and variants * `distinct_id` - User ID (default) * `device_id` - Device ID' oneOf: - $ref: '#/components/schemas/BucketingIdentifierEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' last_called_at: type: string format: date-time nullable: true description: Last time this feature flag was called (from $feature_flag_called events) created_at: type: string format: date-time created_by: type: integer readOnly: true nullable: true is_historical: type: boolean readOnly: true description: False for the current version; true for reconstructed historical versions. version_timestamp: type: string format: date-time readOnly: true nullable: true modified_by: type: integer readOnly: true nullable: true description: User from the activity log entry that produced this version. required: - created_by - filters - id - is_historical - key - modified_by - version_timestamp FeaturePropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: feature description: Event property with "$feature/" prepended title: Type type: string enum: - feature value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: FeaturePropertyFilter type: object FileSystem: type: object properties: id: type: string format: uuid readOnly: true path: type: string depth: type: integer readOnly: true nullable: true type: type: string maxLength: 100 ref: type: string nullable: true maxLength: 100 href: type: string nullable: true meta: nullable: true shortcut: type: boolean nullable: true created_at: type: string format: date-time readOnly: true last_viewed_at: type: string format: date-time readOnly: true nullable: true required: - created_at - depth - id - last_viewed_at - path FileSystemShortcut: type: object properties: id: type: string format: uuid readOnly: true path: type: string type: type: string maxLength: 100 ref: type: string nullable: true maxLength: 100 href: type: string nullable: true order: type: integer maximum: 2147483647 minimum: -2147483648 created_at: type: string format: date-time readOnly: true required: - created_at - id - path FileSystemShortcutReorder: type: object properties: ordered_ids: type: array items: type: string format: uuid description: IDs of the current user's shortcuts in the desired display order. required: - ordered_ids FilterEnum: enum: - all - pass - fail - na type: string description: '* `all` - all * `pass` - pass * `fail` - fail * `na` - na' FilterLogicalOperator: enum: - AND - OR title: FilterLogicalOperator type: string Filters: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true properties: default: null title: Properties items: $ref: '#/components/schemas/SessionPropertyFilter' type: array nullable: true title: Filters type: object FirstEvent: additionalProperties: false properties: distinct_id: title: Distinct Id type: string properties: type: string title: Properties timestamp: title: Timestamp type: string uuid: title: Uuid type: string required: - distinct_id - properties - timestamp - uuid title: FirstEvent type: object FlagPropertyFilter: additionalProperties: false properties: key: description: The key should be the flag ID title: Key type: string label: default: null title: Label type: string nullable: true operator: default: flag_evaluates_to description: Only flag_evaluates_to operator is allowed for flag dependencies title: Operator type: string enum: - flag_evaluates_to type: default: flag description: Feature flag dependency title: Type type: string enum: - flag value: anyOf: - type: boolean - type: string description: The value can be true, false, or a variant name title: Value required: - key - value title: FlagPropertyFilter type: object FlagValueItem: type: object properties: name: {} required: - name FlagValueResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/FlagValueItem' refreshing: type: boolean required: - refreshing - results FunnelConversionWindowTimeUnit: enum: - second - minute - hour - day - week - month title: FunnelConversionWindowTimeUnit type: string FunnelCorrelationActorsQuery: additionalProperties: false properties: funnelCorrelationPersonConverted: default: null title: Funnelcorrelationpersonconverted type: boolean nullable: true funnelCorrelationPersonEntity: default: null title: Funnelcorrelationpersonentity anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/DataWarehouseNode' nullable: true funnelCorrelationPropertyValues: default: null title: Funnelcorrelationpropertyvalues items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true includeRecordings: default: null title: Includerecordings type: boolean nullable: true kind: default: FunnelCorrelationActorsQuery title: Kind type: string enum: - FunnelCorrelationActorsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ActorsQueryResponse' nullable: true source: $ref: '#/components/schemas/FunnelCorrelationQuery' tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: FunnelCorrelationActorsQuery type: object FunnelCorrelationQuery: additionalProperties: false properties: funnelCorrelationEventExcludePropertyNames: default: null title: Funnelcorrelationeventexcludepropertynames items: type: string type: array nullable: true funnelCorrelationEventNames: default: null title: Funnelcorrelationeventnames items: type: string type: array nullable: true funnelCorrelationExcludeEventNames: default: null title: Funnelcorrelationexcludeeventnames items: type: string type: array nullable: true funnelCorrelationExcludeNames: default: null title: Funnelcorrelationexcludenames items: type: string type: array nullable: true funnelCorrelationNames: default: null title: Funnelcorrelationnames items: type: string type: array nullable: true funnelCorrelationType: $ref: '#/components/schemas/FunnelCorrelationResultsType' kind: default: FunnelCorrelationQuery title: Kind type: string enum: - FunnelCorrelationQuery response: default: null allOf: - $ref: '#/components/schemas/FunnelCorrelationResponse' nullable: true source: $ref: '#/components/schemas/FunnelsActorsQuery' version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - funnelCorrelationType - source title: FunnelCorrelationQuery type: object FunnelCorrelationResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: $ref: '#/components/schemas/FunnelCorrelationResult' timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: FunnelCorrelationResponse type: object FunnelCorrelationResult: additionalProperties: false properties: events: items: $ref: '#/components/schemas/EventOddsRatioSerialized' title: Events type: array skewed: title: Skewed type: boolean required: - events - skewed title: FunnelCorrelationResult type: object FunnelCorrelationResultsType: enum: - events - properties - event_with_properties title: FunnelCorrelationResultsType type: string FunnelExclusionActionsNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true funnelFromStep: title: Funnelfromstep type: integer funnelToStep: title: Funneltostep type: integer id: title: Id type: integer kind: default: ActionsNode title: Kind type: string enum: - ActionsNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - funnelFromStep - funnelToStep - id title: FunnelExclusionActionsNode type: object FunnelExclusionEventsNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true event: default: null description: The event or `null` for all events. title: Event type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true funnelFromStep: title: Funnelfromstep type: integer funnelToStep: title: Funneltostep type: integer kind: default: EventsNode title: Kind type: string enum: - EventsNode limit: default: null title: Limit type: integer nullable: true math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true orderBy: default: null description: Columns to order by title: Orderby items: type: string type: array nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - funnelFromStep - funnelToStep title: FunnelExclusionEventsNode type: object FunnelLayout: enum: - horizontal - vertical title: FunnelLayout type: string FunnelMathType: enum: - total - first_time_for_user - first_time_for_user_with_filters title: FunnelMathType type: string FunnelPathType: enum: - funnel_path_before_step - funnel_path_between_steps - funnel_path_after_step title: FunnelPathType type: string FunnelPathsFilter: additionalProperties: false properties: funnelPathType: default: null allOf: - $ref: '#/components/schemas/FunnelPathType' nullable: true funnelSource: $ref: '#/components/schemas/FunnelsQuery' funnelStep: default: null title: Funnelstep type: integer nullable: true required: - funnelSource title: FunnelPathsFilter type: object FunnelStepReference: enum: - total - previous title: FunnelStepReference type: string FunnelVizType: enum: - steps - time_to_convert - trends - flow title: FunnelVizType type: string FunnelsActorsQuery: additionalProperties: false properties: funnelStep: default: null description: Index of the step for which we want to get the timestamp for, per person. Positive for converted persons, negative for dropped of persons. title: Funnelstep type: integer nullable: true funnelStepBreakdown: default: null description: The breakdown value for which to get persons for. This is an array for person and event properties, a string for groups and an integer for cohorts. title: Funnelstepbreakdown anyOf: - type: integer - type: string - type: number - items: anyOf: - type: integer - type: string - type: number type: array nullable: true funnelTrendsDropOff: default: null title: Funneltrendsdropoff type: boolean nullable: true funnelTrendsEntrancePeriodStart: default: null description: Used together with `funnelTrendsDropOff` for funnels time conversion date for the persons modal. title: Funneltrendsentranceperiodstart type: string nullable: true includeRecordings: default: null title: Includerecordings type: boolean nullable: true kind: default: FunnelsActorsQuery title: Kind type: string enum: - FunnelsActorsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ActorsQueryResponse' nullable: true source: $ref: '#/components/schemas/FunnelsQuery' tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: FunnelsActorsQuery type: object FunnelsDataWarehouseNode: additionalProperties: false properties: aggregation_target_field: title: Aggregation Target Field type: string custom_name: default: null title: Custom Name type: string nullable: true dw_source_type: default: null title: Dw Source Type type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true id: title: Id type: string id_field: title: Id Field type: string kind: default: FunnelsDataWarehouseNode title: Kind type: string enum: - FunnelsDataWarehouseNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true table_name: title: Table Name type: string timestamp_field: title: Timestamp Field type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - aggregation_target_field - id - id_field - table_name - timestamp_field title: FunnelsDataWarehouseNode type: object FunnelsFilter: additionalProperties: false properties: binCount: default: null title: Bincount type: integer nullable: true breakdownAttributionType: default: first_touch allOf: - $ref: '#/components/schemas/BreakdownAttributionType' nullable: true breakdownAttributionValue: default: null title: Breakdownattributionvalue type: integer nullable: true breakdownSorting: default: null description: 'Breakdown table sorting. Format: ''column_key'' or ''-column_key'' (descending)' title: Breakdownsorting type: string nullable: true customAggregationTarget: default: null description: For data warehouse based funnel insights when the aggregation target can't be mapped to persons or groups. title: Customaggregationtarget type: boolean nullable: true exclusions: default: [] title: Exclusions items: anyOf: - $ref: '#/components/schemas/FunnelExclusionEventsNode' - $ref: '#/components/schemas/FunnelExclusionActionsNode' type: array nullable: true funnelAggregateByHogQL: default: null title: Funnelaggregatebyhogql type: string nullable: true funnelFromStep: default: null title: Funnelfromstep type: integer nullable: true funnelOrderType: default: ordered allOf: - $ref: '#/components/schemas/StepOrderValue' nullable: true funnelStepReference: default: total allOf: - $ref: '#/components/schemas/FunnelStepReference' nullable: true funnelToStep: default: null description: To select the range of steps for trends & time to convert funnels, 0-indexed title: Funneltostep type: integer nullable: true funnelVizType: default: steps allOf: - $ref: '#/components/schemas/FunnelVizType' nullable: true funnelWindowInterval: default: 14 title: Funnelwindowinterval type: integer nullable: true funnelWindowIntervalUnit: default: day allOf: - $ref: '#/components/schemas/FunnelConversionWindowTimeUnit' nullable: true goalLines: default: null description: Goal Lines title: Goallines items: $ref: '#/components/schemas/GoalLine' type: array nullable: true hiddenLegendBreakdowns: default: null title: Hiddenlegendbreakdowns items: type: string type: array nullable: true layout: default: vertical allOf: - $ref: '#/components/schemas/FunnelLayout' nullable: true resultCustomizations: default: null description: Customizations for the appearance of result datasets. title: Resultcustomizations additionalProperties: $ref: '#/components/schemas/ResultCustomizationByValue' type: object nullable: true showTrendLines: default: null description: Display linear regression trend lines on the chart (only for historical trends viz) title: Showtrendlines type: boolean nullable: true showValuesOnSeries: default: false title: Showvaluesonseries type: boolean nullable: true useUdf: default: null title: Useudf type: boolean nullable: true title: FunnelsFilter type: object FunnelsQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation title: Aggregation Group Type Index type: integer nullable: true breakdownFilter: default: null description: Breakdown of the events and actions allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true funnelsFilter: default: null description: Properties specific to the funnels insight allOf: - $ref: '#/components/schemas/FunnelsFilter' nullable: true interval: default: null description: Granularity of the response. Can be one of `hour`, `day`, `week` or `month` allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: FunnelsQuery title: Kind type: string enum: - FunnelsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/FunnelsQueryResponse' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true series: description: Events and actions to include items: anyOf: - $ref: '#/components/schemas/GroupNode' - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/FunnelsDataWarehouseNode' title: Series type: array tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - series title: FunnelsQuery type: object FunnelsQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: FunnelsQueryResponse type: object GenerateRequest: type: object properties: title: type: string default: '' goal: type: string default: '' steps: type: array items: type: object additionalProperties: true GenerateResponse: type: object properties: steps: type: array items: $ref: '#/components/schemas/GenerateStepResponse' required: - steps GenerateStepResponse: type: object properties: step_id: type: string title: type: string description: type: string required: - description - step_id - title GenerateSurveyTranslationsRequest: type: object properties: target_language: type: string description: Language code to generate translations for, for example pt-BR. source_language: type: string default: en description: Source language code for the existing survey copy. overwrite: type: boolean default: false description: Whether to overwrite existing translations for this language. survey: type: object additionalProperties: nullable: true description: Draft survey field value. description: Optional translation-only draft survey payload to translate instead of the last saved survey. required: - target_language GenerateSurveyTranslationsResponse: type: object properties: translations: type: object additionalProperties: $ref: '#/components/schemas/GeneratedSurveyRootTranslation' description: Survey-level translation patch keyed by language. questions: type: array items: $ref: '#/components/schemas/GeneratedSurveyQuestionTranslationPatch' description: Question-level translation patches keyed by question id and language. generated_field_paths: type: array items: type: string description: Editor field paths generated by AI and safe to highlight as draft content. trace_id: type: string description: LLM trace id for debugging and feedback. required: - generated_field_paths - questions - trace_id - translations GeneratedSurveyQuestionTranslation: type: object properties: question: type: string description: Translated question text. description: type: string description: Translated question description. buttonText: type: string description: Translated submit button text. choices: type: array items: type: string description: Translated choices in the same order as the source choices. lowerBoundLabel: type: string description: Translated lower rating bound label. upperBoundLabel: type: string description: Translated upper rating bound label. link: type: string description: Translated link text or localized URL. GeneratedSurveyQuestionTranslationPatch: type: object properties: id: type: string description: Survey question id this patch applies to. translations: type: object additionalProperties: $ref: '#/components/schemas/GeneratedSurveyQuestionTranslation' description: Question translation patch keyed by target language. required: - id - translations GeneratedSurveyRootTranslation: type: object properties: name: type: string description: Translated survey name. thankYouMessageHeader: type: string description: Translated thank-you header. thankYouMessageDescription: type: string description: Translated thank-you description. thankYouMessageCloseButtonText: type: string description: Translated thank-you close button text. GitHubBranchesResponse: type: object properties: branches: type: array items: type: string description: List of branch names default_branch: type: string nullable: true description: The default branch of the repository has_more: type: boolean description: Whether more branches exist beyond the returned page required: - branches - has_more GitHubRepo: type: object properties: id: type: integer name: type: string full_name: type: string required: - full_name - id - name GitHubReposRefreshResponse: type: object properties: repositories: type: array items: $ref: '#/components/schemas/GitHubRepo' description: The refreshed repository cache. required: - repositories GitHubReposResponse: type: object properties: repositories: type: array items: $ref: '#/components/schemas/GitHubRepo' has_more: type: boolean description: Whether more repositories are available beyond this page. required: - has_more - repositories GitProviderFileLinkResolveResponse: type: object properties: found: type: boolean description: Whether a matching file URL was found. url: type: string description: Resolved URL for the matching file. error: type: string description: Error message when input parameters are invalid. required: - found Goal: type: object properties: name: type: string description: Goal name (action name). conversions: type: integer description: Total conversions in the period. change: allOf: - $ref: '#/components/schemas/WoWChange' nullable: true description: Period-over-period change in conversions, null when not meaningful. required: - change - conversions - name GoalLine: additionalProperties: false properties: borderColor: default: null title: Bordercolor type: string nullable: true displayIfCrossed: default: null title: Displayifcrossed type: boolean nullable: true displayLabel: default: null title: Displaylabel type: boolean nullable: true label: title: Label type: string position: default: null allOf: - $ref: '#/components/schemas/Position' nullable: true value: title: Value type: number required: - label - value title: GoalLine type: object GradientScaleMode: enum: - absolute - relative title: GradientScaleMode type: string Group: type: object properties: group_type_index: type: integer maximum: 2147483647 minimum: -2147483648 group_key: type: string maxLength: 400 group_properties: {} created_at: type: string format: date-time readOnly: true required: - created_at - group_key - group_type_index GroupNode: additionalProperties: false properties: custom_name: default: null title: Custom Name type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: GroupNode title: Kind type: string enum: - GroupNode limit: default: null title: Limit type: integer nullable: true math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true nodes: description: Entities to combine in this group items: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/DataWarehouseNode' title: Nodes type: array operator: description: Group of entities combined with AND/OR operator allOf: - $ref: '#/components/schemas/FilterLogicalOperator' optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true orderBy: default: null description: Columns to order by title: Orderby items: type: string type: array nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - nodes - operator title: GroupNode type: object GroupPropertyFilter: additionalProperties: false properties: group_key_names: default: null title: Group Key Names additionalProperties: type: string type: object nullable: true group_type_index: default: null title: Group Type Index type: integer nullable: true key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: group title: Type type: string enum: - group value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: GroupPropertyFilter type: object GroupType: type: object properties: group_type: type: string readOnly: true group_type_index: type: integer readOnly: true name_singular: type: string nullable: true maxLength: 400 name_plural: type: string nullable: true maxLength: 400 detail_dashboard: type: integer nullable: true default_columns: type: array items: type: string nullable: true created_at: type: string format: date-time nullable: true required: - group_type - group_type_index GroupUsageMetric: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Name of the usage metric. Must be unique per group type within the project. maxLength: 255 format: allOf: - $ref: '#/components/schemas/GroupUsageMetricFormatEnum' default: numeric description: 'How the metric value is formatted in the UI. One of `numeric` or `currency`. * `numeric` - numeric * `currency` - currency' interval: type: integer default: 7 description: Rolling time window in days used to compute the metric. Defaults to 7. display: allOf: - $ref: '#/components/schemas/GroupUsageMetricDisplayEnum' default: number description: 'Visual representation in the UI. One of `number` or `sparkline`. * `number` - number * `sparkline` - sparkline' filters: type: object additionalProperties: true description: 'Filter definition for the metric. Two shapes are accepted, discriminated by an optional `source` key. **Events** (default, when `source` is missing or `"events"`): HogFunction filter shape — `events: [...]`, optional `actions: [...]`, `properties: [...]`, `filter_test_accounts: bool`. **Data warehouse** (`source: "data_warehouse"`): `table_name` (synced DW table), `timestamp_field` (timestamp column or HogQL expression), `key_field` (column whose value matches the entity key). Currently DW metrics only render on group profiles — person profiles are not yet supported.' math: allOf: - $ref: '#/components/schemas/MathEnum' default: count description: 'Aggregation function. `count` counts matching events; `sum` sums the value of `math_property` on matching events. * `count` - count * `sum` - sum' math_property: type: string nullable: true description: Required when `math` is `sum`; must be empty when `math` is `count`. For events metrics this is an event property name. For data warehouse metrics this is the column name (or HogQL expression) to sum on the DW table. maxLength: 255 required: - filters - id - name GroupUsageMetricDisplayEnum: enum: - number - sparkline type: string description: '* `number` - number * `sparkline` - sparkline' GroupUsageMetricFormatEnum: enum: - numeric - currency type: string description: '* `numeric` - numeric * `currency` - currency' GroupsQuery: additionalProperties: false properties: group_type_index: title: Group Type Index type: integer kind: default: GroupsQuery title: Kind type: string enum: - GroupsQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null title: Orderby items: type: string type: array nullable: true properties: default: null title: Properties items: anyOf: - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/GroupsQueryResponse' nullable: true search: default: null title: Search type: string nullable: true select: default: null title: Select items: type: string type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - group_type_index title: GroupsQuery type: object GroupsQueryResponse: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string kind: default: GroupsQuery title: Kind type: string enum: - GroupsQuery limit: title: Limit type: integer modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - limit - offset - results - types title: GroupsQueryResponse type: object HBOSDetectorConfig: additionalProperties: false properties: n_bins: default: null description: 'Number of histogram bins (default: 10)' title: N Bins type: integer nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: hbos title: Type type: string enum: - hbos window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: HBOSDetectorConfig type: object HealthEnum: enum: - success - warning - danger type: string description: '* `success` - success * `warning` - warning * `danger` - danger' HealthIssue: type: object properties: id: type: string format: uuid readOnly: true kind: type: string readOnly: true severity: allOf: - $ref: '#/components/schemas/HealthIssueSeverityEnum' readOnly: true status: allOf: - $ref: '#/components/schemas/HealthIssueStatusEnum' readOnly: true dismissed: type: boolean payload: readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true resolved_at: type: string format: date-time readOnly: true nullable: true required: - created_at - id - kind - payload - resolved_at - severity - status - updated_at HealthIssueSeverityEnum: enum: - critical - warning - info type: string description: '* `critical` - Critical * `warning` - Warning * `info` - Info' HealthIssueStatusEnum: enum: - active - resolved type: string description: '* `active` - Active * `resolved` - Resolved' HeatmapGradientStop: additionalProperties: false properties: color: title: Color type: string value: title: Value type: number required: - color - value title: HeatmapGradientStop type: object HeatmapResponseItem: type: object properties: count: type: integer pointer_y: type: integer pointer_relative_x: type: number format: double pointer_target_fixed: type: boolean required: - count - pointer_relative_x - pointer_target_fixed - pointer_y HeatmapScreenshotResponse: type: object properties: id: type: string format: uuid readOnly: true short_id: type: string readOnly: true name: type: string nullable: true maxLength: 400 url: type: string format: uri maxLength: 2000 data_url: type: string format: uri nullable: true description: URL for fetching heatmap data maxLength: 2000 target_widths: {} type: $ref: '#/components/schemas/HeatmapScreenshotResponseTypeEnum' status: allOf: - $ref: '#/components/schemas/HeatmapScreenshotResponseStatusEnum' readOnly: true has_content: type: boolean readOnly: true snapshots: type: array items: type: object additionalProperties: true readOnly: true deleted: type: boolean created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true exception: type: string readOnly: true nullable: true required: - created_at - created_by - exception - has_content - id - short_id - snapshots - status - updated_at - url HeatmapScreenshotResponseStatusEnum: enum: - processing - completed - failed type: string description: '* `processing` - Processing * `completed` - Completed * `failed` - Failed' HeatmapScreenshotResponseTypeEnum: enum: - screenshot - iframe - recording type: string description: '* `screenshot` - Screenshot * `iframe` - Iframe * `recording` - Recording' HeatmapSettings: additionalProperties: false properties: gradient: default: null title: Gradient items: $ref: '#/components/schemas/HeatmapGradientStop' type: array nullable: true gradientPreset: default: null title: Gradientpreset type: string nullable: true gradientScaleMode: default: null allOf: - $ref: '#/components/schemas/GradientScaleMode' nullable: true nullLabel: default: null title: Nulllabel type: string nullable: true nullValue: default: null title: Nullvalue type: string nullable: true sortColumn: default: null title: Sortcolumn type: string nullable: true sortOrder: default: null allOf: - $ref: '#/components/schemas/HeatmapSortOrder' nullable: true valueColumn: default: null title: Valuecolumn type: string nullable: true xAxisColumn: default: null title: Xaxiscolumn type: string nullable: true xAxisLabel: default: null title: Xaxislabel type: string nullable: true yAxisColumn: default: null title: Yaxiscolumn type: string nullable: true yAxisLabel: default: null title: Yaxislabel type: string nullable: true title: HeatmapSettings type: object HeatmapSortOrder: enum: - asc - desc title: HeatmapSortOrder type: string HeatmapsResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/HeatmapResponseItem' required: - results HedgehogActorAccessoryOption: enum: - beret - cap - chef - cowboy - eyepatch - flag - glasses - graduation - parrot - party - pineapple - sunglasses - tophat - xmas-hat - xmas-antlers - xmas-scarf title: HedgehogActorAccessoryOption type: string HedgehogActorColorOption: enum: - green - red - blue - purple - dark - light - greyscale - sepia - invert - rainbow title: HedgehogActorColorOption type: string HedgehogActorSkinOption: enum: - default - spiderhog - robohog - hogzilla - ghost title: HedgehogActorSkinOption type: string HogFlow: type: object properties: id: type: string format: uuid readOnly: true name: type: string nullable: true maxLength: 400 description: type: string version: type: integer readOnly: true status: $ref: '#/components/schemas/HogFlowStatusEnum' created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true trigger: {} trigger_masking: allOf: - $ref: '#/components/schemas/HogFlowMasking' nullable: true conversion: nullable: true exit_condition: $ref: '#/components/schemas/ExitConditionEnum' edges: {} actions: type: array items: $ref: '#/components/schemas/HogFlowAction' abort_action: type: string readOnly: true nullable: true variables: type: array items: type: object additionalProperties: type: string billable_action_types: readOnly: true nullable: true required: - abort_action - actions - billable_action_types - created_at - created_by - id - updated_at - version HogFlowAction: type: object properties: id: type: string name: type: string maxLength: 400 description: type: string default: '' on_error: nullable: true oneOf: - $ref: '#/components/schemas/OnErrorEnum' - $ref: '#/components/schemas/NullEnum' created_at: type: integer updated_at: type: integer filters: allOf: - $ref: '#/components/schemas/HogFunctionFilters' nullable: true type: type: string maxLength: 100 config: {} output_variable: nullable: true required: - config - id - name - type HogFlowMasking: type: object properties: ttl: type: integer maximum: 94608000 minimum: 60 nullable: true threshold: type: integer nullable: true hash: type: string bytecode: nullable: true required: - hash HogFlowMinimal: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true nullable: true description: type: string readOnly: true version: type: integer readOnly: true status: allOf: - $ref: '#/components/schemas/HogFlowStatusEnum' readOnly: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true trigger: readOnly: true trigger_masking: readOnly: true nullable: true conversion: readOnly: true nullable: true exit_condition: allOf: - $ref: '#/components/schemas/ExitConditionEnum' readOnly: true edges: readOnly: true actions: readOnly: true abort_action: type: string readOnly: true nullable: true variables: readOnly: true nullable: true billable_action_types: readOnly: true nullable: true required: - abort_action - actions - billable_action_types - conversion - created_at - created_by - description - edges - exit_condition - id - name - status - trigger - trigger_masking - updated_at - variables - version HogFlowSchedule: type: object properties: id: type: string format: uuid readOnly: true rrule: type: string starts_at: type: string format: date-time timezone: type: string maxLength: 64 variables: {} status: allOf: - $ref: '#/components/schemas/HogFlowScheduleStatusEnum' readOnly: true next_run_at: type: string format: date-time readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - id - next_run_at - rrule - starts_at - status - updated_at HogFlowScheduleStatusEnum: enum: - active - paused - completed type: string description: '* `active` - Active * `paused` - Paused * `completed` - Completed' HogFlowStatusEnum: enum: - draft - active - archived type: string description: '* `draft` - Draft * `active` - Active * `archived` - Archived' HogFunction: type: object properties: id: type: string format: uuid readOnly: true type: nullable: true description: 'Function type: destination, site_destination, internal_destination, source_webhook, warehouse_source_webhook, site_app, or transformation. * `destination` - Destination * `site_destination` - Site Destination * `internal_destination` - Internal Destination * `source_webhook` - Source Webhook * `warehouse_source_webhook` - Warehouse Source Webhook * `site_app` - Site App * `transformation` - Transformation' oneOf: - $ref: '#/components/schemas/HogFunctionTypeEnum' - $ref: '#/components/schemas/NullEnum' name: type: string nullable: true description: Display name for the function. maxLength: 400 description: type: string description: Human-readable description of what this function does. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true enabled: type: boolean description: Whether the function is active and processing events. deleted: type: boolean writeOnly: true description: Soft-delete flag. Set to true to archive the function. hog: type: string description: Source code. Hog language for most types; TypeScript for site_destination and site_app. bytecode: readOnly: true nullable: true transpiled: type: string readOnly: true nullable: true inputs_schema: type: array items: $ref: '#/components/schemas/InputsSchemaItem' description: Schema defining the configurable input parameters for this function. inputs: type: object additionalProperties: $ref: '#/components/schemas/InputsItem' description: Values for each input defined in inputs_schema. filters: allOf: - $ref: '#/components/schemas/HogFunctionFilters' description: Event filters that control which events trigger this function. masking: allOf: - $ref: '#/components/schemas/HogFunctionMasking' nullable: true description: PII masking configuration with TTL, threshold, and hash expression. mappings: type: array items: $ref: '#/components/schemas/Mappings' nullable: true description: Event-to-destination field mappings. Only for destination and site_destination types. icon_url: type: string nullable: true description: URL for the function's icon displayed in the UI. template: allOf: - $ref: '#/components/schemas/HogFunctionTemplate' readOnly: true template_id: type: string writeOnly: true nullable: true description: ID of the template to create this function from. maxLength: 400 status: allOf: - $ref: '#/components/schemas/HogFunctionStatus' readOnly: true nullable: true execution_order: type: integer maximum: 32767 minimum: 0 nullable: true description: Execution priority for transformations. Lower values run first. _create_in_folder: type: string writeOnly: true title: ' create in folder' batch_export_id: type: string format: uuid nullable: true readOnly: true required: - batch_export_id - bytecode - created_at - created_by - id - status - template - transpiled - updated_at HogFunctionFilters: type: object properties: source: allOf: - $ref: '#/components/schemas/HogFunctionFiltersSourceEnum' default: events actions: type: array items: type: object additionalProperties: true events: type: array items: type: object additionalProperties: true data_warehouse: type: array items: type: object additionalProperties: true properties: type: array items: type: object additionalProperties: true bytecode: nullable: true transpiled: {} filter_test_accounts: type: boolean bytecode_error: type: string HogFunctionFiltersSourceEnum: enum: - events - person-updates - data-warehouse-table type: string description: '* `events` - events * `person-updates` - person-updates * `data-warehouse-table` - data-warehouse-table' HogFunctionInvocation: type: object properties: configuration: allOf: - $ref: '#/components/schemas/HogFunction' writeOnly: true description: Full function configuration to test. globals: type: object additionalProperties: true writeOnly: true description: Mock global variables available during test invocation. clickhouse_event: type: object additionalProperties: true writeOnly: true description: Mock ClickHouse event data to test the function with. mock_async_functions: type: boolean writeOnly: true default: true description: When true (default), async functions like fetch() are simulated. status: type: string readOnly: true description: Invocation result status. logs: type: array items: {} readOnly: true description: Execution logs from the test invocation. invocation_id: type: string nullable: true description: Optional invocation ID for correlation. required: - configuration - logs - status HogFunctionMappingTemplate: type: object properties: name: type: string description: Name of this mapping template. include_by_default: type: boolean nullable: true description: Whether this mapping is enabled by default. use_all_events_by_default: type: boolean nullable: true description: Whether this mapping should match all events by default, hiding the event filter UI. filters: nullable: true description: Event filters specific to this mapping. inputs: nullable: true description: Input values specific to this mapping. inputs_schema: nullable: true description: Additional input schema fields specific to this mapping. required: - name HogFunctionMasking: type: object properties: ttl: type: integer maximum: 86400 minimum: 60 description: Time-to-live in seconds for the masking cache (60–86400). threshold: type: integer nullable: true description: Optional threshold count before masking applies. hash: type: string description: Hog expression used to compute the masking hash. bytecode: nullable: true description: Compiled bytecode for the hash expression. Auto-generated. required: - hash - ttl HogFunctionMinimal: type: object properties: id: type: string format: uuid readOnly: true type: type: string readOnly: true nullable: true name: type: string readOnly: true nullable: true description: type: string readOnly: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true enabled: type: boolean readOnly: true hog: type: string readOnly: true filters: readOnly: true nullable: true icon_url: type: string readOnly: true nullable: true template: allOf: - $ref: '#/components/schemas/HogFunctionTemplate' readOnly: true status: allOf: - $ref: '#/components/schemas/HogFunctionStatus' readOnly: true nullable: true execution_order: type: integer readOnly: true nullable: true required: - created_at - created_by - description - enabled - execution_order - filters - hog - icon_url - id - name - status - template - type - updated_at HogFunctionStatus: type: object properties: state: $ref: '#/components/schemas/HogFunctionStatusStateEnum' tokens: type: integer required: - state - tokens HogFunctionStatusStateEnum: enum: - 0 - 1 - 2 - 3 - 11 - 12 type: integer description: '* `0` - 0 * `1` - 1 * `2` - 2 * `3` - 3 * `11` - 11 * `12` - 12' HogFunctionTemplate: type: object properties: id: type: string description: Unique template identifier (e.g. 'template-slack'). name: type: string description: Display name of the template. maxLength: 400 description: type: string nullable: true description: What this template does. code: type: string description: Source code of the template. code_language: type: string description: 'Programming language: ''hog'' or ''javascript''.' maxLength: 20 inputs_schema: description: Schema defining configurable inputs for functions created from this template. type: type: string description: Function type this template creates. maxLength: 50 status: type: string description: 'Lifecycle status: alpha, beta, stable, deprecated, or hidden.' maxLength: 20 category: description: Category tags for organizing templates. free: type: boolean description: Whether available on free plans. icon_url: type: string nullable: true description: URL for the template's icon. filters: nullable: true description: Default event filters. masking: nullable: true description: Default PII masking configuration. mapping_templates: type: array items: $ref: '#/components/schemas/HogFunctionMappingTemplate' nullable: true description: Pre-defined mapping configurations for destination templates. required: - code - id - inputs_schema - name - type HogFunctionTemplatingEnum: enum: - hog - liquid type: string description: '* `hog` - hog * `liquid` - liquid' HogFunctionTypeEnum: enum: - destination - site_destination - internal_destination - source_webhook - warehouse_source_webhook - site_app - transformation type: string description: '* `destination` - Destination * `site_destination` - Site Destination * `internal_destination` - Internal Destination * `source_webhook` - Source Webhook * `warehouse_source_webhook` - Warehouse Source Webhook * `site_app` - Site App * `transformation` - Transformation' HogLanguage: enum: - hog - hogJson - hogQL - hogQLExpr - hogTemplate - liquid title: HogLanguage type: string HogQLAutocomplete: additionalProperties: false properties: connectionId: default: null description: Optional direct external data source id for running against a specific source title: Connectionid type: string nullable: true endPosition: description: End position of the editor word title: Endposition type: integer filters: default: null description: Table to validate the expression against allOf: - $ref: '#/components/schemas/HogQLFilters' nullable: true globals: default: null description: Global values in scope title: Globals additionalProperties: true type: object nullable: true kind: default: HogQLAutocomplete title: Kind type: string enum: - HogQLAutocomplete language: description: Language to validate allOf: - $ref: '#/components/schemas/HogLanguage' modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query: description: Query to validate title: Query type: string response: default: null allOf: - $ref: '#/components/schemas/HogQLAutocompleteResponse' nullable: true sourceQuery: default: null description: Query in whose context to validate. title: Sourcequery anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/PersonsNode' - $ref: '#/components/schemas/EventsQuery' - $ref: '#/components/schemas/SessionsQuery' - $ref: '#/components/schemas/ActorsQuery' - $ref: '#/components/schemas/GroupsQuery' - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/InsightActorsQueryOptions' - $ref: '#/components/schemas/SessionsTimelineQuery' - $ref: '#/components/schemas/HogQuery' - $ref: '#/components/schemas/HogQLQuery' - $ref: '#/components/schemas/HogQLMetadata' - $ref: '#/components/schemas/HogQLAutocomplete' - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' - $ref: '#/components/schemas/RevenueAnalyticsMetricsQuery' - $ref: '#/components/schemas/RevenueAnalyticsMRRQuery' - $ref: '#/components/schemas/RevenueAnalyticsOverviewQuery' - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' - $ref: '#/components/schemas/MarketingAnalyticsTableQuery' - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQuery' - $ref: '#/components/schemas/NonIntegratedConversionsTableQuery' - $ref: '#/components/schemas/WebOverviewQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebExternalClicksTableQuery' - $ref: '#/components/schemas/WebGoalsQuery' - $ref: '#/components/schemas/WebVitalsQuery' - $ref: '#/components/schemas/WebVitalsPathBreakdownQuery' - $ref: '#/components/schemas/WebPageURLSearchQuery' - $ref: '#/components/schemas/WebTrendsQuery' - $ref: '#/components/schemas/WebAnalyticsExternalSummaryQuery' - $ref: '#/components/schemas/WebNotableChangesQuery' - $ref: '#/components/schemas/SessionAttributionExplorerQuery' - $ref: '#/components/schemas/RevenueExampleEventsQuery' - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' - $ref: '#/components/schemas/ErrorTrackingQuery' - $ref: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' - $ref: '#/components/schemas/ErrorTrackingBreakdownsQuery' - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' - $ref: '#/components/schemas/LogsQuery' - $ref: '#/components/schemas/LogAttributesQuery' - $ref: '#/components/schemas/LogValuesQuery' - $ref: '#/components/schemas/TraceSpansQuery' - $ref: '#/components/schemas/ExperimentFunnelsQuery' - $ref: '#/components/schemas/ExperimentTrendsQuery' - $ref: '#/components/schemas/CalendarHeatmapQuery' - $ref: '#/components/schemas/RecordingsQuery' - $ref: '#/components/schemas/TracesQuery' - $ref: '#/components/schemas/TraceQuery' - $ref: '#/components/schemas/TraceNeighborsQuery' - $ref: '#/components/schemas/VectorSearchQuery' - $ref: '#/components/schemas/UsageMetricsQuery' - $ref: '#/components/schemas/EndpointsUsageOverviewQuery' - $ref: '#/components/schemas/EndpointsUsageTableQuery' - $ref: '#/components/schemas/EndpointsUsageTrendsQuery' nullable: true startPosition: description: Start position of the editor word title: Startposition type: integer tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - endPosition - language - query - startPosition title: HogQLAutocomplete type: object HogQLAutocompleteResponse: additionalProperties: false properties: incomplete_list: description: Whether or not the suggestions returned are complete title: Incomplete List type: boolean suggestions: items: $ref: '#/components/schemas/AutocompleteCompletionItem' title: Suggestions type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - incomplete_list - suggestions title: HogQLAutocompleteResponse type: object HogQLFilter: additionalProperties: false properties: type: title: Type type: string enum: - hogql key: title: Key type: string value: default: null title: Value nullable: true required: - type - key title: HogQLFilter type: object HogQLFilters: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true properties: default: null title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true title: HogQLFilters type: object HogQLMetadata: additionalProperties: false properties: connectionId: default: null description: Optional direct external data source id for running against a specific source title: Connectionid type: string nullable: true debug: default: null description: Enable more verbose output, usually run from the /debug page title: Debug type: boolean nullable: true filters: default: null description: Extra filters applied to query via {filters} allOf: - $ref: '#/components/schemas/HogQLFilters' nullable: true globals: default: null description: Extra globals for the query title: Globals additionalProperties: true type: object nullable: true kind: default: HogQLMetadata title: Kind type: string enum: - HogQLMetadata language: description: Language to validate allOf: - $ref: '#/components/schemas/HogLanguage' modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query: description: Query to validate title: Query type: string response: default: null allOf: - $ref: '#/components/schemas/HogQLMetadataResponse' nullable: true sourceQuery: default: null description: Query within which "expr" and "template" are validated. Defaults to "select * from events" title: Sourcequery anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/PersonsNode' - $ref: '#/components/schemas/EventsQuery' - $ref: '#/components/schemas/SessionsQuery' - $ref: '#/components/schemas/ActorsQuery' - $ref: '#/components/schemas/GroupsQuery' - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/InsightActorsQueryOptions' - $ref: '#/components/schemas/SessionsTimelineQuery' - $ref: '#/components/schemas/HogQuery' - $ref: '#/components/schemas/HogQLQuery' - $ref: '#/components/schemas/HogQLMetadata' - $ref: '#/components/schemas/HogQLAutocomplete' - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' - $ref: '#/components/schemas/RevenueAnalyticsMetricsQuery' - $ref: '#/components/schemas/RevenueAnalyticsMRRQuery' - $ref: '#/components/schemas/RevenueAnalyticsOverviewQuery' - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' - $ref: '#/components/schemas/MarketingAnalyticsTableQuery' - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQuery' - $ref: '#/components/schemas/NonIntegratedConversionsTableQuery' - $ref: '#/components/schemas/WebOverviewQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebExternalClicksTableQuery' - $ref: '#/components/schemas/WebGoalsQuery' - $ref: '#/components/schemas/WebVitalsQuery' - $ref: '#/components/schemas/WebVitalsPathBreakdownQuery' - $ref: '#/components/schemas/WebPageURLSearchQuery' - $ref: '#/components/schemas/WebTrendsQuery' - $ref: '#/components/schemas/WebAnalyticsExternalSummaryQuery' - $ref: '#/components/schemas/WebNotableChangesQuery' - $ref: '#/components/schemas/SessionAttributionExplorerQuery' - $ref: '#/components/schemas/RevenueExampleEventsQuery' - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' - $ref: '#/components/schemas/ErrorTrackingQuery' - $ref: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' - $ref: '#/components/schemas/ErrorTrackingBreakdownsQuery' - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' - $ref: '#/components/schemas/LogsQuery' - $ref: '#/components/schemas/LogAttributesQuery' - $ref: '#/components/schemas/LogValuesQuery' - $ref: '#/components/schemas/TraceSpansQuery' - $ref: '#/components/schemas/ExperimentFunnelsQuery' - $ref: '#/components/schemas/ExperimentTrendsQuery' - $ref: '#/components/schemas/CalendarHeatmapQuery' - $ref: '#/components/schemas/RecordingsQuery' - $ref: '#/components/schemas/TracesQuery' - $ref: '#/components/schemas/TraceQuery' - $ref: '#/components/schemas/TraceNeighborsQuery' - $ref: '#/components/schemas/VectorSearchQuery' - $ref: '#/components/schemas/UsageMetricsQuery' - $ref: '#/components/schemas/EndpointsUsageOverviewQuery' - $ref: '#/components/schemas/EndpointsUsageTableQuery' - $ref: '#/components/schemas/EndpointsUsageTrendsQuery' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true variables: default: null description: Variables to be subsituted into the query title: Variables additionalProperties: $ref: '#/components/schemas/HogQLVariable' type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - language - query title: HogQLMetadata type: object HogQLMetadataResponse: additionalProperties: false properties: ch_table_names: default: null title: Ch Table Names items: type: string type: array nullable: true errors: items: $ref: '#/components/schemas/HogQLNotice' title: Errors type: array isUsingIndices: default: null allOf: - $ref: '#/components/schemas/QueryIndexUsage' nullable: true isValid: default: null title: Isvalid type: boolean nullable: true notices: items: $ref: '#/components/schemas/HogQLNotice' title: Notices type: array query: default: null title: Query type: string nullable: true table_names: default: null title: Table Names items: type: string type: array nullable: true warnings: items: $ref: '#/components/schemas/HogQLNotice' title: Warnings type: array required: - errors - notices - warnings title: HogQLMetadataResponse type: object HogQLNotice: additionalProperties: false properties: end: default: null title: End type: integer nullable: true fix: default: null title: Fix type: string nullable: true message: title: Message type: string start: default: null title: Start type: integer nullable: true required: - message title: HogQLNotice type: object HogQLPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true type: default: hogql title: Type type: string enum: - hogql value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key title: HogQLPropertyFilter type: object HogQLQuery: additionalProperties: false properties: connectionId: default: null description: Optional direct external data source id for running against a specific source title: Connectionid type: string nullable: true explain: default: null title: Explain type: boolean nullable: true filters: default: null allOf: - $ref: '#/components/schemas/HogQLFilters' nullable: true kind: default: HogQLQuery title: Kind type: string enum: - HogQLQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true name: default: null description: Client provided name of the query title: Name type: string nullable: true query: title: Query type: string response: default: null allOf: - $ref: '#/components/schemas/HogQLQueryResponse' nullable: true sendRawQuery: default: null description: Run the selected connection query directly without translating it through HogQL first title: Sendrawquery type: boolean nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true values: default: null description: Constant values that can be referenced with the {placeholder} syntax in the query title: Values additionalProperties: true type: object nullable: true variables: default: null description: Variables to be substituted into the query title: Variables additionalProperties: $ref: '#/components/schemas/HogQLVariable' type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - query title: HogQLQuery type: object HogQLQueryModifiers: additionalProperties: false properties: bounceRateDurationSeconds: default: null title: Bounceratedurationseconds type: number nullable: true bounceRatePageViewMode: default: null allOf: - $ref: '#/components/schemas/BounceRatePageViewMode' nullable: true convertToProjectTimezone: default: null title: Converttoprojecttimezone type: boolean nullable: true customChannelTypeRules: default: null title: Customchanneltyperules items: $ref: '#/components/schemas/CustomChannelRule' type: array nullable: true dataWarehouseEventsModifiers: default: null title: Datawarehouseeventsmodifiers items: $ref: '#/components/schemas/DataWarehouseEventsModifier' type: array nullable: true debug: default: null title: Debug type: boolean nullable: true forceClickhouseDataSkippingIndexes: default: null description: If these are provided, the query will fail if these skip indexes are not used title: Forceclickhousedataskippingindexes items: type: string type: array nullable: true formatCsvAllowDoubleQuotes: default: null title: Formatcsvallowdoublequotes type: boolean nullable: true inCohortVia: default: null allOf: - $ref: '#/components/schemas/InCohortVia' nullable: true inlineCohortCalculation: default: null allOf: - $ref: '#/components/schemas/InlineCohortCalculation' nullable: true materializationMode: default: null allOf: - $ref: '#/components/schemas/MaterializationMode' nullable: true materializedColumnsOptimizationMode: default: null allOf: - $ref: '#/components/schemas/MaterializedColumnsOptimizationMode' nullable: true optimizeJoinedFilters: default: null title: Optimizejoinedfilters type: boolean nullable: true optimizeProjections: default: null title: Optimizeprojections type: boolean nullable: true personsArgMaxVersion: default: null allOf: - $ref: '#/components/schemas/PersonsArgMaxVersion' nullable: true personsJoinMode: default: null allOf: - $ref: '#/components/schemas/PersonsJoinMode' nullable: true personsOnEventsMode: default: null allOf: - $ref: '#/components/schemas/PersonsOnEventsMode' nullable: true propertyGroupsMode: default: null allOf: - $ref: '#/components/schemas/PropertyGroupsMode' nullable: true s3TableUseInvalidColumns: default: null title: S3Tableuseinvalidcolumns type: boolean nullable: true sessionIdPushdown: default: null description: Push a `session_id_v7 IN (SELECT … FROM events WHERE …)` predicate into the raw_sessions subquery to limit aggregation to sessions that participate in the outer events filter. title: Sessionidpushdown type: boolean nullable: true sessionTableVersion: default: null allOf: - $ref: '#/components/schemas/SessionTableVersion' nullable: true sessionsV2JoinMode: default: null allOf: - $ref: '#/components/schemas/SessionsV2JoinMode' nullable: true timings: default: null title: Timings type: boolean nullable: true useMaterializedViews: default: null title: Usematerializedviews type: boolean nullable: true usePreaggregatedIntermediateResults: default: null title: Usepreaggregatedintermediateresults type: boolean nullable: true usePreaggregatedTableTransforms: default: null description: Try to automatically convert HogQL queries to use preaggregated tables at the AST level * title: Usepreaggregatedtabletransforms type: boolean nullable: true useWebAnalyticsPreAggregatedTables: default: null title: Usewebanalyticspreaggregatedtables type: boolean nullable: true title: HogQLQueryModifiers type: object HogQLQueryResponse: additionalProperties: false properties: clickhouse: default: null description: Executed ClickHouse query title: Clickhouse type: string nullable: true columns: default: null description: Returned columns title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true explain: default: null description: Query explanation output title: Explain items: type: string type: array nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true metadata: default: null description: Query metadata output allOf: - $ref: '#/components/schemas/HogQLMetadataResponse' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query: default: null description: Input query string title: Query type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null description: Types of returned columns title: Types items: {} type: array nullable: true required: - results title: HogQLQueryResponse type: object HogQLVariable: additionalProperties: false properties: code_name: title: Code Name type: string isNull: default: null title: Isnull type: boolean nullable: true value: default: null title: Value nullable: true variableId: title: Variableid type: string required: - code_name - variableId title: HogQLVariable type: object HogQuery: additionalProperties: false properties: code: default: null title: Code type: string nullable: true kind: default: HogQuery title: Kind type: string enum: - HogQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/HogQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: HogQuery type: object HogQueryResponse: additionalProperties: false properties: bytecode: default: null title: Bytecode items: {} type: array nullable: true coloredBytecode: default: null title: Coloredbytecode items: {} type: array nullable: true results: title: Results stdout: default: null title: Stdout type: string nullable: true required: - results title: HogQueryResponse type: object HrefMatching: enum: - contains - exact - regex - null title: HrefMatching IQRDetectorConfig: additionalProperties: false properties: multiplier: default: null description: 'IQR multiplier for fence calculation (default: 1.5, use 3.0 for far outliers)' title: Multiplier type: number nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true type: default: iqr title: Type type: string enum: - iqr window: default: null description: 'Rolling window size for calculating quartiles (default: 30)' title: Window type: integer nullable: true title: IQRDetectorConfig type: object InCohortVia: enum: - auto - leftjoin - subquery - leftjoin_conjoined title: InCohortVia type: string IncrementalFieldTypeEnum: enum: - integer - numeric - datetime - date - timestamp - objectid type: string description: '* `integer` - integer * `numeric` - numeric * `datetime` - datetime * `date` - date * `timestamp` - timestamp * `objectid` - objectid' InlineCohortCalculation: enum: - 'off' - auto - always title: InlineCohortCalculation type: string InputsItem: type: object properties: value: {} templating: $ref: '#/components/schemas/HogFunctionTemplatingEnum' bytecode: type: array items: {} readOnly: true order: type: integer readOnly: true transpiled: readOnly: true required: - bytecode - order - transpiled InputsSchemaItem: type: object properties: type: $ref: '#/components/schemas/InputsSchemaItemTypeEnum' key: type: string label: type: string choices: type: array items: type: object additionalProperties: true required: type: boolean default: false default: {} secret: type: boolean default: false hidden: type: boolean default: false description: type: string integration: type: string integration_key: type: string requires_field: type: string integration_field: type: string requiredScopes: type: string templating: oneOf: - type: boolean - type: string enum: - hog - liquid required: - key - type InputsSchemaItemTypeEnum: enum: - string - number - boolean - dictionary - choice - json - integration - integration_field - email - native_email - posthog_assignee - posthog_ticket_tags - posthog_business_hours type: string description: '* `string` - string * `number` - number * `boolean` - boolean * `dictionary` - dictionary * `choice` - choice * `json` - json * `integration` - integration * `integration_field` - integration_field * `email` - email * `native_email` - native_email * `posthog_assignee` - posthog_assignee * `posthog_ticket_tags` - posthog_ticket_tags * `posthog_business_hours` - posthog_business_hours' Insight: type: object description: Simplified serializer to speed response times when loading large amounts of objects. properties: id: type: integer readOnly: true short_id: type: string readOnly: true name: type: string nullable: true maxLength: 400 derived_name: type: string nullable: true maxLength: 400 query: allOf: - $ref: '#/components/schemas/_InsightQuerySchema' nullable: true order: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true deleted: type: boolean dashboards: type: array items: type: integer description: "\n DEPRECATED. Will be removed in a future release.\ \ Use dashboard_tiles instead.\n A dashboard ID for each of the\ \ dashboards that this insight is displayed on.\n " dashboard_tiles: type: array items: $ref: '#/components/schemas/DashboardTileBasic' readOnly: true description: "\n A dashboard tile ID and dashboard_id for each of the\ \ dashboards that this insight is displayed on.\n " last_refresh: type: string format: date-time nullable: true readOnly: true description: "\n The datetime this insight's results were generated.\n\ \ If added to one or more dashboards the insight can be refreshed separately\ \ on each.\n Returns the appropriate last_refresh datetime for the\ \ context the insight is viewed in\n (see from_dashboard query parameter).\n\ \ " cache_target_age: type: string format: date-time nullable: true readOnly: true description: The target age of the cached results for this insight. next_allowed_client_refresh: type: string format: date-time nullable: true readOnly: true description: "\n The earliest possible datetime at which we'll allow\ \ the cached results for this insight to be refreshed\n by querying\ \ the database.\n " result: readOnly: true hasMore: type: boolean nullable: true readOnly: true columns: type: array items: type: string nullable: true readOnly: true created_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: type: string nullable: true maxLength: 400 updated_at: type: string format: date-time readOnly: true tags: type: array items: {} favorited: type: boolean last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true is_sample: type: boolean readOnly: true effective_restriction_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true effective_privilege_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object timezone: type: string nullable: true readOnly: true description: The timezone this chart is displayed in. is_cached: type: boolean readOnly: true query_status: readOnly: true hogql: type: string nullable: true readOnly: true types: type: array items: {} nullable: true readOnly: true resolved_date_range: type: object nullable: true properties: date_from: type: string format: date-time date_to: type: string format: date-time readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' alerts: type: array items: {} readOnly: true last_viewed_at: type: string format: date-time nullable: true readOnly: true required: - alerts - cache_target_age - columns - created_at - created_by - dashboard_tiles - effective_privilege_level - effective_restriction_level - hasMore - hogql - id - is_cached - is_sample - last_modified_at - last_modified_by - last_refresh - last_viewed_at - next_allowed_client_refresh - query_status - resolved_date_range - result - short_id - timezone - types - updated_at - user_access_level InsightActorsQuery: additionalProperties: false properties: breakdown: default: null title: Breakdown anyOf: - type: string - items: type: string type: array - type: integer nullable: true compare: default: null allOf: - $ref: '#/components/schemas/Compare' nullable: true day: default: null title: Day anyOf: - type: string - type: integer nullable: true includeRecordings: default: null title: Includerecordings type: boolean nullable: true interval: default: null description: An interval selected out of available intervals in source query. title: Interval type: integer nullable: true kind: default: InsightActorsQuery title: Kind type: string enum: - InsightActorsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ActorsQueryResponse' nullable: true series: default: null title: Series type: integer nullable: true source: discriminator: mapping: FunnelsQuery: '#/components/schemas/FunnelsQuery' LifecycleQuery: '#/components/schemas/LifecycleQuery' PathsQuery: '#/components/schemas/PathsQuery' RetentionQuery: '#/components/schemas/RetentionQuery' StickinessQuery: '#/components/schemas/StickinessQuery' TrendsQuery: '#/components/schemas/TrendsQuery' WebOverviewQuery: '#/components/schemas/WebOverviewQuery' WebStatsTableQuery: '#/components/schemas/WebStatsTableQuery' propertyName: kind oneOf: - $ref: '#/components/schemas/TrendsQuery' - $ref: '#/components/schemas/FunnelsQuery' - $ref: '#/components/schemas/RetentionQuery' - $ref: '#/components/schemas/PathsQuery' - $ref: '#/components/schemas/StickinessQuery' - $ref: '#/components/schemas/LifecycleQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebOverviewQuery' title: Source status: default: null title: Status type: string nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: InsightActorsQuery type: object InsightActorsQueryOptions: additionalProperties: false properties: kind: default: InsightActorsQueryOptions title: Kind type: string enum: - InsightActorsQueryOptions response: default: null allOf: - $ref: '#/components/schemas/InsightActorsQueryOptionsResponse' nullable: true source: anyOf: - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/FunnelsActorsQuery' - $ref: '#/components/schemas/FunnelCorrelationActorsQuery' - $ref: '#/components/schemas/StickinessActorsQuery' - $ref: '#/components/schemas/ExperimentActorsQuery' title: Source version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: InsightActorsQueryOptions type: object InsightActorsQueryOptionsResponse: additionalProperties: false properties: breakdown: default: null title: Breakdown items: $ref: '#/components/schemas/BreakdownItem' type: array nullable: true breakdowns: default: null title: Breakdowns items: $ref: '#/components/schemas/MultipleBreakdownOptions' type: array nullable: true compare: default: null title: Compare items: $ref: '#/components/schemas/CompareItem' type: array nullable: true day: default: null title: Day items: $ref: '#/components/schemas/DayItem' type: array nullable: true interval: default: null title: Interval items: $ref: '#/components/schemas/IntervalItem' type: array nullable: true series: default: null title: Series items: $ref: '#/components/schemas/Series' type: array nullable: true status: default: null title: Status items: $ref: '#/components/schemas/StatusItem' type: array nullable: true title: InsightActorsQueryOptionsResponse type: object InsightResult: type: object description: InsightSerializer restricted to identifiers + result only. properties: id: type: integer readOnly: true short_id: type: string readOnly: true name: type: string readOnly: true nullable: true derived_name: type: string readOnly: true nullable: true result: readOnly: true required: - derived_name - id - name - result - short_id InsightThreshold: additionalProperties: false properties: bounds: default: null allOf: - $ref: '#/components/schemas/InsightsThresholdBounds' nullable: true type: description: Whether bounds are compared as absolute values or as percentage change from the previous interval. allOf: - $ref: '#/components/schemas/InsightThresholdType' required: - type title: InsightThreshold type: object InsightThresholdType: enum: - absolute - percentage title: InsightThresholdType type: string InsightTypeEnum: enum: - trends - funnel - retention - sql type: string description: '* `trends` - trends * `funnel` - funnel * `retention` - retention * `sql` - sql' InsightVariable: type: object properties: id: type: string format: uuid readOnly: true description: UUID of the SQL variable. name: type: string description: Human-readable name for the SQL variable. maxLength: 400 type: allOf: - $ref: '#/components/schemas/InsightVariableTypeEnum' description: 'Variable type. Controls how the value is rendered and substituted in HogQL. * `String` - String * `Number` - Number * `Boolean` - Boolean * `List` - List * `Date` - Date' default_value: nullable: true description: Default value used when a query references this variable. created_by: type: integer readOnly: true nullable: true description: ID of the user who created the SQL variable. created_at: type: string format: date-time readOnly: true description: Timestamp when the SQL variable was created. code_name: type: string readOnly: true nullable: true description: Generated code-safe name used in HogQL as {variables.code_name}. Derived from name. values: nullable: true description: Allowed values for List variables. Null for other variable types. required: - code_name - created_at - created_by - id - name - type InsightVariableTypeEnum: enum: - String - Number - Boolean - List - Date type: string description: '* `String` - String * `Number` - Number * `Boolean` - Boolean * `List` - List * `Date` - Date' InsightVizNode: additionalProperties: false properties: embedded: default: null description: Query is embedded inside another bordered component title: Embedded type: boolean nullable: true full: default: null description: Show with most visual options enabled. Used in insight scene. title: Full type: boolean nullable: true hidePersonsModal: default: null title: Hidepersonsmodal type: boolean nullable: true hideTooltipOnScroll: default: null title: Hidetooltiponscroll type: boolean nullable: true kind: default: InsightVizNode title: Kind type: string enum: - InsightVizNode showCorrelationTable: default: null title: Showcorrelationtable type: boolean nullable: true showFilters: default: null title: Showfilters type: boolean nullable: true showHeader: default: null title: Showheader type: boolean nullable: true showLastComputation: default: null title: Showlastcomputation type: boolean nullable: true showLastComputationRefresh: default: null title: Showlastcomputationrefresh type: boolean nullable: true showResults: default: null title: Showresults type: boolean nullable: true showTable: default: null title: Showtable type: boolean nullable: true source: discriminator: mapping: FunnelsQuery: '#/components/schemas/FunnelsQuery' LifecycleQuery: '#/components/schemas/LifecycleQuery' PathsQuery: '#/components/schemas/PathsQuery' RetentionQuery: '#/components/schemas/RetentionQuery' StickinessQuery: '#/components/schemas/StickinessQuery' TrendsQuery: '#/components/schemas/TrendsQuery' WebOverviewQuery: '#/components/schemas/WebOverviewQuery' WebStatsTableQuery: '#/components/schemas/WebStatsTableQuery' propertyName: kind oneOf: - $ref: '#/components/schemas/TrendsQuery' - $ref: '#/components/schemas/FunnelsQuery' - $ref: '#/components/schemas/RetentionQuery' - $ref: '#/components/schemas/PathsQuery' - $ref: '#/components/schemas/StickinessQuery' - $ref: '#/components/schemas/LifecycleQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebOverviewQuery' title: Source suppressSessionAnalysisWarning: default: null title: Suppresssessionanalysiswarning type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true vizSpecificOptions: default: null allOf: - $ref: '#/components/schemas/VizSpecificOptions' nullable: true required: - source title: InsightVizNode type: object InsightsThresholdBounds: additionalProperties: false properties: lower: default: null description: Alert fires when the value drops below this number. title: Lower type: number nullable: true upper: default: null description: Alert fires when the value exceeds this number. title: Upper type: number nullable: true title: InsightsThresholdBounds type: object InsightsToolCall: type: object properties: query: type: string maxLength: 1000 insight_type: $ref: '#/components/schemas/InsightTypeEnum' required: - insight_type - query InstallCustom: type: object properties: name: type: string maxLength: 200 url: type: string format: uri maxLength: 2048 auth_type: $ref: '#/components/schemas/InstallCustomAuthTypeEnum' api_key: type: string default: '' description: type: string default: '' client_id: type: string default: '' client_secret: type: string default: '' install_source: allOf: - $ref: '#/components/schemas/InstallSourceEnum' default: posthog posthog_code_callback_url: type: string default: '' required: - auth_type - name - url InstallCustomAuthTypeEnum: enum: - api_key - oauth type: string description: '* `api_key` - api_key * `oauth` - oauth' InstallSourceEnum: enum: - posthog - posthog-code type: string description: '* `posthog` - posthog * `posthog-code` - posthog-code' InstallTemplate: type: object properties: template_id: type: string format: uuid api_key: type: string default: '' install_source: allOf: - $ref: '#/components/schemas/InstallSourceEnum' default: posthog posthog_code_callback_url: type: string default: '' required: - template_id Integration: additionalProperties: false properties: display_name: title: Display Name type: string id: title: Id type: number kind: $ref: '#/components/schemas/IntegrationKind' required: - display_name - id - kind title: Integration type: object IntegrationConfig: type: object description: Standard Integration serializer. properties: id: type: integer readOnly: true kind: $ref: '#/components/schemas/IntegrationKindEnum' config: {} created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true errors: type: string readOnly: true display_name: type: string readOnly: true required: - created_at - created_by - display_name - errors - id - kind IntegrationFilter: additionalProperties: false properties: integrationSourceIds: default: null description: Selected integration source IDs to filter by (e.g., table IDs or source map IDs) title: Integrationsourceids items: type: string type: array nullable: true title: IntegrationFilter type: object IntegrationKind: enum: - slack - slack-posthog-code - salesforce - hubspot - google-pubsub - google-cloud-service-account - google-cloud-storage - google-ads - google-sheets - linkedin-ads - snapchat - stripe - intercom - email - twilio - linear - github - gitlab - meta-ads - clickup - reddit-ads - databricks - tiktok-ads - bing-ads - vercel - azure-blob - firebase - jira - pinterest-ads - customerio-app - customerio-webhook - customerio-track title: IntegrationKind type: string IntegrationKindEnum: enum: - apns - azure-blob - bing-ads - clickup - customerio-app - customerio-track - customerio-webhook - databricks - email - firebase - github - gitlab - google-ads - google-cloud-service-account - google-cloud-storage - google-pubsub - google-sheets - hubspot - intercom - jira - linear - linkedin-ads - meta-ads - pinterest-ads - postgresql - reddit-ads - salesforce - slack - slack-posthog-code - snapchat - stripe - tiktok-ads - twilio - vercel type: string description: '* `apns` - Apple Push * `azure-blob` - Azure Blob * `bing-ads` - Bing Ads * `clickup` - Clickup * `customerio-app` - Customerio App * `customerio-track` - Customerio Track * `customerio-webhook` - Customerio Webhook * `databricks` - Databricks * `email` - Email * `firebase` - Firebase * `github` - Github * `gitlab` - Gitlab * `google-ads` - Google Ads * `google-cloud-service-account` - Google Cloud Service Account * `google-cloud-storage` - Google Cloud Storage * `google-pubsub` - Google Pubsub * `google-sheets` - Google Sheets * `hubspot` - Hubspot * `intercom` - Intercom * `jira` - Jira * `linear` - Linear * `linkedin-ads` - Linkedin Ads * `meta-ads` - Meta Ads * `pinterest-ads` - Pinterest Ads * `postgresql` - Postgresql * `reddit-ads` - Reddit Ads * `salesforce` - Salesforce * `slack` - Slack * `slack-posthog-code` - Slack Posthog Code * `snapchat` - Snapchat * `stripe` - Stripe * `tiktok-ads` - Tiktok Ads * `twilio` - Twilio * `vercel` - Vercel' InterestingNote: type: object properties: text: type: string line_refs: type: string required: - line_refs - text IntervalEnum: enum: - hour - day - week - every 5 minutes - every 15 minutes type: string description: '* `hour` - hour * `day` - day * `week` - week * `every 5 minutes` - every 5 minutes * `every 15 minutes` - every 15 minutes' IntervalItem: additionalProperties: false properties: label: title: Label type: string value: description: An interval selected out of available intervals in source query title: Value type: integer required: - label - value title: IntervalItem type: object IntervalType: enum: - second - minute - hour - day - week - month title: IntervalType type: string InvestigationInconclusiveActionEnum: enum: - notify - suppress type: string description: '* `notify` - Notify * `suppress` - Suppress' InvestigationStatusEnum: enum: - pending - running - done - failed - skipped type: string description: '* `pending` - pending * `running` - running * `done` - done * `failed` - failed * `skipped` - skipped' InvestigationVerdictEnum: enum: - true_positive - false_positive - inconclusive type: string description: '* `true_positive` - true_positive * `false_positive` - false_positive * `inconclusive` - inconclusive' IsolationForestDetectorConfig: additionalProperties: false properties: n_estimators: default: null description: 'Number of trees in the forest (default: 100)' title: N Estimators type: integer nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: isolation_forest title: Type type: string enum: - isolation_forest window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: IsolationForestDetectorConfig type: object JsonrpcEnum: enum: - '2.0' type: string description: '* `2.0` - 2.0' KNNDetectorConfig: additionalProperties: false properties: method: default: null description: 'Distance method: ''largest'', ''mean'', ''median'' (default: ''largest'')' allOf: - $ref: '#/components/schemas/Method' nullable: true n_neighbors: default: null description: 'Number of neighbors to consider (default: 5)' title: N Neighbors type: integer nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: knn title: Type type: string enum: - knn window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: KNNDetectorConfig type: object Key10: enum: - tag_name - text - href - selector title: Key10 type: string Kind: enum: - EventsNode - ActionsNode title: Kind type: string LLMModelInfo: type: object properties: id: type: string description: Provider-specific model identifier (e.g. 'gpt-4o-mini', 'claude-3-5-sonnet-20241022'). posthog_available: type: boolean description: Whether this model is available on PostHog's trial credits without bringing a provider key. required: - id - posthog_available LLMModelsListResponse: type: object properties: models: type: array items: $ref: '#/components/schemas/LLMModelInfo' description: Models supported for the requested provider. required: - models LLMPrompt: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Unique prompt name using letters, numbers, hyphens, and underscores only. maxLength: 255 prompt: description: Prompt payload as JSON or string data. version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean readOnly: true is_latest: type: boolean readOnly: true latest_version: type: integer readOnly: true version_count: type: integer readOnly: true first_version_created_at: type: string readOnly: true outline: type: array items: $ref: '#/components/schemas/LLMPromptOutlineEntry' readOnly: true required: - created_at - created_by - deleted - first_version_created_at - id - is_latest - latest_version - name - outline - prompt - updated_at - version - version_count LLMPromptDuplicate: type: object properties: new_name: type: string description: Name for the duplicated prompt. Must be unique and use only letters, numbers, hyphens, and underscores. maxLength: 255 required: - new_name LLMPromptEditOperation: type: object properties: old: type: string description: Text to find in the current prompt. Must match exactly once. new: type: string description: Replacement text. required: - new - old LLMPromptList: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true description: Unique prompt name using letters, numbers, hyphens, and underscores only. prompt: readOnly: true description: Prompt payload as JSON or string data. version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean readOnly: true is_latest: type: boolean readOnly: true latest_version: type: integer readOnly: true version_count: type: integer readOnly: true first_version_created_at: type: string readOnly: true outline: type: array items: $ref: '#/components/schemas/LLMPromptOutlineEntry' readOnly: true prompt_preview: type: string readOnly: true prompt_size_bytes: type: integer readOnly: true required: - created_at - created_by - deleted - first_version_created_at - id - is_latest - latest_version - name - outline - prompt - prompt_preview - prompt_size_bytes - updated_at - version - version_count LLMPromptOutlineEntry: type: object properties: level: type: integer maximum: 6 minimum: 1 description: Markdown heading level (1-6). text: type: string description: Heading text with markdown link syntax preserved. required: - level - text LLMPromptPublic: type: object properties: id: type: string format: uuid name: type: string prompt: description: Full prompt content. Omitted when 'content=preview' or 'content=none'. prompt_preview: type: string description: First 160 characters of the prompt. Only present when 'content=preview'. outline: type: array items: $ref: '#/components/schemas/LLMPromptOutlineEntry' description: Flat list of markdown headings parsed from the prompt. Useful as a lightweight table of contents. version: type: integer created_at: type: string format: date-time updated_at: type: string format: date-time deleted: type: boolean is_latest: type: boolean latest_version: type: integer version_count: type: integer first_version_created_at: type: string format: date-time required: - created_at - deleted - first_version_created_at - id - is_latest - latest_version - name - outline - updated_at - version - version_count LLMPromptResolveResponse: type: object properties: prompt: $ref: '#/components/schemas/LLMPrompt' versions: type: array items: $ref: '#/components/schemas/LLMPromptVersionSummary' has_more: type: boolean required: - has_more - prompt - versions LLMPromptVersionSummary: type: object properties: id: type: string format: uuid readOnly: true version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true is_latest: type: boolean readOnly: true required: - created_at - created_by - id - is_latest - version LLMProviderEnum: enum: - openai - anthropic - gemini - openrouter - fireworks - azure_openai - together_ai type: string description: '* `openai` - Openai * `anthropic` - Anthropic * `gemini` - Gemini * `openrouter` - Openrouter * `fireworks` - Fireworks * `azure_openai` - Azure OpenAI * `together_ai` - Together AI' LLMProviderKey: type: object properties: id: type: string format: uuid readOnly: true provider: $ref: '#/components/schemas/LLMProviderEnum' name: type: string maxLength: 255 state: allOf: - $ref: '#/components/schemas/LLMProviderKeyStateEnum' readOnly: true error_message: type: string readOnly: true nullable: true api_key: type: string writeOnly: true api_key_masked: type: string readOnly: true azure_endpoint: type: string format: uri writeOnly: true description: Azure OpenAI endpoint URL api_version: type: string writeOnly: true description: Azure OpenAI API version maxLength: 20 azure_endpoint_display: type: string nullable: true readOnly: true description: Azure endpoint (read-only, for display) api_version_display: type: string nullable: true readOnly: true description: Azure API version (read-only, for display) set_as_active: type: boolean writeOnly: true default: false created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_used_at: type: string format: date-time readOnly: true nullable: true required: - api_key_masked - api_version_display - azure_endpoint_display - created_at - created_by - error_message - id - last_used_at - name - provider - state LLMProviderKeyStateEnum: enum: - unknown - ok - invalid - error type: string description: '* `unknown` - Unknown * `ok` - Ok * `invalid` - Invalid * `error` - Error' LLMSkill: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Unique skill name. Lowercase letters, numbers, and hyphens only. Max 64 characters. maxLength: 64 description: type: string description: What this skill does and when to use it. Max 4096 characters. maxLength: 4096 body: type: string description: The SKILL.md instruction content (markdown). license: type: string description: License name or reference to a bundled license file. maxLength: 255 compatibility: type: string description: Environment requirements (intended product, system packages, network access, etc.). maxLength: 500 allowed_tools: type: array items: type: string description: List of pre-approved tools the skill may use. metadata: type: object additionalProperties: true description: Arbitrary key-value metadata. files: type: array items: $ref: '#/components/schemas/LLMSkillFileManifest' readOnly: true description: Bundled files manifest. Each entry is path + content_type only; fetch content via /llm_skills/name/{name}/files/{path}/. outline: type: array items: $ref: '#/components/schemas/LLMSkillOutlineEntry' readOnly: true description: Flat list of markdown headings parsed from the skill body. Useful as a lightweight table of contents. version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean readOnly: true is_latest: type: boolean readOnly: true latest_version: type: integer readOnly: true version_count: type: integer readOnly: true first_version_created_at: type: string readOnly: true required: - body - created_at - created_by - deleted - description - files - first_version_created_at - id - is_latest - latest_version - name - outline - updated_at - version - version_count LLMSkillCreate: type: object description: Create serializer — accepts bundled files as write-only input on POST. properties: id: type: string format: uuid readOnly: true name: type: string description: Unique skill name. Lowercase letters, numbers, and hyphens only. Max 64 characters. maxLength: 64 description: type: string description: What this skill does and when to use it. Max 4096 characters. maxLength: 4096 body: type: string description: The SKILL.md instruction content (markdown). license: type: string description: License name or reference to a bundled license file. maxLength: 255 compatibility: type: string description: Environment requirements (intended product, system packages, network access, etc.). maxLength: 500 allowed_tools: type: array items: type: string description: List of pre-approved tools the skill may use. metadata: type: object additionalProperties: true description: Arbitrary key-value metadata. files: type: array items: $ref: '#/components/schemas/LLMSkillFileInput' writeOnly: true description: Bundled files to include with the initial version (scripts, references, assets). outline: type: array items: $ref: '#/components/schemas/LLMSkillOutlineEntry' readOnly: true description: Flat list of markdown headings parsed from the skill body. Useful as a lightweight table of contents. version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean readOnly: true is_latest: type: boolean readOnly: true latest_version: type: integer readOnly: true version_count: type: integer readOnly: true first_version_created_at: type: string readOnly: true required: - body - created_at - created_by - deleted - description - first_version_created_at - id - is_latest - latest_version - name - outline - updated_at - version - version_count LLMSkillDuplicate: type: object properties: new_name: type: string description: Name for the duplicated skill. Must be unique. maxLength: 64 required: - new_name LLMSkillEditOperation: type: object properties: old: type: string description: Text to find in the target content. Must match exactly once. new: type: string description: Replacement text. required: - new - old LLMSkillFile: type: object properties: path: type: string maxLength: 500 content: type: string content_type: type: string maxLength: 100 required: - content - path LLMSkillFileCreate: type: object properties: path: type: string description: File path relative to skill root, e.g. 'scripts/setup.sh' or 'references/guide.md'. maxLength: 500 content: type: string description: Text content of the file. content_type: type: string default: text/plain description: MIME type of the file content. maxLength: 100 base_version: type: integer minimum: 1 description: Latest version you are editing from. If provided, the request fails with 409 when another write has landed in the meantime. required: - content - path LLMSkillFileEdit: type: object properties: path: type: string description: Path of the bundled file to edit. Must match an existing file on the current skill version. maxLength: 500 edits: type: array items: $ref: '#/components/schemas/LLMSkillEditOperation' description: Sequential find/replace operations to apply to this file's content. required: - edits - path LLMSkillFileInput: type: object properties: path: type: string description: File path relative to skill root, e.g. 'scripts/setup.sh' or 'references/guide.md'. maxLength: 500 content: type: string description: Text content of the file. content_type: type: string default: text/plain description: MIME type of the file content. maxLength: 100 required: - content - path LLMSkillFileManifest: type: object properties: path: type: string maxLength: 500 content_type: type: string maxLength: 100 required: - path LLMSkillFileRename: type: object properties: old_path: type: string description: Current file path to rename. maxLength: 500 new_path: type: string description: New file path. Must not already exist in the skill. maxLength: 500 base_version: type: integer minimum: 1 description: Latest version you are editing from. If provided, the request fails with 409 when another write has landed in the meantime. required: - new_path - old_path LLMSkillList: type: object description: List serializer that omits body and file manifest — progressive disclosure (Level 1). properties: id: type: string format: uuid readOnly: true name: type: string description: Unique skill name. Lowercase letters, numbers, and hyphens only. Max 64 characters. maxLength: 64 description: type: string description: What this skill does and when to use it. Max 4096 characters. maxLength: 4096 license: type: string description: License name or reference to a bundled license file. maxLength: 255 compatibility: type: string description: Environment requirements (intended product, system packages, network access, etc.). maxLength: 500 allowed_tools: type: array items: type: string description: List of pre-approved tools the skill may use. metadata: type: object additionalProperties: true description: Arbitrary key-value metadata. outline: type: array items: $ref: '#/components/schemas/LLMSkillOutlineEntry' readOnly: true description: Flat list of markdown headings parsed from the skill body. Useful as a lightweight table of contents. version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean readOnly: true is_latest: type: boolean readOnly: true latest_version: type: integer readOnly: true version_count: type: integer readOnly: true first_version_created_at: type: string readOnly: true required: - created_at - created_by - deleted - description - first_version_created_at - id - is_latest - latest_version - name - outline - updated_at - version - version_count LLMSkillOutlineEntry: type: object properties: level: type: integer maximum: 6 minimum: 1 description: Markdown heading level (1-6). text: type: string description: Heading text. required: - level - text LLMSkillResolveResponse: type: object properties: skill: $ref: '#/components/schemas/LLMSkill' versions: type: array items: $ref: '#/components/schemas/LLMSkillVersionSummary' has_more: type: boolean required: - has_more - skill - versions LLMSkillVersionSummary: type: object properties: id: type: string format: uuid readOnly: true version: type: integer readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true is_latest: type: boolean readOnly: true required: - created_at - created_by - id - is_latest - version LLMTrace: additionalProperties: false properties: aiSessionId: default: null title: Aisessionid type: string nullable: true createdAt: title: Createdat type: string distinctId: title: Distinctid type: string errorCount: default: null title: Errorcount type: number nullable: true events: items: $ref: '#/components/schemas/LLMTraceEvent' title: Events type: array id: title: Id type: string inputCost: default: null title: Inputcost type: number nullable: true inputState: default: null title: Inputstate nullable: true inputTokens: default: null title: Inputtokens type: number nullable: true isSupportTrace: default: null title: Issupporttrace type: boolean nullable: true outputCost: default: null title: Outputcost type: number nullable: true outputState: default: null title: Outputstate nullable: true outputTokens: default: null title: Outputtokens type: number nullable: true person: default: null allOf: - $ref: '#/components/schemas/LLMTracePerson' nullable: true requestCost: default: null title: Requestcost type: number nullable: true tools: default: null title: Tools items: type: string type: array nullable: true totalCost: default: null title: Totalcost type: number nullable: true totalLatency: default: null title: Totallatency type: number nullable: true traceName: default: null title: Tracename type: string nullable: true webSearchCost: default: null title: Websearchcost type: number nullable: true required: - createdAt - distinctId - events - id title: LLMTrace type: object LLMTraceEvent: additionalProperties: false properties: createdAt: title: Createdat type: string event: anyOf: - $ref: '#/components/schemas/AIEventType' - type: string title: Event id: title: Id type: string properties: type: object additionalProperties: true title: Properties required: - createdAt - event - id - properties title: LLMTraceEvent type: object LLMTracePerson: additionalProperties: false properties: created_at: title: Created At type: string distinct_id: title: Distinct Id type: string properties: type: object additionalProperties: true title: Properties uuid: title: Uuid type: string required: - created_at - distinct_id - properties - uuid title: LLMTracePerson type: object LOFDetectorConfig: additionalProperties: false properties: n_neighbors: default: null description: 'Number of neighbors for LOF (default: 20)' title: N Neighbors type: integer nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: lof title: Type type: string enum: - lof window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: LOFDetectorConfig type: object LastActiveEnum: enum: - today - this_week - inactive - never type: string description: '* `today` - today * `this_week` - this_week * `inactive` - inactive * `never` - never' LastEvent: additionalProperties: false properties: distinct_id: title: Distinct Id type: string properties: type: string title: Properties timestamp: title: Timestamp type: string uuid: title: Uuid type: string required: - distinct_id - properties - timestamp - uuid title: LastEvent type: object LegalDocumentCreator: type: object properties: first_name: type: string email: type: string required: - email - first_name LegalDocumentDTO: type: object description: Output serializer — what the API returns for every row. properties: id: type: string format: uuid document_type: type: string company_name: type: string representative_email: type: string status: type: string created_by: allOf: - $ref: '#/components/schemas/LegalDocumentCreator' nullable: true created_at: type: string format: date-time required: - company_name - created_at - created_by - document_type - id - representative_email - status LifecycleDataWarehouseNode: additionalProperties: false properties: aggregation_target_field: title: Aggregation Target Field type: string created_at_field: title: Created At Field type: string custom_name: default: null title: Custom Name type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true id: title: Id type: string kind: default: LifecycleDataWarehouseNode title: Kind type: string enum: - LifecycleDataWarehouseNode math: default: null title: Math anyOf: - $ref: '#/components/schemas/BaseMathType' - $ref: '#/components/schemas/FunnelMathType' - $ref: '#/components/schemas/PropertyMathType' - $ref: '#/components/schemas/CountPerActorMathType' - $ref: '#/components/schemas/ExperimentMetricMathType' - $ref: '#/components/schemas/CalendarHeatmapMathType' - type: string enum: - unique_group - type: string enum: - hogql nullable: true math_group_type_index: default: null allOf: - $ref: '#/components/schemas/MathGroupTypeIndex' nullable: true math_hogql: default: null title: Math Hogql type: string nullable: true math_multiplier: default: null title: Math Multiplier type: number nullable: true math_property: default: null title: Math Property type: string nullable: true math_property_revenue_currency: default: null allOf: - $ref: '#/components/schemas/RevenueCurrencyPropertyConfig' nullable: true math_property_type: default: null title: Math Property Type type: string nullable: true name: default: null title: Name type: string nullable: true optionalInFunnel: default: null title: Optionalinfunnel type: boolean nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true table_name: title: Table Name type: string timestamp_field: title: Timestamp Field type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - aggregation_target_field - created_at_field - id - table_name - timestamp_field title: LifecycleDataWarehouseNode type: object LifecycleFilter: additionalProperties: false properties: showLegend: default: false title: Showlegend type: boolean nullable: true showValuesOnSeries: default: null title: Showvaluesonseries type: boolean nullable: true stacked: default: true title: Stacked type: boolean nullable: true toggledLifecycles: default: null title: Toggledlifecycles items: $ref: '#/components/schemas/LifecycleToggle' type: array nullable: true title: LifecycleFilter type: object LifecycleQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation title: Aggregation Group Type Index type: integer nullable: true customAggregationTarget: default: null description: For data warehouse based lifecycle insights when the aggregation target can't be mapped to persons or groups. title: Customaggregationtarget type: boolean nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true interval: default: day description: Granularity of the response. Can be one of `hour`, `day`, `week` or `month` allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: LifecycleQuery title: Kind type: string enum: - LifecycleQuery lifecycleFilter: default: null description: Properties specific to the lifecycle insight allOf: - $ref: '#/components/schemas/LifecycleFilter' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/LifecycleQueryResponse' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true series: description: Events and actions to include items: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/LifecycleDataWarehouseNode' title: Series type: array tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - series title: LifecycleQuery type: object LifecycleQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: LifecycleQueryResponse type: object LifecycleToggle: enum: - new - resurrecting - returning - dormant title: LifecycleToggle type: string LimitContext: enum: - posthog_ai - null title: LimitContext LiveDebuggerBreakpoint: type: object properties: id: type: string format: uuid readOnly: true repository: type: string nullable: true filename: type: string line_number: type: integer maximum: 2147483647 minimum: 0 enabled: type: boolean condition: type: string nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - filename - id - line_number - updated_at LocalEvaluationResponse: type: object properties: flags: type: array items: $ref: '#/components/schemas/MinimalFeatureFlag' group_type_mapping: type: object additionalProperties: type: string cohorts: type: object additionalProperties: true description: Cohort definitions keyed by cohort ID. Each value is a property group structure with 'type' (OR/AND) and 'values' (array of property groups or property filters). required: - cohorts - flags - group_type_mapping LogAttributeResult: additionalProperties: false properties: matchedOn: description: Whether this row matched the search by attribute key or by attribute value. allOf: - $ref: '#/components/schemas/MatchedOn' matchedValue: default: null description: Sample value that matched the search — only set when matchedOn is 'value'. title: Matchedvalue type: string nullable: true name: title: Name type: string propertyFilterType: description: Either 'log_attribute' or 'log_resource_attribute'. title: Propertyfiltertype type: string required: - matchedOn - name - propertyFilterType title: LogAttributeResult type: object LogAttributesQuery: additionalProperties: false properties: attributeType: title: Attributetype type: string dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterGroup: default: null allOf: - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true kind: default: LogAttributesQuery title: Kind type: string enum: - LogAttributesQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/LogAttributesQueryResponse' nullable: true search: default: null title: Search type: string nullable: true searchValues: default: null description: When true, the search query also matches attribute values (not just keys). title: Searchvalues type: boolean nullable: true serviceNames: default: null title: Servicenames items: type: string type: array nullable: true severityLevels: default: null title: Severitylevels items: $ref: '#/components/schemas/LogSeverityLevel' type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - attributeType title: LogAttributesQuery type: object LogAttributesQueryResponse: additionalProperties: false properties: count: title: Count type: number error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LogAttributeResult' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - count - results title: LogAttributesQueryResponse type: object LogEntryPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: log_entry title: Type type: string enum: - log_entry value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: LogEntryPropertyFilter type: object LogPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: $ref: '#/components/schemas/LogPropertyFilterType' value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator - type title: LogPropertyFilter type: object LogPropertyFilterType: enum: - log - log_attribute - log_resource_attribute title: LogPropertyFilterType type: string LogSeverityLevel: enum: - trace - debug - info - warn - error - fatal title: LogSeverityLevel type: string LogValueResult: additionalProperties: false properties: id: title: Id type: string name: title: Name type: string required: - id - name title: LogValueResult type: object LogValuesQuery: additionalProperties: false properties: attributeKey: title: Attributekey type: string attributeType: title: Attributetype type: string dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterGroup: default: null allOf: - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true kind: default: LogValuesQuery title: Kind type: string enum: - LogValuesQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/LogValuesQueryResponse' nullable: true search: default: null title: Search type: string nullable: true serviceNames: default: null title: Servicenames items: type: string type: array nullable: true severityLevels: default: null title: Severitylevels items: $ref: '#/components/schemas/LogSeverityLevel' type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - attributeKey - attributeType title: LogValuesQuery type: object LogValuesQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LogValueResult' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: LogValuesQueryResponse type: object LogsAlertConfiguration: type: object properties: id: type: string format: uuid readOnly: true description: Unique identifier for this alert. name: type: string description: Human-readable name for this alert. Defaults to 'Untitled alert' on create when omitted. maxLength: 255 enabled: type: boolean default: true description: Whether the alert is actively being evaluated. Disabling resets the state to not_firing. filters: description: 'Filter criteria — subset of LogsViewerFilters. Must contain at least one of: severityLevels (list of severity strings), serviceNames (list of service name strings), or filterGroup (property filter group object). May be empty on draft alerts (enabled=false).' threshold_count: type: integer minimum: 1 default: 100 description: Number of matching log entries that constitutes a threshold breach within the evaluation window. Defaults to 100. threshold_operator: allOf: - $ref: '#/components/schemas/ThresholdOperatorEnum' default: above description: 'Whether the alert fires when the count is above or below the threshold. * `above` - Above * `below` - Below' window_minutes: type: integer default: 5 description: 'Time window in minutes over which log entries are counted. Allowed values: 5, 10, 15, 30, 60.' check_interval_minutes: type: integer readOnly: true description: How often the alert is evaluated, in minutes. Server-managed. state: allOf: - $ref: '#/components/schemas/LogsAlertConfigurationStateEnum' readOnly: true description: 'Current alert state: not_firing, firing, pending_resolve, errored, or snoozed. Server-managed. * `not_firing` - Not firing * `firing` - Firing * `pending_resolve` - Pending resolve * `errored` - Errored * `snoozed` - Snoozed * `broken` - Broken' evaluation_periods: type: integer maximum: 10 minimum: 1 default: 1 description: Total number of check periods in the sliding evaluation window for firing (M in N-of-M). datapoints_to_alarm: type: integer maximum: 10 minimum: 1 default: 1 description: How many periods within the evaluation window must breach the threshold to fire (N in N-of-M). cooldown_minutes: type: integer minimum: 0 default: 0 description: Minimum minutes between repeated notifications after the alert fires. 0 means no cooldown. snooze_until: type: string format: date-time nullable: true description: ISO 8601 timestamp until which the alert is snoozed. Set to null to unsnooze. next_check_at: type: string format: date-time readOnly: true nullable: true description: When the next evaluation is scheduled. Server-managed. last_notified_at: type: string format: date-time readOnly: true nullable: true description: When the last notification was sent. Server-managed. last_checked_at: type: string format: date-time readOnly: true nullable: true description: When the alert was last evaluated. Server-managed. consecutive_failures: type: integer readOnly: true description: Number of consecutive evaluation failures. Resets on success. Server-managed. last_error_message: type: string nullable: true readOnly: true description: Error message from the most recent errored check, or null if the alert's most recent check was successful. Sourced from LogsAlertEvent without denormalization so retention-aware cleanup rules stay the only source of truth. state_timeline: type: array items: $ref: '#/components/schemas/LogsAlertStateInterval' readOnly: true description: Continuous state intervals over the last 24h, ordered oldest-first. Each interval covers a span during which (state, enabled) was constant. Derived from LogsAlertEvent rows walked in chronological order; consecutive identical intervals are collapsed. Drives the 'Last 24h' status bar on the alert list. destination_types: type: array items: $ref: '#/components/schemas/NotificationDestinationTypeEnum' readOnly: true description: Notification destination types configured for this alert — e.g. 'slack', 'webhook'. Empty list means no notifications will fire. One or more destinations should be added after creating an alert. first_enabled_at: type: string format: date-time readOnly: true nullable: true description: When the alert was first enabled. Null means the alert is still in draft state. created_at: type: string format: date-time readOnly: true description: When the alert was created. created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true description: When the alert was last modified. required: - check_interval_minutes - consecutive_failures - created_at - created_by - destination_types - first_enabled_at - id - last_checked_at - last_error_message - last_notified_at - next_check_at - state - state_timeline - updated_at LogsAlertConfigurationStateEnum: enum: - not_firing - firing - pending_resolve - errored - snoozed - broken type: string description: '* `not_firing` - Not firing * `firing` - Firing * `pending_resolve` - Pending resolve * `errored` - Errored * `snoozed` - Snoozed * `broken` - Broken' LogsAlertCreateDestination: type: object properties: type: allOf: - $ref: '#/components/schemas/NotificationDestinationTypeEnum' description: 'Destination type — slack or webhook. * `slack` - slack * `webhook` - webhook' slack_workspace_id: type: integer description: Integration ID for the Slack workspace. Required when type=slack. slack_channel_id: type: string description: Slack channel ID. Required when type=slack. slack_channel_name: type: string description: Human-readable channel name for display. webhook_url: type: string format: uri description: HTTPS endpoint to POST to. Required when type=webhook. required: - type LogsAlertDeleteDestination: type: object properties: hog_function_ids: type: array items: type: string format: uuid description: HogFunction IDs to delete as one atomic destination group. minItems: 1 required: - hog_function_ids LogsAlertDestinationResponse: type: object properties: hog_function_ids: type: array items: type: string format: uuid required: - hog_function_ids LogsAlertEvent: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true kind: allOf: - $ref: '#/components/schemas/LogsAlertEventKindEnum' readOnly: true state_before: type: string readOnly: true state_after: type: string readOnly: true threshold_breached: type: boolean readOnly: true result_count: type: integer readOnly: true nullable: true error_message: type: string readOnly: true nullable: true query_duration_ms: type: integer readOnly: true nullable: true required: - created_at - error_message - id - kind - query_duration_ms - result_count - state_after - state_before - threshold_breached LogsAlertEventKindEnum: enum: - check - reset - enable - disable - snooze - unsnooze - threshold_change type: string description: '* `check` - Check * `reset` - Reset * `enable` - Enable * `disable` - Disable * `snooze` - Snooze * `unsnooze` - Unsnooze * `threshold_change` - Threshold change' LogsAlertSimulateBucket: type: object properties: timestamp: type: string format: date-time description: Bucket start timestamp. count: type: integer description: Number of matching logs in this bucket. threshold_breached: type: boolean description: Whether the count crossed the threshold in this bucket. state: type: string description: Alert state after evaluating this bucket. notification: type: string description: 'Notification action: none, fire, or resolve.' reason: type: string description: Human-readable explanation of the state transition. required: - count - notification - reason - state - threshold_breached - timestamp LogsAlertSimulateRequest: type: object properties: filters: description: Filter criteria — same format as LogsAlertConfiguration.filters. threshold_count: type: integer minimum: 1 description: Threshold count to evaluate against. threshold_operator: allOf: - $ref: '#/components/schemas/ThresholdOperatorEnum' description: 'Whether the alert fires when the count is above or below the threshold. * `above` - Above * `below` - Below' window_minutes: type: integer description: Window size in minutes — determines bucket interval. evaluation_periods: type: integer maximum: 10 minimum: 1 default: 1 description: Total check periods in the N-of-M evaluation window (M). datapoints_to_alarm: type: integer maximum: 10 minimum: 1 default: 1 description: How many periods must breach to fire (N in N-of-M). cooldown_minutes: type: integer minimum: 0 default: 0 description: Minutes to wait after firing before sending another notification. date_from: type: string description: Relative date string for how far back to simulate (e.g. '-24h', '-7d', '-30d'). required: - date_from - filters - threshold_count - threshold_operator - window_minutes LogsAlertSimulateResponse: type: object properties: buckets: type: array items: $ref: '#/components/schemas/LogsAlertSimulateBucket' description: Time-bucketed counts with full state machine evaluation. fire_count: type: integer description: Number of times the alert would have sent a fire notification. resolve_count: type: integer description: Number of times the alert would have sent a resolve notification. total_buckets: type: integer description: Total number of buckets in the simulation window. threshold_count: type: integer description: Threshold count used for evaluation. threshold_operator: type: string description: Threshold operator used for evaluation. required: - buckets - fire_count - resolve_count - threshold_count - threshold_operator - total_buckets LogsAlertStateInterval: type: object properties: start: type: string format: date-time description: Interval start (UTC, inclusive). end: type: string format: date-time description: Interval end (UTC, exclusive). state: allOf: - $ref: '#/components/schemas/LogsAlertConfigurationStateEnum' description: 'Alert state during this interval. * `not_firing` - Not firing * `firing` - Firing * `pending_resolve` - Pending resolve * `errored` - Errored * `snoozed` - Snoozed * `broken` - Broken' enabled: type: boolean description: Whether the alert was enabled during this interval. Disabled alerts keep their state but are inactive. required: - enabled - end - start - state LogsOrderBy: enum: - latest - earliest title: LogsOrderBy type: string LogsQuery: additionalProperties: false properties: after: default: null description: Cursor for fetching the next page of results title: After type: string nullable: true dateRange: $ref: '#/components/schemas/DateRange' filterGroup: $ref: '#/components/schemas/PropertyGroupFilter' kind: default: LogsQuery title: Kind type: string enum: - LogsQuery limit: default: null title: Limit type: integer nullable: true liveLogsCheckpoint: default: null title: Livelogscheckpoint type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null allOf: - $ref: '#/components/schemas/LogsOrderBy' nullable: true resourceFingerprint: default: null title: Resourcefingerprint type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/LogsQueryResponse' nullable: true searchTerm: default: null title: Searchterm type: string nullable: true serviceNames: items: type: string title: Servicenames type: array severityLevels: items: $ref: '#/components/schemas/LogSeverityLevel' title: Severitylevels type: array sparklineBreakdownBy: default: null description: Field to break down sparkline data by (used only by sparkline endpoint) allOf: - $ref: '#/components/schemas/LogsSparklineBreakdownBy' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - dateRange - filterGroup - serviceNames - severityLevels title: LogsQuery type: object LogsQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: LogsQueryResponse type: object LogsSamplingRule: type: object properties: id: type: string format: uuid readOnly: true description: Unique identifier for this sampling rule. name: type: string description: User-visible label for this rule. maxLength: 255 enabled: type: boolean default: false description: When false, the rule is ignored by ingestion and listing UIs that show active rules only. priority: type: integer minimum: 0 nullable: true description: Lower numbers are evaluated first; the first matching rule wins. Omit to append after existing rules. rule_type: allOf: - $ref: '#/components/schemas/RuleTypeEnum' description: 'Rule kind: severity_sampling, path_drop, or rate_limit (rate_limit reserved for a future release). * `severity_sampling` - Severity-based reduction * `path_drop` - Path exclusion * `rate_limit` - Rate limit' scope_service: type: string nullable: true description: If set, the rule applies only to this service name; null means all services. maxLength: 512 scope_path_pattern: type: string nullable: true description: Optional regex matched against a path-like log attribute when present. maxLength: 1024 scope_attribute_filters: type: array items: type: object additionalProperties: true description: Optional list of predicates over string attributes, e.g. [{"key":"http.route","op":"eq","value":"/api"}]. config: description: 'Type-specific JSON. For path_drop: object with required `patterns` (list of regex strings) and optional `match_attribute_key` (string). When `match_attribute_key` is omitted or empty, patterns match the same virtual path string as ingestion (url.path, http.path, http.route, path). When set, each pattern is tested only against that string attribute on the log record. For severity_sampling: object with `actions` per severity level and optional `always_keep`. rate_limit is reserved.' version: type: integer readOnly: true description: Incremented on each update for worker cache coherency. created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - config - created_at - created_by - id - name - rule_type - updated_at - version LogsSamplingRuleReorder: type: object properties: ordered_ids: type: array items: type: string format: uuid description: Rule IDs in the desired evaluation order (first element is highest priority / lowest order index). required: - ordered_ids LogsSamplingRuleSimulateResponse: type: object properties: estimated_reduction_pct: type: number format: double description: Rough percent of log volume this rule would drop (0–100). Stub until ClickHouse-backed estimate ships. notes: type: string description: Human-readable caveats for the estimate. required: - estimated_reduction_pct - notes LogsSparklineBreakdownBy: enum: - severity - service title: LogsSparklineBreakdownBy type: string LogsView: type: object properties: id: type: string format: uuid readOnly: true short_id: type: string readOnly: true name: type: string maxLength: 400 filters: type: object additionalProperties: true description: Filter criteria — subset of LogsViewerFilters. May contain severityLevels, serviceNames, searchTerm, filterGroup, dateRange, and other keys. pinned: type: boolean created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - created_at - created_by - id - name - short_id - updated_at MADDetectorConfig: additionalProperties: false properties: preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)' title: Threshold type: number nullable: true type: default: mad title: Type type: string enum: - mad window: default: null description: 'Rolling window size for calculating median/MAD (default: 30)' title: Window type: integer nullable: true title: MADDetectorConfig type: object MCPAuthTypeEnum: enum: - api_key - oauth type: string description: '* `api_key` - API Key * `oauth` - OAuth' MCPServerInstallation: type: object properties: id: type: string format: uuid readOnly: true template_id: type: string format: uuid readOnly: true nullable: true name: type: string readOnly: true icon_key: type: string readOnly: true default: '' description: Lowercase key from the linked template for brand icons. Empty if custom install (no template). display_name: type: string maxLength: 200 url: type: string format: uri maxLength: 2048 description: type: string auth_type: $ref: '#/components/schemas/MCPAuthTypeEnum' is_enabled: type: boolean needs_reauth: type: boolean readOnly: true pending_oauth: type: boolean readOnly: true proxy_url: type: string readOnly: true tool_count: type: integer readOnly: true description: Number of live (non-removed) tools exposed by this installation. created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - created_at - icon_key - id - name - needs_reauth - pending_oauth - proxy_url - template_id - tool_count - updated_at MCPServerInstallationTool: type: object properties: id: type: string format: uuid readOnly: true tool_name: type: string readOnly: true display_name: type: string readOnly: true description: type: string readOnly: true input_schema: readOnly: true approval_state: $ref: '#/components/schemas/MCPServerInstallationToolApprovalStateEnum' last_seen_at: type: string format: date-time readOnly: true removed_at: type: string format: date-time readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - created_at - description - display_name - id - input_schema - last_seen_at - removed_at - tool_name - updated_at MCPServerInstallationToolApprovalStateEnum: enum: - approved - needs_approval - do_not_use type: string description: '* `approved` - Approved * `needs_approval` - Needs approval * `do_not_use` - Do not use' MCPServerTemplate: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 200 url: type: string format: uri maxLength: 2048 docs_url: type: string format: uri maxLength: 2048 description: type: string auth_type: $ref: '#/components/schemas/MCPAuthTypeEnum' icon_key: type: string maxLength: 100 category: $ref: '#/components/schemas/CategoryEnum' required: - id - name - url Mappings: type: object properties: name: type: string inputs_schema: type: array items: $ref: '#/components/schemas/InputsSchemaItem' inputs: type: object additionalProperties: $ref: '#/components/schemas/InputsItem' filters: $ref: '#/components/schemas/HogFunctionFilters' MarkToleratedInput: type: object properties: snapshot_id: type: string format: uuid required: - snapshot_id MarketingAnalyticsAggregatedQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true draftConversionGoal: default: null description: Draft conversion goal that can be set in the UI without saving title: Draftconversiongoal anyOf: - $ref: '#/components/schemas/ConversionGoalFilter1' - $ref: '#/components/schemas/ConversionGoalFilter2' - $ref: '#/components/schemas/ConversionGoalFilter3' nullable: true drillDownLevel: default: null description: 'Drill-down hierarchy level: channel, source, or campaign (default)' allOf: - $ref: '#/components/schemas/MarketingAnalyticsDrillDownLevel' nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true integrationFilter: default: null description: Filter by integration IDs allOf: - $ref: '#/components/schemas/IntegrationFilter' nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: MarketingAnalyticsAggregatedQuery title: Kind type: string enum: - MarketingAnalyticsAggregatedQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true select: default: null description: Return a limited set of data. Will use default columns if empty. title: Select items: type: string type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: MarketingAnalyticsAggregatedQuery type: object MarketingAnalyticsAggregatedQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: additionalProperties: $ref: '#/components/schemas/MarketingAnalyticsItem' title: Results type: object samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: MarketingAnalyticsAggregatedQueryResponse type: object MarketingAnalyticsDrillDownLevel: enum: - channel - source - campaign - medium - content - term title: MarketingAnalyticsDrillDownLevel type: string MarketingAnalyticsItem: additionalProperties: false properties: changeFromPreviousPct: default: null title: Changefrompreviouspct type: number nullable: true hasComparison: default: null title: Hascomparison type: boolean nullable: true isIncreaseBad: default: null title: Isincreasebad type: boolean nullable: true key: title: Key type: string kind: $ref: '#/components/schemas/WebAnalyticsItemKind' previous: default: null title: Previous anyOf: - type: number - type: string nullable: true value: default: null title: Value anyOf: - type: number - type: string nullable: true required: - key - kind title: MarketingAnalyticsItem type: object MarketingAnalyticsOrderByEnum: enum: - ASC - DESC title: MarketingAnalyticsOrderByEnum type: string MarketingAnalyticsTableQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null description: Compare to date range allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true draftConversionGoal: default: null description: Draft conversion goal that can be set in the UI without saving title: Draftconversiongoal anyOf: - $ref: '#/components/schemas/ConversionGoalFilter1' - $ref: '#/components/schemas/ConversionGoalFilter2' - $ref: '#/components/schemas/ConversionGoalFilter3' nullable: true drillDownLevel: default: null description: 'Drill-down hierarchy level: channel, source, or campaign (default)' allOf: - $ref: '#/components/schemas/MarketingAnalyticsDrillDownLevel' nullable: true filterTestAccounts: default: null description: Filter test accounts title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true integrationFilter: default: null description: Filter by integration type allOf: - $ref: '#/components/schemas/IntegrationFilter' nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: MarketingAnalyticsTableQuery title: Kind type: string enum: - MarketingAnalyticsTableQuery limit: default: null description: Number of rows to return title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null description: Number of rows to skip before returning rows title: Offset type: integer nullable: true orderBy: default: null description: Columns to order by - similar to EventsQuery format title: Orderby items: items: anyOf: - type: string - $ref: '#/components/schemas/MarketingAnalyticsOrderByEnum' type: array type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/MarketingAnalyticsTableQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true select: default: null description: Return a limited set of data. Will use default columns if empty. title: Select items: type: string type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: MarketingAnalyticsTableQuery type: object MarketingAnalyticsTableQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: MarketingAnalyticsTableQueryResponse type: object MatchedOn: enum: - key - value title: MatchedOn type: string MatchedOnEnum: enum: - key - value type: string description: '* `key` - key * `value` - value' MatchedRecording: additionalProperties: false properties: events: items: $ref: '#/components/schemas/MatchedRecordingEvent' title: Events type: array session_id: default: null title: Session Id type: string nullable: true required: - events title: MatchedRecording type: object MatchedRecordingEvent: additionalProperties: false properties: timestamp: title: Timestamp type: string uuid: title: Uuid type: string required: - timestamp - uuid title: MatchedRecordingEvent type: object MaterializationMode: enum: - auto - legacy_null_as_string - legacy_null_as_null - disabled title: MaterializationMode type: string MaterializationPreviewRequest: type: object properties: version: type: integer bucket_overrides: type: object additionalProperties: type: string nullable: true description: 'Per-column bucket function overrides, e.g. {"timestamp": "hour"}' MaterializationType: enum: - materialized - inline - null title: MaterializationType MaterializedColumnsOptimizationMode: enum: - disabled - optimized title: MaterializedColumnsOptimizationMode type: string MathEnum: enum: - count - sum type: string description: '* `count` - count * `sum` - sum' MathGroupTypeIndex: enum: - 0.0 - 1.0 - 2.0 - 3.0 - 4.0 title: MathGroupTypeIndex type: number MeanRetentionCalculation: enum: - simple - weighted - none title: MeanRetentionCalculation type: string MeetingPlatformEnum: enum: - zoom - teams - meet - desktop_audio - slack type: string description: '* `zoom` - Zoom * `teams` - Microsoft Teams * `meet` - Google Meet * `desktop_audio` - Desktop audio * `slack` - Slack huddle' Merge: type: object properties: type: type: string readOnly: true source: readOnly: true target: readOnly: true required: - source - target - type Message: type: object description: Serializer for appending a message to an existing conversation without triggering AI processing. properties: content: type: string nullable: true maxLength: 40000 conversation: type: string format: uuid contextual_tools: type: object additionalProperties: true ui_context: {} billing_context: {} trace_id: type: string format: uuid session_id: type: string agent_mode: $ref: '#/components/schemas/AgentModeEnum' is_sandbox: type: boolean default: false resume_payload: nullable: true required: - content - conversation - trace_id MessageMinimal: type: object description: Serializer for appending a message to an existing conversation without triggering AI processing. properties: content: type: string maxLength: 10000 required: - content MessageSentiment: type: object properties: label: type: string score: type: number format: double scores: type: object additionalProperties: type: number format: double required: - label - score - scores Method: enum: - largest - mean - median title: Method type: string MethodEnum: enum: - user_message - cancel - close - permission_response - set_config_option type: string description: '* `user_message` - user_message * `cancel` - cancel * `close` - close * `permission_response` - permission_response * `set_config_option` - set_config_option' Metric: enum: - bytes_read - cpu_seconds - requests - query_duration - error_rate title: Metric type: string Metrics: additionalProperties: false properties: Bounces: default: null title: Bounces type: number nullable: true PageViews: default: null title: Pageviews type: number nullable: true SessionDuration: default: null title: Sessionduration type: number nullable: true Sessions: default: null title: Sessions type: number nullable: true TotalSessions: default: null title: Totalsessions type: number nullable: true UniqueUsers: default: null title: Uniqueusers type: number nullable: true title: Metrics type: object MinimalFeatureFlag: type: object properties: id: type: integer readOnly: true team_id: type: integer readOnly: true name: type: string key: type: string maxLength: 400 filters: type: object additionalProperties: true deleted: type: boolean active: type: boolean ensure_experience_continuity: type: boolean nullable: true has_encrypted_payloads: type: boolean nullable: true version: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true evaluation_runtime: nullable: true description: 'Specifies where this feature flag should be evaluated * `server` - Server * `client` - Client * `all` - All' oneOf: - $ref: '#/components/schemas/EvaluationRuntimeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' bucketing_identifier: nullable: true description: 'Identifier used for bucketing users into rollout and variants * `distinct_id` - User ID (default) * `device_id` - Device ID' oneOf: - $ref: '#/components/schemas/BucketingIdentifierEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' evaluation_contexts: type: array items: type: string readOnly: true required: - evaluation_contexts - id - key - team_id MinimalHedgehogConfig: additionalProperties: false properties: accessories: default: null title: Accessories items: $ref: '#/components/schemas/HedgehogActorAccessoryOption' type: array nullable: true color: default: null allOf: - $ref: '#/components/schemas/HedgehogActorColorOption' nullable: true skin: default: null allOf: - $ref: '#/components/schemas/HedgehogActorSkinOption' nullable: true use_as_profile: title: Use As Profile type: boolean required: - use_as_profile title: MinimalHedgehogConfig type: object MinimalPerson: type: object properties: id: type: integer readOnly: true description: Numeric person ID. name: type: string readOnly: true description: Display name derived from person properties (email, name, or username). distinct_ids: type: array items: type: string readOnly: true properties: description: Key-value map of person properties set via $set and $set_once operations. created_at: type: string format: date-time readOnly: true description: When this person was first seen (ISO 8601). uuid: type: string format: uuid readOnly: true description: Unique identifier (UUID) for this person. last_seen_at: type: string format: date-time readOnly: true nullable: true description: Timestamp of the last event from this person, or null. required: - created_at - distinct_ids - id - last_seen_at - name - uuid ModelConfiguration: type: object description: Nested serializer for model configuration. properties: provider: $ref: '#/components/schemas/LLMProviderEnum' model: type: string maxLength: 100 provider_key_id: type: string format: uuid nullable: true provider_key_name: type: string nullable: true readOnly: true required: - model - provider - provider_key_name ModelEnum: enum: - events - persons - sessions type: string description: '* `events` - Events * `persons` - Persons * `sessions` - Sessions' MultipleBreakdownOptions: additionalProperties: false properties: values: items: $ref: '#/components/schemas/BreakdownItem' title: Values type: array required: - values title: MultipleBreakdownOptions type: object MultipleBreakdownType: enum: - person - event - event_metadata - group - session - hogql - cohort - revenue_analytics - data_warehouse - data_warehouse_person_property title: MultipleBreakdownType type: string MultipleVariantHandling: enum: - exclude - first_seen title: MultipleVariantHandling type: string MyFlagsResponse: type: object properties: feature_flag: $ref: '#/components/schemas/MinimalFeatureFlag' value: {} required: - feature_flag - value NetworkAccessLevelEnum: enum: - trusted - full - custom type: string description: '* `trusted` - Trusted * `full` - Full * `custom` - Custom' NonIntegratedConversionsTableQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null description: Compare to date range allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true draftConversionGoal: default: null description: Draft conversion goal that can be set in the UI without saving title: Draftconversiongoal anyOf: - $ref: '#/components/schemas/ConversionGoalFilter1' - $ref: '#/components/schemas/ConversionGoalFilter2' - $ref: '#/components/schemas/ConversionGoalFilter3' nullable: true filterTestAccounts: default: null description: Filter test accounts title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: NonIntegratedConversionsTableQuery title: Kind type: string enum: - NonIntegratedConversionsTableQuery limit: default: null description: Number of rows to return title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null description: Number of rows to skip before returning rows title: Offset type: integer nullable: true orderBy: default: null description: Columns to order by title: Orderby items: items: anyOf: - type: string - $ref: '#/components/schemas/MarketingAnalyticsOrderByEnum' type: array type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/NonIntegratedConversionsTableQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true select: default: null description: Return a limited set of data. Will use default columns if empty. title: Select items: type: string type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: NonIntegratedConversionsTableQuery type: object NonIntegratedConversionsTableQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: NonIntegratedConversionsTableQueryResponse type: object Notebook: type: object properties: id: type: string format: uuid readOnly: true description: UUID of the notebook. short_id: type: string readOnly: true description: Short alphanumeric identifier used in URLs and API lookups. title: type: string nullable: true description: Title of the notebook. maxLength: 256 content: nullable: true description: Notebook content as a ProseMirror JSON document structure. text_content: type: string nullable: true description: Plain text representation of the notebook content for search. version: type: integer maximum: 2147483647 minimum: -2147483648 description: Version number for optimistic concurrency control. Must match the current version when updating content. deleted: type: boolean description: Whether the notebook has been soft-deleted. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object _create_in_folder: type: string writeOnly: true title: ' create in folder' required: - created_at - created_by - id - last_modified_at - last_modified_by - short_id - user_access_level NotebookCollabSave: type: object properties: client_id: type: string description: Unique identifier for the client session. version: type: integer description: The collab version the client's steps are based on. steps: type: array items: {} description: List of ProseMirror step JSON objects to apply. content: description: The resulting ProseMirror document after applying the steps locally. text_content: type: string default: '' description: Plain text for search indexing. title: type: string description: Updated notebook title. cursor_head: type: integer nullable: true description: ProseMirror cursor head position after applying steps. required: - client_id - content - steps - version NotebookMinimal: type: object properties: id: type: string format: uuid readOnly: true description: UUID of the notebook. short_id: type: string readOnly: true description: Short alphanumeric identifier used in URLs and API lookups. title: type: string readOnly: true nullable: true description: Title of the notebook. deleted: type: boolean readOnly: true description: Whether the notebook has been soft-deleted. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object _create_in_folder: type: string writeOnly: true title: ' create in folder' required: - created_at - created_by - deleted - id - last_modified_at - last_modified_by - short_id - title - user_access_level NotificationDestinationTypeEnum: enum: - slack - webhook type: string description: '* `slack` - slack * `webhook` - webhook' NullEnum: enum: - null NumericMetric: type: object properties: current: type: number format: double description: Value for the most recent period. previous: type: number format: double nullable: true description: Value for the prior period, if available. change: allOf: - $ref: '#/components/schemas/WoWChange' nullable: true description: Period-over-period change, null when not meaningful. required: - change - current - previous NumericPropertyFilter: type: object description: Matches numeric values with comparison operators. properties: key: type: string description: Key of the property you're filtering on. For example `email` or `$current_url`. type: allOf: - $ref: '#/components/schemas/PropertyFilterTypeEnum' default: event description: 'Property type (event, person, session, etc.). * `event` - event * `event_metadata` - event_metadata * `feature` - feature * `person` - person * `cohort` - cohort * `element` - element * `static-cohort` - static-cohort * `dynamic-cohort` - dynamic-cohort * `precalculated-cohort` - precalculated-cohort * `group` - group * `recording` - recording * `log_entry` - log_entry * `behavioral` - behavioral * `session` - session * `hogql` - hogql * `data_warehouse` - data_warehouse * `data_warehouse_person_property` - data_warehouse_person_property * `error_tracking_issue` - error_tracking_issue * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute * `span` - span * `span_attribute` - span_attribute * `span_resource_attribute` - span_resource_attribute * `revenue_analytics` - revenue_analytics * `flag` - flag * `workflow_variable` - workflow_variable' value: type: number format: double description: Numeric value to compare against. operator: allOf: - $ref: '#/components/schemas/NumericPropertyFilterOperatorEnum' default: exact description: 'Numeric comparison operator. * `exact` - exact * `is_not` - is_not * `gt` - gt * `lt` - lt * `gte` - gte * `lte` - lte' required: - key - value NumericPropertyFilterOperatorEnum: enum: - exact - is_not - gt - lt - gte - lte type: string description: '* `exact` - exact * `is_not` - is_not * `gt` - gt * `lt` - lt * `gte` - gte * `lte` - lte' NumericScoreDefinitionConfig: type: object properties: min: type: number format: double nullable: true description: Optional inclusive minimum score. max: type: number format: double nullable: true description: Optional inclusive maximum score. step: type: number format: double nullable: true description: Optional increment step for numeric input, for example 1 or 0.5. OAuthRedirectResponse: type: object properties: redirect_url: type: string format: uri required: - redirect_url OCSVMDetectorConfig: additionalProperties: false properties: kernel: default: null description: 'SVM kernel type (default: "rbf")' title: Kernel type: string nullable: true nu: default: null description: 'Upper bound on training errors fraction (default: 0.1)' title: Nu type: number nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: ocsvm title: Type type: string enum: - ocsvm window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: OCSVMDetectorConfig type: object ObjectMediaPreview: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true media_url: type: string readOnly: true media_type: type: string description: Return 'uploaded' or 'exported' based on which media is set readOnly: true metadata: {} uploaded_media_id: type: string format: uuid writeOnly: true nullable: true exported_asset_id: type: string format: uuid writeOnly: true nullable: true event_definition_id: type: string format: uuid writeOnly: true nullable: true required: - created_at - id - media_type - media_url - updated_at OnErrorEnum: enum: - continue - abort - complete - branch type: string description: '* `continue` - continue * `abort` - abort * `complete` - complete * `branch` - branch' OrderBy: enum: - distance - timestamp title: OrderBy type: string OrderByEnum: enum: - latest - earliest type: string description: '* `latest` - latest * `earliest` - earliest' OrderDirection1: enum: - asc - desc title: OrderDirection1 type: string OrderDirection2: enum: - ASC - DESC title: OrderDirection2 type: string Organization: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 64 slug: type: string readOnly: true pattern: ^[-a-zA-Z0-9_]+$ logo_media_id: type: string format: uuid nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true plugins_access_level: allOf: - $ref: '#/components/schemas/PluginsAccessLevelEnum' readOnly: true teams: type: array items: type: object additionalProperties: true readOnly: true projects: type: array items: type: object additionalProperties: true readOnly: true available_product_features: type: array items: {} readOnly: true nullable: true is_member_join_email_enabled: type: boolean readOnly: true description: Legacy field; member-join emails are controlled per user in account notification settings. metadata: type: object additionalProperties: type: string readOnly: true customer_id: type: string readOnly: true nullable: true enforce_2fa: type: boolean nullable: true members_can_invite: type: boolean nullable: true members_can_use_personal_api_keys: type: boolean allow_publicly_shared_resources: type: boolean member_count: type: integer readOnly: true is_ai_data_processing_approved: type: boolean nullable: true default_experiment_stats_method: nullable: true description: 'Default statistical method for new experiments in this organization. * `bayesian` - Bayesian * `frequentist` - Frequentist' oneOf: - $ref: '#/components/schemas/DefaultExperimentStatsMethodEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' default_anonymize_ips: type: boolean description: Default setting for 'Discard client IP data' for new projects in this organization. default_role_id: type: string nullable: true description: ID of the role to automatically assign to new members joining the organization is_active: type: boolean readOnly: true nullable: true title: Active description: Set this to 'No' to temporarily disable an organization. is_not_active_reason: type: string readOnly: true nullable: true title: De-activated reason description: (optional) reason for why the organization has been de-activated. This will be displayed to users on the web app. is_pending_deletion: type: boolean readOnly: true nullable: true description: Set to True when org deletion has been initiated. Blocks all UI access until the async task completes. required: - available_product_features - created_at - customer_id - id - is_active - is_member_join_email_enabled - is_not_active_reason - is_pending_deletion - member_count - membership_level - metadata - name - plugins_access_level - projects - slug - teams - updated_at OrganizationBasic: type: object description: 'Serializer for `Organization` model with minimal attributes to speeed up loading and transfer times. Also used for nested serializers.' properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 64 slug: type: string maxLength: 48 pattern: ^[-a-zA-Z0-9_]+$ logo_media_id: type: string format: uuid nullable: true readOnly: true membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true members_can_use_personal_api_keys: type: boolean is_active: type: boolean nullable: true title: Active description: Set this to 'No' to temporarily disable an organization. is_not_active_reason: type: string nullable: true title: De-activated reason description: (optional) reason for why the organization has been de-activated. This will be displayed to users on the web app. maxLength: 200 is_pending_deletion: type: boolean nullable: true description: Set to True when org deletion has been initiated. Blocks all UI access until the async task completes. required: - id - logo_media_id - membership_level - name - slug OrganizationDomain: type: object properties: id: type: string format: uuid readOnly: true domain: type: string maxLength: 128 is_verified: type: boolean description: Determines whether a domain is verified or not. readOnly: true verified_at: type: string format: date-time readOnly: true nullable: true verification_challenge: type: string readOnly: true jit_provisioning_enabled: type: boolean sso_enforcement: type: string maxLength: 28 has_saml: type: boolean description: Returns whether SAML is configured for the instance. Does not validate the user has the required license (that check is performed in other places). readOnly: true saml_entity_id: type: string nullable: true maxLength: 512 saml_acs_url: type: string nullable: true maxLength: 512 saml_x509_cert: type: string nullable: true has_scim: type: boolean description: Returns whether SCIM is configured and enabled for this domain. readOnly: true scim_enabled: type: boolean scim_base_url: type: string nullable: true readOnly: true scim_bearer_token: type: string nullable: true readOnly: true required: - domain - has_saml - has_scim - id - is_verified - scim_base_url - scim_bearer_token - verification_challenge - verified_at OrganizationIntegration: type: object description: Serializer for organization-level integrations. properties: id: type: string format: uuid readOnly: true kind: allOf: - $ref: '#/components/schemas/OrganizationIntegrationKindEnum' readOnly: true integration_id: type: string readOnly: true nullable: true config: readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true required: - config - created_at - created_by - id - integration_id - kind - updated_at OrganizationIntegrationKindEnum: enum: - vercel type: string description: '* `vercel` - Vercel' OrganizationInvite: type: object properties: id: type: string format: uuid readOnly: true target_email: type: string format: email maxLength: 254 first_name: type: string maxLength: 30 emailing_attempt_made: type: boolean readOnly: true level: $ref: '#/components/schemas/OrganizationMembershipLevelEnum' is_expired: type: boolean description: Check if invite is older than INVITE_DAYS_VALIDITY days. readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true message: type: string nullable: true private_project_access: nullable: true description: List of team IDs and corresponding access levels to private projects. send_email: type: boolean writeOnly: true default: true combine_pending_invites: type: boolean writeOnly: true default: false required: - created_at - created_by - emailing_attempt_made - id - is_expired - target_email - updated_at OrganizationMember: type: object properties: id: type: string format: uuid readOnly: true user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true level: $ref: '#/components/schemas/OrganizationMembershipLevelEnum' joined_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true is_2fa_enabled: type: boolean readOnly: true has_social_auth: type: boolean readOnly: true last_login: type: string format: date-time readOnly: true required: - has_social_auth - id - is_2fa_enabled - joined_at - last_login - updated_at - user OrganizationMembershipLevelEnum: enum: - 1 - 8 - 15 type: integer description: '* `1` - member * `8` - administrator * `15` - owner' OrganizationOAuthApplication: type: object description: Serializer for organization-scoped OAuth applications (read-only). properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 client_id: type: string maxLength: 100 redirect_uris_list: type: array items: type: string readOnly: true is_verified: type: boolean description: True if this application has been verified by PostHog created: type: string format: date-time readOnly: true updated: type: string format: date-time readOnly: true required: - created - id - redirect_uris_list - updated OriginEnum: enum: - data_warehouse - endpoint - managed_viewset type: string description: '* `data_warehouse` - Data Warehouse * `endpoint` - Endpoint * `managed_viewset` - Managed Viewset' OriginProductEnum: enum: - error_tracking - eval_clusters - user_created - automation - slack - support_queue - session_summaries - signal_report type: string description: '* `error_tracking` - Error Tracking * `eval_clusters` - Eval Clusters * `user_created` - User Created * `automation` - Automation * `slack` - Slack * `support_queue` - Support Queue * `session_summaries` - Session Summaries * `signal_report` - Signal Report' Outcome: type: object description: Initial goal and session outcome coming from LLM. properties: description: type: string nullable: true maxLength: 10000 minLength: 1 success: type: boolean nullable: true OutdatedTrafficAlert: type: object properties: version: type: string description: Outdated version handling significant traffic. threshold_percent: type: number format: double description: Traffic-percentage threshold that triggered the alert (10% for most SDKs, 20% for web). required: - threshold_percent - version OutputTypeEnum: enum: - boolean type: string description: '* `boolean` - Boolean (Pass/Fail)' OverallHealthEnum: enum: - healthy - needs_attention type: string description: '* `healthy` - healthy * `needs_attention` - needs_attention' PCADetectorConfig: additionalProperties: false properties: preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold (default: 0.9)' title: Threshold type: number nullable: true type: default: pca title: Type type: string enum: - pca window: default: null description: 'Rolling window size — how many historical data points to train on (default: based on calculation interval)' title: Window type: integer nullable: true title: PCADetectorConfig type: object PageURL: additionalProperties: false properties: url: title: Url type: string required: - url title: PageURL type: object PaginatedActionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Action' PaginatedActivityLogList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=4 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ActivityLog' PaginatedAlertList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Alert' PaginatedAnnotationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Annotation' PaginatedApprovalPolicyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ApprovalPolicy' PaginatedAsyncDeletionStatusList: type: object properties: next: type: string nullable: true format: uri example: https://app.posthog.com/api/projects/{project_id}/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: https://app.posthog.com/api/projects/{project_id}/accounts/?offset=400&limit=100 count: type: integer example: 400 results: type: array items: $ref: '#/components/schemas/AsyncDeletionStatus' PaginatedBatchExportBackfillList: type: object required: - results properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cD00ODY%3D" previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3 results: type: array items: $ref: '#/components/schemas/BatchExportBackfill' PaginatedBatchExportList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/BatchExport' PaginatedBatchExportRunList: type: object required: - results properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cD00ODY%3D" previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3 results: type: array items: $ref: '#/components/schemas/BatchExportRun' PaginatedChangeRequestList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ChangeRequest' PaginatedClickhouseEventList: type: object properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 results: type: array items: $ref: '#/components/schemas/ClickhouseEvent' PaginatedClusteringJobList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ClusteringJob' PaginatedCohortList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Cohort' PaginatedCommentList: type: object required: - results properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cD00ODY%3D" previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3 results: type: array items: $ref: '#/components/schemas/Comment' PaginatedConversationMinimalList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ConversationMinimal' PaginatedCustomerJourneyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/CustomerJourney' PaginatedCustomerProfileConfigList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/CustomerProfileConfig' PaginatedDashboardBasicList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/DashboardBasic' PaginatedDashboardTemplateList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/DashboardTemplate' PaginatedDataColorThemeList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/DataColorTheme' PaginatedDataModelingJobList: type: object required: - results properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cD00ODY%3D" previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3 results: type: array items: $ref: '#/components/schemas/DataModelingJob' PaginatedDataWarehouseModelPathList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/DataWarehouseModelPath' PaginatedDataWarehouseSavedQueryMinimalList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=4 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/DataWarehouseSavedQueryMinimal' PaginatedDatasetItemList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/DatasetItem' PaginatedDatasetList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Dataset' PaginatedDesktopRecordingList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/DesktopRecording' PaginatedEarlyAccessFeatureList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EarlyAccessFeature' PaginatedElementList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Element' PaginatedEndpointResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EndpointResponse' PaginatedEndpointVersionResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EndpointVersionResponse' PaginatedEnterpriseEventDefinitionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EnterpriseEventDefinition' PaginatedEnterprisePropertyDefinitionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EnterprisePropertyDefinition' PaginatedErrorTrackingAssignmentRuleList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingAssignmentRule' PaginatedErrorTrackingFingerprintList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingFingerprint' PaginatedErrorTrackingIssueFullList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingIssueFull' PaginatedErrorTrackingRecommendationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingRecommendation' PaginatedErrorTrackingReleaseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingRelease' PaginatedErrorTrackingSpikeEventList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingSpikeEvent' PaginatedErrorTrackingStackFrameList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingStackFrame' PaginatedErrorTrackingSuppressionRuleList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingSuppressionRule' PaginatedErrorTrackingSymbolSetList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ErrorTrackingSymbolSet' PaginatedEvaluationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Evaluation' PaginatedEvaluationReportList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EvaluationReport' PaginatedEvaluationReportRunList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EvaluationReportRun' PaginatedEventSchemaList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/EventSchema' PaginatedExperimentHoldoutList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ExperimentHoldout' PaginatedExperimentList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Experiment' PaginatedExperimentSavedMetricList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ExperimentSavedMetric' PaginatedExportedAssetList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ExportedAsset' PaginatedExternalDataSchemaList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ExternalDataSchema' PaginatedExternalDataSourceConnectionOptionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ExternalDataSourceConnectionOption' PaginatedExternalDataSourceSerializersList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ExternalDataSourceSerializers' PaginatedFeatureFlagList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/FeatureFlag' PaginatedFileSystemList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/FileSystem' PaginatedFileSystemShortcutList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/FileSystemShortcut' PaginatedGroupList: type: object required: - results properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cD00ODY%3D" previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3 results: type: array items: $ref: '#/components/schemas/Group' PaginatedGroupUsageMetricList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/GroupUsageMetric' PaginatedHealthIssueList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HealthIssue' PaginatedHeatmapScreenshotResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HeatmapScreenshotResponse' PaginatedHeatmapsResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HeatmapsResponse' PaginatedHogFlowMinimalList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HogFlowMinimal' PaginatedHogFlowScheduleList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HogFlowSchedule' PaginatedHogFunctionMinimalList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HogFunctionMinimal' PaginatedHogFunctionTemplateList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/HogFunctionTemplate' PaginatedInsightList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Insight' PaginatedInsightVariableList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=4 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/InsightVariable' PaginatedIntegrationConfigList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/IntegrationConfig' PaginatedLLMPromptListList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LLMPromptList' PaginatedLLMProviderKeyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LLMProviderKey' PaginatedLLMSkillListList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LLMSkillList' PaginatedLegalDocumentDTOList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LegalDocumentDTO' PaginatedLiveDebuggerBreakpointList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LiveDebuggerBreakpoint' PaginatedLogsAlertConfigurationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LogsAlertConfiguration' PaginatedLogsAlertEventList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LogsAlertEvent' PaginatedLogsSamplingRuleList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LogsSamplingRule' PaginatedLogsViewList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/LogsView' PaginatedMCPServerInstallationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/MCPServerInstallation' PaginatedMCPServerInstallationToolList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/MCPServerInstallationTool' PaginatedMCPServerTemplateList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/MCPServerTemplate' PaginatedNotebookMinimalList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/NotebookMinimal' PaginatedObjectMediaPreviewList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ObjectMediaPreview' PaginatedOrganizationDomainList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/OrganizationDomain' PaginatedOrganizationIntegrationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/OrganizationIntegration' PaginatedOrganizationInviteList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/OrganizationInvite' PaginatedOrganizationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Organization' PaginatedOrganizationMemberList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/OrganizationMember' PaginatedOrganizationOAuthApplicationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/OrganizationOAuthApplication' PaginatedPauseStateResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/PauseStateResponse' PaginatedPersistedFolderList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/PersistedFolder' PaginatedPersonRecordList: type: object properties: next: type: string nullable: true format: uri example: https://app.posthog.com/api/projects/{project_id}/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: https://app.posthog.com/api/projects/{project_id}/accounts/?offset=400&limit=100 count: type: integer example: 400 results: type: array items: $ref: '#/components/schemas/PersonRecord' PaginatedPluginLogEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/PluginLogEntry' PaginatedProductTourList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ProductTour' PaginatedProjectBackwardCompatBasicList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ProjectBackwardCompatBasic' PaginatedProjectSecretAPIKeyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ProjectSecretAPIKey' PaginatedQuarantinedIdentifierEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/QuarantinedIdentifierEntry' PaginatedRepoList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Repo' PaginatedReviewQueueItemList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ReviewQueueItem' PaginatedReviewQueueList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ReviewQueue' PaginatedRoleExternalReferenceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/RoleExternalReference' PaginatedRoleList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Role' PaginatedRoleMembershipList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/RoleMembership' PaginatedRunList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Run' PaginatedSandboxEnvironmentListList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SandboxEnvironmentList' PaginatedSchemaPropertyGroupList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SchemaPropertyGroup' PaginatedScoreDefinitionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ScoreDefinition' PaginatedSessionGroupSummaryMinimalList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SessionGroupSummaryMinimal' PaginatedSessionRecordingList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SessionRecording' PaginatedSessionRecordingPlaylistList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SessionRecordingPlaylist' PaginatedSignalReportList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SignalReport' PaginatedSignalSourceConfigList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SignalSourceConfig' PaginatedSnapshotHistoryEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/SnapshotHistoryEntry' PaginatedSnapshotList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Snapshot' PaginatedSubscriptionDeliveryList: type: object required: - results properties: next: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cD00ODY%3D" previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3 results: type: array items: $ref: '#/components/schemas/SubscriptionDelivery' PaginatedSubscriptionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Subscription' PaginatedSurveyList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Survey' PaginatedTableList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Table' PaginatedTaggerList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Tagger' PaginatedTaskAutomationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/TaskAutomation' PaginatedTaskList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Task' PaginatedTaskRunDetailList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/TaskRunDetail' PaginatedTeamBasicList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/TeamBasic' PaginatedThresholdWithAlertList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ThresholdWithAlert' PaginatedTicketList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Ticket' PaginatedTicketViewList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/TicketView' PaginatedToleratedHashEntryList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ToleratedHashEntry' PaginatedTraceReviewList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/TraceReview' PaginatedUserGitHubIntegrationListResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/UserGitHubIntegrationListResponse' PaginatedUserInterviewList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/UserInterview' PaginatedUserList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/User' PaginatedViewLinkList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/ViewLink' PaginatedWebExperimentsAPIList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/WebExperimentsAPI' PatchedAction: type: object description: Serializer mixin that handles tags for objects. properties: id: type: integer readOnly: true name: type: string nullable: true description: Name of the action (must be unique within the project). maxLength: 400 description: type: string description: Human-readable description of what this action represents. tags: type: array items: {} post_to_slack: type: boolean description: Whether to post a notification to Slack when this action is triggered. slack_message_format: type: string description: Custom Slack message format. Supports templates with event properties. maxLength: 1200 steps: type: array items: $ref: '#/components/schemas/ActionStepJSON' description: Action steps defining trigger conditions. Each step matches events by name, properties, URL, or element attributes. Multiple steps are OR-ed together. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean is_calculating: type: boolean readOnly: true last_calculated_at: type: string format: date-time team_id: type: integer readOnly: true is_action: type: boolean readOnly: true default: true bytecode_error: type: string readOnly: true nullable: true pinned_at: type: string format: date-time nullable: true description: ISO 8601 timestamp when the action was pinned, or null if not pinned. Set any value to pin, null to unpin. creation_context: type: string nullable: true readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object PatchedAddPersonsToStaticCohortRequest: type: object properties: person_ids: type: array items: type: string format: uuid description: List of person UUIDs to add to the cohort PatchedAlert: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true insight: type: integer description: 'Insight ID monitored by this alert. Note: Response returns full InsightBasicSerializer object.' name: type: string description: Human-readable name for the alert. subscribed_users: type: array items: type: integer description: 'User IDs to subscribe to this alert. Note: Response returns full UserBasicSerializer object.' threshold: allOf: - $ref: '#/components/schemas/Threshold' description: Threshold configuration with bounds and type for evaluating the alert. condition: allOf: - $ref: '#/components/schemas/AlertCondition' nullable: true description: 'Alert condition type. Determines how the value is evaluated: absolute_value, relative_increase, or relative_decrease.' state: type: string readOnly: true description: 'Current alert state: Firing, Not firing, Errored, or Snoozed.' enabled: type: boolean description: Whether the alert is actively being evaluated. last_notified_at: type: string format: date-time readOnly: true nullable: true last_checked_at: type: string format: date-time readOnly: true nullable: true next_check_at: type: string format: date-time readOnly: true nullable: true checks: type: array items: $ref: '#/components/schemas/AlertCheck' readOnly: true description: Alert check results. By default returns the last 5. Use checks_date_from and checks_date_to (e.g. '-24h', '-7d') to get checks within a time window, checks_limit to cap how many are returned (default 5, max 500), and checks_offset to skip the newest N checks for pagination (0-based). Newest checks first. Only populated on retrieve. checks_total: type: integer nullable: true readOnly: true description: Total alert checks matching the retrieve filters (date window). Only set on alert retrieve; omitted otherwise. config: allOf: - $ref: '#/components/schemas/TrendsAlertConfig' nullable: true description: Trends-specific alert configuration. Includes series_index (which series to monitor) and check_ongoing_interval (whether to check the current incomplete interval). detector_config: allOf: - $ref: '#/components/schemas/DetectorConfig' nullable: true calculation_interval: allOf: - $ref: '#/components/schemas/CalculationIntervalEnum' description: 'How often the alert is checked: hourly, daily, weekly, or monthly. * `hourly` - hourly * `daily` - daily * `weekly` - weekly * `monthly` - monthly' snoozed_until: type: string nullable: true description: Snooze the alert until this time. Pass a relative date string (e.g. '2h', '1d') or null to unsnooze. skip_weekend: type: boolean nullable: true description: Skip alert evaluation on weekends (Saturday and Sunday, local to project timezone). schedule_restriction: allOf: - $ref: '#/components/schemas/AlertScheduleRestriction' nullable: true description: 'Blocked local time windows (HH:MM in the project timezone). Interval is half-open [start, end): start inclusive, end exclusive. Use blocked_windows array of {start, end}. Null disables.' last_value: type: number format: double readOnly: true nullable: true description: The last calculated value from the most recent alert check. investigation_agent_enabled: type: boolean description: When enabled, an investigation agent runs on the state transition to firing and writes findings to a Notebook linked from the alert check. Only effective for detector-based (anomaly) alerts. investigation_gates_notifications: type: boolean description: When enabled (and investigation_agent_enabled is on), notification dispatch is held until the investigation agent produces a verdict. Notifications are suppressed when the verdict is false_positive (and optionally when inconclusive). A safety-net task force-fires after a few minutes if the investigation stalls. investigation_inconclusive_action: allOf: - $ref: '#/components/schemas/InvestigationInconclusiveActionEnum' description: 'How to handle an ''inconclusive'' verdict when notifications are gated. ''notify'' is the safe default — an agent that can''t be sure is itself useful signal. * `notify` - Notify * `suppress` - Suppress' PatchedAnnotation: type: object properties: id: type: integer readOnly: true content: type: string nullable: true description: Annotation text shown on charts to describe the change, release, or incident. maxLength: 8192 date_marker: type: string format: date-time nullable: true description: When this annotation happened (ISO 8601 timestamp). Used to position it on charts. creation_type: allOf: - $ref: '#/components/schemas/CreationTypeEnum' description: 'Who created this annotation. Use `USR` for user-created notes and `GIT` for bot/deployment notes. * `USR` - user * `GIT` - GitHub' dashboard_item: type: integer nullable: true dashboard_id: type: integer nullable: true dashboard_name: type: string nullable: true readOnly: true insight_short_id: type: string nullable: true readOnly: true insight_name: type: string nullable: true readOnly: true insight_derived_name: type: string nullable: true readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true deleted: type: boolean description: Soft-delete flag. Set to true to hide the annotation, or false to restore it. scope: allOf: - $ref: '#/components/schemas/AnnotationScopeEnum' description: 'Annotation visibility scope: `project`, `organization`, `dashboard`, or `dashboard_item`. `recording` is deprecated and rejected. * `dashboard_item` - insight * `dashboard` - dashboard * `project` - project * `organization` - organization * `recording` - recording' PatchedApprovalPolicy: type: object properties: id: type: string format: uuid readOnly: true action_key: type: string maxLength: 128 conditions: {} approver_config: {} allow_self_approve: type: boolean bypass_org_membership_levels: {} bypass_roles: type: array items: type: string format: uuid expires_after: type: string description: Auto-expire change requests after this duration enabled: type: boolean created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true PatchedBatchExport: type: object description: Serializer for a BatchExport model. properties: id: type: string format: uuid readOnly: true team_id: type: integer description: The team this belongs to. readOnly: true name: type: string description: A human-readable name for this BatchExport. model: nullable: true description: 'Which model this BatchExport is exporting. * `events` - Events * `persons` - Persons * `sessions` - Sessions' oneOf: - $ref: '#/components/schemas/ModelEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' destination: $ref: '#/components/schemas/BatchExportDestination' interval: $ref: '#/components/schemas/IntervalEnum' paused: type: boolean description: Whether this BatchExport is paused or not. created_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExport was created. last_updated_at: type: string format: date-time readOnly: true description: The timestamp at which this BatchExport was last updated. last_paused_at: type: string format: date-time nullable: true description: The timestamp at which this BatchExport was last paused. start_at: type: string format: date-time nullable: true description: Time before which any Batch Export runs won't be triggered. end_at: type: string format: date-time nullable: true description: Time after which any Batch Export runs won't be triggered. latest_runs: type: array items: $ref: '#/components/schemas/BatchExportRun' readOnly: true hogql_query: type: string schema: readOnly: true nullable: true description: A schema of custom fields to select when exporting data. filters: nullable: true timezone: nullable: true oneOf: - $ref: '#/components/schemas/TimezoneEnum' - $ref: '#/components/schemas/NullEnum' offset_day: type: integer maximum: 6 minimum: 0 nullable: true offset_hour: type: integer maximum: 23 minimum: 0 nullable: true PatchedClusteringJob: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 100 analysis_level: $ref: '#/components/schemas/ClusteringJobAnalysisLevelEnum' event_filters: {} enabled: type: boolean created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedCohort: type: object properties: id: type: integer readOnly: true name: type: string nullable: true maxLength: 400 description: type: string maxLength: 1000 groups: {} deleted: type: boolean filters: allOf: - $ref: '#/components/schemas/CohortFilters' nullable: true query: nullable: true version: type: integer readOnly: true nullable: true pending_version: type: integer readOnly: true nullable: true is_calculating: type: boolean readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true last_calculation: type: string format: date-time readOnly: true nullable: true last_backfill_person_properties_at: type: string format: date-time readOnly: true nullable: true errors_calculating: type: integer readOnly: true last_error_message: type: string nullable: true readOnly: true count: type: integer readOnly: true nullable: true is_static: type: boolean cohort_type: nullable: true description: 'Type of cohort based on filter complexity * `static` - static * `person_property` - person_property * `behavioral` - behavioral * `realtime` - realtime * `analytical` - analytical' oneOf: - $ref: '#/components/schemas/CohortTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' experiment_set: type: array items: type: integer readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' _create_static_person_ids: type: array items: type: string writeOnly: true default: [] title: ' create static person ids' PatchedComment: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean nullable: true mentions: type: array items: type: integer writeOnly: true slug: type: string writeOnly: true content: type: string nullable: true rich_content: nullable: true version: type: integer readOnly: true created_at: type: string format: date-time readOnly: true item_id: type: string nullable: true maxLength: 72 item_context: nullable: true scope: type: string maxLength: 79 source_comment: type: string format: uuid nullable: true PatchedConversation: type: object properties: id: type: string format: uuid readOnly: true status: allOf: - $ref: '#/components/schemas/ConversationStatus' readOnly: true title: type: string readOnly: true nullable: true description: Title of the conversation. user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true nullable: true type: allOf: - $ref: '#/components/schemas/ConversationType' readOnly: true is_internal: type: boolean readOnly: true nullable: true description: Whether this conversation was created during an impersonated session (e.g., by support agents). Internal conversations are hidden from customers. slack_thread_key: type: string readOnly: true nullable: true description: 'Unique key for Slack thread: ''{workspace_id}:{channel}:{thread_ts}''' slack_workspace_domain: type: string readOnly: true nullable: true description: Slack workspace subdomain (e.g. 'posthog' for posthog.slack.com) messages: type: array items: type: object additionalProperties: true readOnly: true has_unsupported_content: type: boolean readOnly: true agent_mode: type: string nullable: true readOnly: true is_sandbox: type: boolean readOnly: true pending_approvals: type: array items: type: object additionalProperties: true description: 'Return pending approval cards as structured data. Combines metadata from conversation.approval_decisions with payload from checkpoint interrupts (single source of truth for payload data).' readOnly: true PatchedCustomerJourney: type: object properties: id: type: string format: uuid readOnly: true insight: type: integer name: type: string maxLength: 400 description: type: string nullable: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true nullable: true PatchedCustomerProfileConfig: type: object properties: id: type: string format: uuid readOnly: true scope: $ref: '#/components/schemas/CustomerProfileConfigScopeEnum' content: nullable: true sidebar: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true PatchedDashboard: type: object description: Serializer mixin that handles tags for objects. properties: id: type: integer readOnly: true name: type: string nullable: true maxLength: 400 description: type: string pinned: type: boolean created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_accessed_at: type: string format: date-time nullable: true last_viewed_at: type: string format: date-time readOnly: true nullable: true is_shared: type: boolean readOnly: true deleted: type: boolean creation_mode: allOf: - $ref: '#/components/schemas/CreationModeEnum' readOnly: true filters: type: object additionalProperties: true readOnly: true variables: type: object additionalProperties: true nullable: true readOnly: true breakdown_colors: description: Custom color mapping for breakdown values. data_color_theme_id: type: integer nullable: true description: ID of the color theme used for chart visualizations. tags: type: array items: {} restriction_level: $ref: '#/components/schemas/RestrictionLevelEnum' effective_restriction_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true effective_privilege_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object access_control_version: type: string readOnly: true last_refresh: type: string format: date-time nullable: true persisted_filters: type: object additionalProperties: true nullable: true readOnly: true persisted_variables: type: object additionalProperties: true nullable: true readOnly: true team_id: type: integer readOnly: true quick_filter_ids: type: array items: type: string nullable: true description: List of quick filter IDs associated with this dashboard tiles: type: array items: type: object additionalProperties: true nullable: true readOnly: true use_template: type: string writeOnly: true description: Template key to create the dashboard from a predefined template. use_dashboard: type: integer writeOnly: true nullable: true description: ID of an existing dashboard to duplicate. delete_insights: type: boolean writeOnly: true default: false description: When deleting, also delete insights that are only on this dashboard. _create_in_folder: type: string writeOnly: true title: ' create in folder' PatchedDashboardTemplate: type: object properties: id: type: string format: uuid readOnly: true template_name: type: string nullable: true maxLength: 400 dashboard_description: type: string nullable: true maxLength: 400 dashboard_filters: nullable: true tags: type: array items: type: string maxLength: 255 nullable: true tiles: nullable: true variables: nullable: true deleted: type: boolean nullable: true created_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true image_url: type: string nullable: true maxLength: 8201 team_id: type: integer nullable: true readOnly: true scope: nullable: true oneOf: - $ref: '#/components/schemas/DashboardTemplateScopeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' availability_contexts: type: array items: type: string maxLength: 255 nullable: true is_featured: type: boolean description: Manually curated; used to highlight templates in the UI. PatchedDataColorTheme: type: object properties: id: type: integer readOnly: true name: type: string maxLength: 100 colors: {} is_global: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true PatchedDataWarehouseSavedQuery: type: object description: 'Shared methods for DataWarehouseSavedQuery serializers. This mixin is intended to be used with serializers.ModelSerializer subclasses.' properties: id: type: string format: uuid readOnly: true deleted: type: boolean nullable: true name: type: string description: Unique name for the view. Used as the table name in HogQL queries and the node name in the data modeling Node. maxLength: 128 query: nullable: true description: 'HogQL query definition as a JSON object with a "query" key containing the SQL string and a "kind" key containing the query type. Example: {"query": "SELECT * FROM events LIMIT 100", "kind": "HogQLQuery"}' created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true sync_frequency: type: string nullable: true readOnly: true columns: type: array items: type: object additionalProperties: true readOnly: true status: readOnly: true nullable: true description: 'The status of when this SavedQuery last ran. * `Cancelled` - Cancelled * `Modified` - Modified * `Completed` - Completed * `Failed` - Failed * `Running` - Running' oneOf: - $ref: '#/components/schemas/SavedQueryStatusEnum' - $ref: '#/components/schemas/NullEnum' last_run_at: type: string format: date-time nullable: true readOnly: true managed_viewset_kind: type: string nullable: true readOnly: true folder_id: type: string format: uuid nullable: true description: Optional folder ID used to organize this view in the SQL editor sidebar. folder_name: type: string readOnly: true nullable: true description: Folder name used to organize this view in the SQL editor sidebar. latest_error: type: string readOnly: true nullable: true edited_history_id: type: string writeOnly: true nullable: true description: Activity log ID from the last known edit. Used for conflict detection. latest_history_id: type: integer nullable: true readOnly: true soft_update: type: boolean writeOnly: true nullable: true description: If true, skip column inference and validation. For saving drafts. dag_id: type: string format: uuid writeOnly: true nullable: true description: Optional DAG to place this view into is_materialized: type: boolean readOnly: true nullable: true origin: readOnly: true nullable: true description: 'Where this SavedQuery is created. * `data_warehouse` - Data Warehouse * `endpoint` - Endpoint * `managed_viewset` - Managed Viewset' oneOf: - $ref: '#/components/schemas/OriginEnum' - $ref: '#/components/schemas/NullEnum' is_test: type: boolean description: Whether this view is for testing only and will auto-expire. expires_at: type: string format: date-time readOnly: true nullable: true description: When this test view should be automatically deleted. user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object PatchedDataWarehouseSavedQueryFolder: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true name: type: string description: Display name for the folder used to organize saved queries in the SQL editor sidebar. maxLength: 128 created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true view_count: type: integer readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object PatchedDataset: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string nullable: true metadata: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true deleted: type: boolean nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true team: type: integer readOnly: true PatchedDatasetItem: type: object properties: id: type: string format: uuid readOnly: true dataset: type: string format: uuid input: nullable: true output: nullable: true metadata: nullable: true ref_trace_id: type: string nullable: true maxLength: 255 ref_timestamp: type: string format: date-time nullable: true ref_source_id: type: string nullable: true maxLength: 255 deleted: type: boolean nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true team: type: integer readOnly: true PatchedDesktopRecording: type: object properties: id: type: string format: uuid readOnly: true team: type: integer readOnly: true created_by: type: integer readOnly: true nullable: true sdk_upload_id: type: string format: uuid readOnly: true recall_recording_id: type: string format: uuid nullable: true platform: $ref: '#/components/schemas/MeetingPlatformEnum' meeting_title: type: string nullable: true maxLength: 255 meeting_url: type: string format: uri nullable: true maxLength: 200 duration_seconds: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true status: $ref: '#/components/schemas/DesktopRecordingStatusEnum' notes: type: string nullable: true error_message: type: string nullable: true video_url: type: string format: uri nullable: true maxLength: 200 video_size_bytes: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 nullable: true participants: type: array items: type: string description: List of participant names transcript_text: type: string readOnly: true transcript_segments: type: array items: $ref: '#/components/schemas/TranscriptSegment' description: Transcript segments with timestamps summary: type: string nullable: true extracted_tasks: type: array items: $ref: '#/components/schemas/DesktopRecordingTask' description: AI-extracted tasks from transcript tasks_generated_at: type: string format: date-time nullable: true summary_generated_at: type: string format: date-time nullable: true started_at: type: string format: date-time completed_at: type: string format: date-time nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedEarlyAccessFeature: type: object properties: id: type: string format: uuid readOnly: true feature_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true name: type: string description: The name of the early access feature. maxLength: 200 description: type: string description: A longer description of what this early access feature does, shown to users in the opt-in UI. stage: allOf: - $ref: '#/components/schemas/StageEnum' description: 'Lifecycle stage. Valid values: draft, concept, alpha, beta, general-availability, archived. Moving to an active stage (alpha/beta/general-availability) enables the feature flag for opted-in users. * `draft` - draft * `concept` - concept * `alpha` - alpha * `beta` - beta * `general-availability` - general availability * `archived` - archived' documentation_url: type: string format: uri description: URL to external documentation for this feature. Shown to users in the opt-in UI. maxLength: 800 payload: type: object additionalProperties: true description: Feature flag payload for this early access feature readOnly: true created_at: type: string format: date-time readOnly: true PatchedElement: type: object properties: text: type: string nullable: true maxLength: 10000 tag_name: type: string nullable: true maxLength: 1000 attr_class: type: array items: type: string maxLength: 200 nullable: true href: type: string nullable: true maxLength: 10000 attr_id: type: string nullable: true maxLength: 10000 nth_child: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true nth_of_type: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true attributes: {} order: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true PatchedEndpointRequest: type: object description: Schema for creating/updating endpoints. OpenAPI docs only — validation uses Pydantic. properties: name: type: string nullable: true description: Unique URL-safe name. Must start with a letter, only letters/numbers/hyphens/underscores, max 128 chars. query: nullable: true description: HogQL or insight query this endpoint executes. Changing this auto-creates a new version. description: type: string nullable: true description: Human-readable description of what this endpoint returns. data_freshness_seconds: type: integer nullable: true description: 'How fresh the data should be, in seconds. Must be one of: 900 (15 min), 1800 (30 min), 3600 (1 h), 21600 (6 h), 43200 (12 h), 86400 (24 h, default), 604800 (7 d). Controls cache TTL and materialization sync frequency.' is_active: type: boolean nullable: true description: Whether this endpoint is available for execution via the API. is_materialized: type: boolean nullable: true description: Whether query results are materialized to S3. derived_from_insight: type: string nullable: true description: Short ID of the insight this endpoint was derived from. version: type: integer nullable: true description: Target a specific version for updates (defaults to current version). bucket_overrides: type: object additionalProperties: true nullable: true description: Per-column bucket overrides for range variable materialization. Keys are column names, values are bucket keys. deleted: type: boolean nullable: true description: Set to true to soft-delete this endpoint. PatchedEnterpriseEventDefinition: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 owner: type: integer nullable: true description: type: string nullable: true tags: type: array items: {} created_at: type: string format: date-time readOnly: true nullable: true updated_at: type: string format: date-time readOnly: true updated_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_seen_at: type: string format: date-time readOnly: true nullable: true last_updated_at: type: string format: date-time readOnly: true verified: type: boolean verified_at: type: string format: date-time readOnly: true nullable: true verified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true hidden: type: boolean nullable: true enforcement_mode: $ref: '#/components/schemas/EnforcementModeEnum' promoted_property: type: string nullable: true description: Name of a single property on this event that PostHog UIs should display alongside the event (for example `$pathname` on `$pageview`). When set, surfaces like the session replay inspector show the property's value next to the event name without the user having to open the event. maxLength: 400 is_action: type: boolean readOnly: true action_id: type: integer readOnly: true is_calculating: type: boolean readOnly: true last_calculated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true post_to_slack: type: boolean default: false default_columns: type: array items: type: string media_preview_urls: type: array items: type: string readOnly: true PatchedEnterprisePropertyDefinition: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true description: type: string nullable: true tags: type: array items: {} is_numerical: type: boolean readOnly: true updated_at: type: string format: date-time readOnly: true updated_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true is_seen_on_filtered_events: type: boolean readOnly: true nullable: true property_type: nullable: true oneOf: - $ref: '#/components/schemas/PropertyDefinitionTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' verified: type: boolean verified_at: type: string format: date-time readOnly: true nullable: true verified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true hidden: type: boolean nullable: true PatchedErrorTrackingAssignmentRule: type: object properties: id: type: string format: uuid readOnly: true filters: {} assignee: type: object nullable: true properties: type: type: string enum: - user - role id: oneOf: - type: integer - type: string format: uuid readOnly: true order_key: type: integer maximum: 2147483647 minimum: -2147483648 disabled_data: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedErrorTrackingAssignmentRuleUpdateRequest: type: object properties: filters: allOf: - $ref: '#/components/schemas/PropertyGroupFilterValue' nullable: true description: Property-group filters that define when this rule matches incoming error events. assignee: allOf: - $ref: '#/components/schemas/ErrorTrackingAssignmentRuleAssigneeRequest' nullable: true description: User or role to assign matching issues to. PatchedErrorTrackingGroupingRule: type: object properties: id: type: string format: uuid readOnly: true filters: {} assignee: type: object nullable: true properties: type: type: string enum: - user - role id: oneOf: - type: integer - type: string format: uuid readOnly: true description: type: string nullable: true issue: type: object additionalProperties: type: string nullable: true description: Issue linked to this rule readOnly: true order_key: type: integer maximum: 2147483647 minimum: -2147483648 disabled_data: nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedErrorTrackingIssueFull: type: object properties: id: type: string format: uuid readOnly: true status: $ref: '#/components/schemas/ErrorTrackingIssueFullStatusEnum' name: type: string nullable: true description: type: string nullable: true first_seen: type: string format: date-time assignee: $ref: '#/components/schemas/ErrorTrackingIssueAssignment' external_issues: type: array items: $ref: '#/components/schemas/ErrorTrackingExternalReferenceResult' cohort: type: object nullable: true properties: id: type: integer name: type: string readOnly: true PatchedErrorTrackingRelease: type: object properties: id: type: string format: uuid readOnly: true hash_id: type: string team_id: type: integer readOnly: true created_at: type: string format: date-time readOnly: true metadata: nullable: true version: type: string project: type: string PatchedErrorTrackingSpikeDetectionConfig: type: object properties: snooze_duration_minutes: type: integer minimum: 1 description: Time to wait before alerting again for the same issue after a spike is detected. multiplier: type: integer minimum: 1 description: The factor by which the current exception count must exceed the baseline to be considered a spike. threshold: type: integer minimum: 1 description: The minimum number of exceptions required in a 5-minute window before a spike can be detected. PatchedErrorTrackingSuppressionRule: type: object properties: id: type: string format: uuid readOnly: true filters: {} order_key: type: integer maximum: 2147483647 minimum: -2147483648 disabled_data: nullable: true sampling_rate: type: number format: double created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedErrorTrackingSymbolSet: type: object properties: id: type: string format: uuid readOnly: true ref: type: string team_id: type: integer readOnly: true created_at: type: string format: date-time readOnly: true last_used: type: string format: date-time nullable: true storage_ptr: type: string nullable: true failure_reason: type: string nullable: true release: type: object additionalProperties: true nullable: true description: Release associated with this symbol set readOnly: true PatchedEvaluation: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Name of the evaluation. maxLength: 400 description: type: string description: Optional description of what this evaluation checks. enabled: type: boolean description: Whether the evaluation runs automatically on new $ai_generation events. status: allOf: - $ref: '#/components/schemas/EvaluationStatusEnum' readOnly: true status_reason: readOnly: true nullable: true oneOf: - $ref: '#/components/schemas/StatusReasonEnum' - $ref: '#/components/schemas/NullEnum' evaluation_type: allOf: - $ref: '#/components/schemas/EvaluationTypeEnum' description: '''llm_judge'' uses an LLM to score outputs against a prompt; ''hog'' runs deterministic Hog code. * `llm_judge` - LLM as a judge * `hog` - Hog' evaluation_config: oneOf: - type: object title: LLM judge config required: - prompt properties: prompt: type: string description: Evaluation criteria for the LLM judge. Describe what makes a good vs bad response. minLength: 1 additionalProperties: false - type: object title: Hog config required: - source properties: source: type: string description: Hog source code. Must return true (pass), false (fail), or null for N/A. minLength: 1 additionalProperties: false description: 'Configuration dict. For ''llm_judge'': {prompt}. For ''hog'': {source}.' output_type: allOf: - $ref: '#/components/schemas/OutputTypeEnum' description: 'Output format. Currently only ''boolean'' is supported. * `boolean` - Boolean (Pass/Fail)' output_config: type: object properties: allows_na: type: boolean description: Whether the evaluation can return N/A for non-applicable generations. default: false additionalProperties: false description: 'Output config. For ''boolean'' output_type: {allows_na} to permit N/A results.' conditions: description: Optional trigger conditions to filter which events are evaluated. OR between condition sets, AND within each. model_configuration: allOf: - $ref: '#/components/schemas/ModelConfiguration' nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean description: Set to true to soft-delete the evaluation. PatchedEvaluationReport: type: object properties: id: type: string format: uuid readOnly: true evaluation: type: string format: uuid description: UUID of the evaluation this report config belongs to. frequency: allOf: - $ref: '#/components/schemas/EvaluationReportFrequencyEnum' description: 'How report generation is triggered. ''every_n'' fires once N new evaluation results have accumulated (subject to cooldown_minutes and daily_run_cap). ''scheduled'' fires on the cadence defined by rrule + starts_at + timezone_name. * `scheduled` - Scheduled * `every_n` - Every N' rrule: type: string description: RFC 5545 recurrence rule string (e.g. 'FREQ=WEEKLY;BYDAY=MO'). Must not contain DTSTART — the anchor is set via starts_at. Required when frequency is 'scheduled'; ignored otherwise. starts_at: type: string format: date-time nullable: true description: Anchor datetime for the rrule (ISO 8601, UTC — must end in 'Z'). Local-time interpretation is controlled by timezone_name. Required when frequency is 'scheduled'; ignored otherwise. timezone_name: type: string description: IANA timezone name used to expand the rrule in local time so e.g. '9am' stays at 9am across DST transitions (e.g. 'America/New_York'). Defaults to 'UTC'. maxLength: 64 next_delivery_date: type: string format: date-time readOnly: true nullable: true delivery_targets: description: 'List of delivery targets. Each entry is either {type: ''email'', value: ''user@example.com''} or {type: ''slack'', integration_id: , channel: ''''}. Slack integration_id must belong to this team.' max_sample_size: type: integer maximum: 2147483647 minimum: -2147483648 description: Maximum number of evaluation runs included in each report. Defaults to 200. enabled: type: boolean description: Whether report delivery is active. Disabled configs do not fire. deleted: type: boolean description: Set to true to soft-delete this report config. last_delivered_at: type: string format: date-time readOnly: true nullable: true report_prompt_guidance: type: string description: Optional custom instructions appended to the AI report prompt to steer focus, scope, or section choices without modifying the base prompt. trigger_threshold: type: integer maximum: 10000 minimum: 10 nullable: true description: Number of new evaluation results that triggers a report (every_n mode only). Min 10, max 10000. Defaults to 100. Required when frequency is 'every_n'. cooldown_minutes: type: integer maximum: 1440 minimum: 60 description: Minimum minutes between count-triggered reports to prevent spam (every_n mode only). Min 60, max 1440 (24 hours). Defaults to 60. daily_run_cap: type: integer maximum: 24 minimum: 1 description: Maximum count-triggered report runs per calendar day (UTC). Min 1, max 24 (one per cooldown window). Defaults to 10. created_by: type: integer readOnly: true nullable: true created_at: type: string format: date-time readOnly: true PatchedEventSchema: type: object properties: id: type: string format: uuid readOnly: true event_definition: type: string format: uuid property_group: allOf: - $ref: '#/components/schemas/SchemaPropertyGroup' readOnly: true property_group_id: type: string format: uuid writeOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedExperiment: type: object description: Mixin for serializers to add user access control fields properties: id: type: integer readOnly: true name: type: string description: Name of the experiment. maxLength: 400 description: type: string nullable: true description: Description of the experiment hypothesis and expected outcomes. maxLength: 3000 start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true feature_flag_key: type: string description: Unique key for the experiment's feature flag. Letters, numbers, hyphens, and underscores only. Search existing flags with the feature-flags-get-all tool first — reuse an existing flag when possible. feature_flag: type: object additionalProperties: true readOnly: true holdout: allOf: - $ref: '#/components/schemas/ExperimentHoldout' readOnly: true holdout_id: type: integer nullable: true description: ID of a holdout group to exclude from the experiment. exposure_cohort: type: integer readOnly: true nullable: true parameters: allOf: - $ref: '#/components/schemas/ExperimentParameters' nullable: true description: 'Variant definitions and rollout configuration. Set feature_flag_variants to customize the split (default: 50/50 control/test). Each variant needs a key and split_percent (the variant''s share of traffic); percentages must sum to 100. Set rollout_percentage (0-100, default 100) to limit what fraction of users enter the experiment. Set minimum_detectable_effect (percentage, suggest 20-30) to control statistical power.' secondary_metrics: nullable: true saved_metrics: type: array items: $ref: '#/components/schemas/ExperimentToSavedMetric' readOnly: true saved_metrics_ids: type: array items: {} nullable: true description: IDs of shared saved metrics to attach to this experiment. Each item has 'id' (saved metric ID) and 'metadata' with 'type' (primary or secondary). filters: {} archived: type: boolean default: false description: Whether the experiment is archived. deleted: type: boolean nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true type: nullable: true description: 'Experiment type: web for frontend UI changes, product for backend/API changes. * `web` - web * `product` - product' oneOf: - $ref: '#/components/schemas/ExperimentTypeEnum' - $ref: '#/components/schemas/NullEnum' exposure_criteria: allOf: - $ref: '#/components/schemas/ExperimentApiExposureCriteria' nullable: true description: Exposure configuration including filter test accounts and custom exposure events. metrics: allOf: - $ref: '#/components/schemas/_ExperimentApiMetricsList' nullable: true description: 'Primary experiment metrics. Each metric must have kind=''ExperimentMetric'' and a metric_type: ''mean'' (set source to an EventsNode with an event name), ''funnel'' (set series to an array of EventsNode steps), ''ratio'' (set numerator and denominator EventsNode entries), or ''retention'' (set start_event and completion_event). Use the event-definitions-list tool to find available events in the project.' metrics_secondary: allOf: - $ref: '#/components/schemas/_ExperimentApiMetricsList' nullable: true description: Secondary metrics for additional measurements. Same format as primary metrics. stats_config: nullable: true scheduling_config: nullable: true allow_unknown_events: type: boolean writeOnly: true default: false _create_in_folder: type: string writeOnly: true title: ' create in folder' conclusion: nullable: true description: 'Experiment conclusion: won, lost, inconclusive, stopped_early, or invalid. * `won` - won * `lost` - lost * `inconclusive` - inconclusive * `stopped_early` - stopped_early * `invalid` - invalid' oneOf: - $ref: '#/components/schemas/ConclusionEnum' - $ref: '#/components/schemas/NullEnum' conclusion_comment: type: string nullable: true description: Comment about the experiment conclusion. primary_metrics_ordered_uuids: nullable: true secondary_metrics_ordered_uuids: nullable: true only_count_matured_users: type: boolean update_feature_flag_params: type: boolean writeOnly: true default: false description: When true, sync feature flag configuration from parameters to the linked feature flag. Draft experiments always sync regardless of update_feature_flag_params, so only required for non-drafts. status: allOf: - $ref: '#/components/schemas/ExperimentStatusEnum' readOnly: true description: 'Experiment lifecycle state: ''draft'' (not yet launched), ''running'' (launched with active feature flag), ''paused'' (running with feature flag deactivated — virtual state derived from feature_flag.active, not stored), ''stopped'' (ended).' user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object PatchedExperimentHoldout: type: object properties: id: type: integer readOnly: true name: type: string maxLength: 400 description: type: string nullable: true maxLength: 400 filters: {} created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedExperimentSavedMetric: type: object description: Mixin for serializers to add user access control fields properties: id: type: integer readOnly: true name: type: string maxLength: 400 description: type: string nullable: true maxLength: 400 query: {} created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true tags: type: array items: {} user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object PatchedExternalDataSchema: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true label: type: string readOnly: true nullable: true table: type: object additionalProperties: true nullable: true readOnly: true should_sync: type: boolean last_synced_at: type: string format: date-time readOnly: true nullable: true latest_error: type: string readOnly: true nullable: true description: The latest error that occurred when syncing this schema. incremental: type: boolean readOnly: true status: type: string nullable: true readOnly: true sync_type: nullable: true description: 'Sync strategy: incremental, full_refresh, append, or cdc. * `full_refresh` - full_refresh * `incremental` - incremental * `append` - append * `webhook` - webhook * `cdc` - cdc' oneOf: - $ref: '#/components/schemas/SyncTypeEnum' - $ref: '#/components/schemas/NullEnum' incremental_field: type: string nullable: true description: Column name used to track sync progress. incremental_field_type: nullable: true description: 'Data type of the incremental field. * `integer` - integer * `numeric` - numeric * `datetime` - datetime * `date` - date * `timestamp` - timestamp * `objectid` - objectid' oneOf: - $ref: '#/components/schemas/IncrementalFieldTypeEnum' - $ref: '#/components/schemas/NullEnum' sync_frequency: nullable: true description: 'How often to sync. * `never` - never * `1min` - 1min * `5min` - 5min * `15min` - 15min * `30min` - 30min * `1hour` - 1hour * `6hour` - 6hour * `12hour` - 12hour * `24hour` - 24hour * `7day` - 7day * `30day` - 30day' oneOf: - $ref: '#/components/schemas/SyncFrequencyEnum' - $ref: '#/components/schemas/NullEnum' sync_time_of_day: type: string format: time nullable: true description: UTC time of day to run the sync (HH:MM:SS). description: type: string readOnly: true nullable: true primary_key_columns: type: array items: type: string nullable: true description: Column names for primary key deduplication. cdc_table_mode: nullable: true description: 'For CDC syncs: consolidated, cdc_only, or both. * `consolidated` - consolidated * `cdc_only` - cdc_only * `both` - both' oneOf: - $ref: '#/components/schemas/CdcTableModeEnum' - $ref: '#/components/schemas/NullEnum' PatchedExternalDataSourceBulkUpdateSchemas: type: object properties: schemas: type: array items: $ref: '#/components/schemas/ExternalDataSourceBulkUpdateSchema' description: Schema updates to apply in a single batch. PatchedExternalDataSourceSerializers: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true created_by: type: string nullable: true readOnly: true created_via: allOf: - $ref: '#/components/schemas/CreatedViaEnum' description: 'How this source was created. Defaults to `api` on create when omitted. `web` for the in-app UI, `api` for direct API callers, `mcp` for agent/MCP tool calls. Ignored on update. * `web` - web * `api` - api * `mcp` - mcp' status: type: string readOnly: true client_secret: type: string writeOnly: true account_id: type: string writeOnly: true source_type: allOf: - $ref: '#/components/schemas/ExternalDataSourceTypeEnum' readOnly: true latest_error: type: string nullable: true readOnly: true prefix: type: string nullable: true maxLength: 100 description: type: string nullable: true maxLength: 400 access_method: allOf: - $ref: '#/components/schemas/AccessMethodEnum' readOnly: true engine: readOnly: true nullable: true description: 'Backend engine detected for the direct connection. * `duckdb` - duckdb * `postgres` - postgres' oneOf: - $ref: '#/components/schemas/EngineEnum' - $ref: '#/components/schemas/NullEnum' last_run_at: type: string nullable: true readOnly: true schemas: type: array items: type: object additionalProperties: true readOnly: true job_inputs: nullable: true revenue_analytics_config: allOf: - $ref: '#/components/schemas/ExternalDataSourceRevenueAnalyticsConfig' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object supports_webhooks: type: boolean readOnly: true PatchedFeatureFlagPartialUpdateRequestSchema: type: object properties: key: type: string description: Feature flag key. name: type: string description: Feature flag description (stored in the `name` field for backwards compatibility). filters: allOf: - $ref: '#/components/schemas/FeatureFlagFiltersSchema' description: Feature flag targeting configuration. active: type: boolean description: Whether the feature flag is active. tags: type: array items: type: string description: Organizational tags for this feature flag. evaluation_contexts: type: array items: type: string description: Evaluation contexts that control where this flag evaluates at runtime. PatchedFileSystem: type: object properties: id: type: string format: uuid readOnly: true path: type: string depth: type: integer readOnly: true nullable: true type: type: string maxLength: 100 ref: type: string nullable: true maxLength: 100 href: type: string nullable: true meta: nullable: true shortcut: type: boolean nullable: true created_at: type: string format: date-time readOnly: true last_viewed_at: type: string format: date-time readOnly: true nullable: true PatchedFileSystemShortcut: type: object properties: id: type: string format: uuid readOnly: true path: type: string type: type: string maxLength: 100 ref: type: string nullable: true maxLength: 100 href: type: string nullable: true order: type: integer maximum: 2147483647 minimum: -2147483648 created_at: type: string format: date-time readOnly: true PatchedGroupType: type: object properties: group_type: type: string readOnly: true group_type_index: type: integer readOnly: true name_singular: type: string nullable: true maxLength: 400 name_plural: type: string nullable: true maxLength: 400 detail_dashboard: type: integer nullable: true default_columns: type: array items: type: string nullable: true created_at: type: string format: date-time nullable: true PatchedGroupUsageMetric: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Name of the usage metric. Must be unique per group type within the project. maxLength: 255 format: allOf: - $ref: '#/components/schemas/GroupUsageMetricFormatEnum' default: numeric description: 'How the metric value is formatted in the UI. One of `numeric` or `currency`. * `numeric` - numeric * `currency` - currency' interval: type: integer default: 7 description: Rolling time window in days used to compute the metric. Defaults to 7. display: allOf: - $ref: '#/components/schemas/GroupUsageMetricDisplayEnum' default: number description: 'Visual representation in the UI. One of `number` or `sparkline`. * `number` - number * `sparkline` - sparkline' filters: type: object additionalProperties: true description: 'Filter definition for the metric. Two shapes are accepted, discriminated by an optional `source` key. **Events** (default, when `source` is missing or `"events"`): HogFunction filter shape — `events: [...]`, optional `actions: [...]`, `properties: [...]`, `filter_test_accounts: bool`. **Data warehouse** (`source: "data_warehouse"`): `table_name` (synced DW table), `timestamp_field` (timestamp column or HogQL expression), `key_field` (column whose value matches the entity key). Currently DW metrics only render on group profiles — person profiles are not yet supported.' math: allOf: - $ref: '#/components/schemas/MathEnum' default: count description: 'Aggregation function. `count` counts matching events; `sum` sums the value of `math_property` on matching events. * `count` - count * `sum` - sum' math_property: type: string nullable: true description: Required when `math` is `sum`; must be empty when `math` is `count`. For events metrics this is an event property name. For data warehouse metrics this is the column name (or HogQL expression) to sum on the DW table. maxLength: 255 PatchedHealthIssue: type: object properties: id: type: string format: uuid readOnly: true kind: type: string readOnly: true severity: allOf: - $ref: '#/components/schemas/HealthIssueSeverityEnum' readOnly: true status: allOf: - $ref: '#/components/schemas/HealthIssueStatusEnum' readOnly: true dismissed: type: boolean payload: readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true resolved_at: type: string format: date-time readOnly: true nullable: true PatchedHeatmapScreenshotResponse: type: object properties: id: type: string format: uuid readOnly: true short_id: type: string readOnly: true name: type: string nullable: true maxLength: 400 url: type: string format: uri maxLength: 2000 data_url: type: string format: uri nullable: true description: URL for fetching heatmap data maxLength: 2000 target_widths: {} type: $ref: '#/components/schemas/HeatmapScreenshotResponseTypeEnum' status: allOf: - $ref: '#/components/schemas/HeatmapScreenshotResponseStatusEnum' readOnly: true has_content: type: boolean readOnly: true snapshots: type: array items: type: object additionalProperties: true readOnly: true deleted: type: boolean created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true exception: type: string readOnly: true nullable: true PatchedHogFlow: type: object properties: id: type: string format: uuid readOnly: true name: type: string nullable: true maxLength: 400 description: type: string version: type: integer readOnly: true status: $ref: '#/components/schemas/HogFlowStatusEnum' created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true trigger: {} trigger_masking: allOf: - $ref: '#/components/schemas/HogFlowMasking' nullable: true conversion: nullable: true exit_condition: $ref: '#/components/schemas/ExitConditionEnum' edges: {} actions: type: array items: $ref: '#/components/schemas/HogFlowAction' abort_action: type: string readOnly: true nullable: true variables: type: array items: type: object additionalProperties: type: string billable_action_types: readOnly: true nullable: true PatchedHogFunction: type: object properties: id: type: string format: uuid readOnly: true type: nullable: true description: 'Function type: destination, site_destination, internal_destination, source_webhook, warehouse_source_webhook, site_app, or transformation. * `destination` - Destination * `site_destination` - Site Destination * `internal_destination` - Internal Destination * `source_webhook` - Source Webhook * `warehouse_source_webhook` - Warehouse Source Webhook * `site_app` - Site App * `transformation` - Transformation' oneOf: - $ref: '#/components/schemas/HogFunctionTypeEnum' - $ref: '#/components/schemas/NullEnum' name: type: string nullable: true description: Display name for the function. maxLength: 400 description: type: string description: Human-readable description of what this function does. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true enabled: type: boolean description: Whether the function is active and processing events. deleted: type: boolean writeOnly: true description: Soft-delete flag. Set to true to archive the function. hog: type: string description: Source code. Hog language for most types; TypeScript for site_destination and site_app. bytecode: readOnly: true nullable: true transpiled: type: string readOnly: true nullable: true inputs_schema: type: array items: $ref: '#/components/schemas/InputsSchemaItem' description: Schema defining the configurable input parameters for this function. inputs: type: object additionalProperties: $ref: '#/components/schemas/InputsItem' description: Values for each input defined in inputs_schema. filters: allOf: - $ref: '#/components/schemas/HogFunctionFilters' description: Event filters that control which events trigger this function. masking: allOf: - $ref: '#/components/schemas/HogFunctionMasking' nullable: true description: PII masking configuration with TTL, threshold, and hash expression. mappings: type: array items: $ref: '#/components/schemas/Mappings' nullable: true description: Event-to-destination field mappings. Only for destination and site_destination types. icon_url: type: string nullable: true description: URL for the function's icon displayed in the UI. template: allOf: - $ref: '#/components/schemas/HogFunctionTemplate' readOnly: true template_id: type: string writeOnly: true nullable: true description: ID of the template to create this function from. maxLength: 400 status: allOf: - $ref: '#/components/schemas/HogFunctionStatus' readOnly: true nullable: true execution_order: type: integer maximum: 32767 minimum: 0 nullable: true description: Execution priority for transformations. Lower values run first. _create_in_folder: type: string writeOnly: true title: ' create in folder' batch_export_id: type: string format: uuid nullable: true readOnly: true PatchedHogFunctionRearrange: type: object properties: orders: type: object additionalProperties: type: integer description: Map of hog function UUIDs to their new execution_order values. PatchedInsight: type: object description: Simplified serializer to speed response times when loading large amounts of objects. properties: id: type: integer readOnly: true short_id: type: string readOnly: true name: type: string nullable: true maxLength: 400 derived_name: type: string nullable: true maxLength: 400 query: allOf: - $ref: '#/components/schemas/_InsightQuerySchema' nullable: true order: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true deleted: type: boolean dashboards: type: array items: type: integer description: "\n DEPRECATED. Will be removed in a future release.\ \ Use dashboard_tiles instead.\n A dashboard ID for each of the\ \ dashboards that this insight is displayed on.\n " dashboard_tiles: type: array items: $ref: '#/components/schemas/DashboardTileBasic' readOnly: true description: "\n A dashboard tile ID and dashboard_id for each of the\ \ dashboards that this insight is displayed on.\n " last_refresh: type: string format: date-time nullable: true readOnly: true description: "\n The datetime this insight's results were generated.\n\ \ If added to one or more dashboards the insight can be refreshed separately\ \ on each.\n Returns the appropriate last_refresh datetime for the\ \ context the insight is viewed in\n (see from_dashboard query parameter).\n\ \ " cache_target_age: type: string format: date-time nullable: true readOnly: true description: The target age of the cached results for this insight. next_allowed_client_refresh: type: string format: date-time nullable: true readOnly: true description: "\n The earliest possible datetime at which we'll allow\ \ the cached results for this insight to be refreshed\n by querying\ \ the database.\n " result: readOnly: true hasMore: type: boolean nullable: true readOnly: true columns: type: array items: type: string nullable: true readOnly: true created_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: type: string nullable: true maxLength: 400 updated_at: type: string format: date-time readOnly: true tags: type: array items: {} favorited: type: boolean last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true is_sample: type: boolean readOnly: true effective_restriction_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true effective_privilege_level: allOf: - $ref: '#/components/schemas/EffectivePrivilegeLevelEnum' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object timezone: type: string nullable: true readOnly: true description: The timezone this chart is displayed in. is_cached: type: boolean readOnly: true query_status: readOnly: true hogql: type: string nullable: true readOnly: true types: type: array items: {} nullable: true readOnly: true resolved_date_range: type: object nullable: true properties: date_from: type: string format: date-time date_to: type: string format: date-time readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' alerts: type: array items: {} readOnly: true last_viewed_at: type: string format: date-time nullable: true readOnly: true PatchedInsightVariable: type: object properties: id: type: string format: uuid readOnly: true description: UUID of the SQL variable. name: type: string description: Human-readable name for the SQL variable. maxLength: 400 type: allOf: - $ref: '#/components/schemas/InsightVariableTypeEnum' description: 'Variable type. Controls how the value is rendered and substituted in HogQL. * `String` - String * `Number` - Number * `Boolean` - Boolean * `List` - List * `Date` - Date' default_value: nullable: true description: Default value used when a query references this variable. created_by: type: integer readOnly: true nullable: true description: ID of the user who created the SQL variable. created_at: type: string format: date-time readOnly: true description: Timestamp when the SQL variable was created. code_name: type: string readOnly: true nullable: true description: Generated code-safe name used in HogQL as {variables.code_name}. Derived from name. values: nullable: true description: Allowed values for List variables. Null for other variable types. PatchedIntegrationConfig: type: object description: Standard Integration serializer. properties: id: type: integer readOnly: true kind: $ref: '#/components/schemas/IntegrationKindEnum' config: {} created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true errors: type: string readOnly: true display_name: type: string readOnly: true PatchedJsSnippetVersion: type: object properties: js_snippet_version: type: string nullable: true description: 'Version pin: null for latest, "1.358.0" for exact, "1" for major, "1.358" for minor' maxLength: 50 PatchedLLMPromptPublish: type: object properties: prompt: description: Full prompt payload to publish as a new version. Mutually exclusive with edits. edits: type: array items: $ref: '#/components/schemas/LLMPromptEditOperation' description: List of find/replace operations to apply to the current prompt version. Each edit's 'old' text must match exactly once. Edits are applied sequentially. Mutually exclusive with prompt. base_version: type: integer minimum: 1 description: Latest version you are editing from. Used for optimistic concurrency checks. PatchedLLMProviderKey: type: object properties: id: type: string format: uuid readOnly: true provider: $ref: '#/components/schemas/LLMProviderEnum' name: type: string maxLength: 255 state: allOf: - $ref: '#/components/schemas/LLMProviderKeyStateEnum' readOnly: true error_message: type: string readOnly: true nullable: true api_key: type: string writeOnly: true api_key_masked: type: string readOnly: true azure_endpoint: type: string format: uri writeOnly: true description: Azure OpenAI endpoint URL api_version: type: string writeOnly: true description: Azure OpenAI API version maxLength: 20 azure_endpoint_display: type: string nullable: true readOnly: true description: Azure endpoint (read-only, for display) api_version_display: type: string nullable: true readOnly: true description: Azure API version (read-only, for display) set_as_active: type: boolean writeOnly: true default: false created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_used_at: type: string format: date-time readOnly: true nullable: true PatchedLLMSkillPublish: type: object properties: body: type: string description: Full skill body (SKILL.md instruction content) to publish as a new version. Mutually exclusive with edits. edits: type: array items: $ref: '#/components/schemas/LLMSkillEditOperation' description: List of find/replace operations to apply to the current skill body. Each edit's 'old' text must match exactly once. Edits are applied sequentially. Mutually exclusive with body. description: type: string description: Updated description for the new version. maxLength: 4096 license: type: string description: License name or reference. maxLength: 255 compatibility: type: string description: Environment requirements. maxLength: 500 allowed_tools: type: array items: type: string description: List of pre-approved tools the skill may use. metadata: type: object additionalProperties: true description: Arbitrary key-value metadata. files: type: array items: $ref: '#/components/schemas/LLMSkillFileInput' description: Bundled files to include with this version. Replaces all files from the previous version. Mutually exclusive with file_edits. file_edits: type: array items: $ref: '#/components/schemas/LLMSkillFileEdit' description: Per-file find/replace updates. Each entry targets one existing file by path and applies sequential edits to its content. Non-targeted files carry forward unchanged. Cannot add, remove, or rename files — use 'files' for that. Mutually exclusive with files. base_version: type: integer minimum: 1 description: Latest version you are editing from. Used for optimistic concurrency checks. PatchedLiveDebuggerBreakpoint: type: object properties: id: type: string format: uuid readOnly: true repository: type: string nullable: true filename: type: string line_number: type: integer maximum: 2147483647 minimum: 0 enabled: type: boolean condition: type: string nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedLogsAlertConfiguration: type: object properties: id: type: string format: uuid readOnly: true description: Unique identifier for this alert. name: type: string description: Human-readable name for this alert. Defaults to 'Untitled alert' on create when omitted. maxLength: 255 enabled: type: boolean default: true description: Whether the alert is actively being evaluated. Disabling resets the state to not_firing. filters: description: 'Filter criteria — subset of LogsViewerFilters. Must contain at least one of: severityLevels (list of severity strings), serviceNames (list of service name strings), or filterGroup (property filter group object). May be empty on draft alerts (enabled=false).' threshold_count: type: integer minimum: 1 default: 100 description: Number of matching log entries that constitutes a threshold breach within the evaluation window. Defaults to 100. threshold_operator: allOf: - $ref: '#/components/schemas/ThresholdOperatorEnum' default: above description: 'Whether the alert fires when the count is above or below the threshold. * `above` - Above * `below` - Below' window_minutes: type: integer default: 5 description: 'Time window in minutes over which log entries are counted. Allowed values: 5, 10, 15, 30, 60.' check_interval_minutes: type: integer readOnly: true description: How often the alert is evaluated, in minutes. Server-managed. state: allOf: - $ref: '#/components/schemas/LogsAlertConfigurationStateEnum' readOnly: true description: 'Current alert state: not_firing, firing, pending_resolve, errored, or snoozed. Server-managed. * `not_firing` - Not firing * `firing` - Firing * `pending_resolve` - Pending resolve * `errored` - Errored * `snoozed` - Snoozed * `broken` - Broken' evaluation_periods: type: integer maximum: 10 minimum: 1 default: 1 description: Total number of check periods in the sliding evaluation window for firing (M in N-of-M). datapoints_to_alarm: type: integer maximum: 10 minimum: 1 default: 1 description: How many periods within the evaluation window must breach the threshold to fire (N in N-of-M). cooldown_minutes: type: integer minimum: 0 default: 0 description: Minimum minutes between repeated notifications after the alert fires. 0 means no cooldown. snooze_until: type: string format: date-time nullable: true description: ISO 8601 timestamp until which the alert is snoozed. Set to null to unsnooze. next_check_at: type: string format: date-time readOnly: true nullable: true description: When the next evaluation is scheduled. Server-managed. last_notified_at: type: string format: date-time readOnly: true nullable: true description: When the last notification was sent. Server-managed. last_checked_at: type: string format: date-time readOnly: true nullable: true description: When the alert was last evaluated. Server-managed. consecutive_failures: type: integer readOnly: true description: Number of consecutive evaluation failures. Resets on success. Server-managed. last_error_message: type: string nullable: true readOnly: true description: Error message from the most recent errored check, or null if the alert's most recent check was successful. Sourced from LogsAlertEvent without denormalization so retention-aware cleanup rules stay the only source of truth. state_timeline: type: array items: $ref: '#/components/schemas/LogsAlertStateInterval' readOnly: true description: Continuous state intervals over the last 24h, ordered oldest-first. Each interval covers a span during which (state, enabled) was constant. Derived from LogsAlertEvent rows walked in chronological order; consecutive identical intervals are collapsed. Drives the 'Last 24h' status bar on the alert list. destination_types: type: array items: $ref: '#/components/schemas/NotificationDestinationTypeEnum' readOnly: true description: Notification destination types configured for this alert — e.g. 'slack', 'webhook'. Empty list means no notifications will fire. One or more destinations should be added after creating an alert. first_enabled_at: type: string format: date-time readOnly: true nullable: true description: When the alert was first enabled. Null means the alert is still in draft state. created_at: type: string format: date-time readOnly: true description: When the alert was created. created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true description: When the alert was last modified. PatchedLogsSamplingRule: type: object properties: id: type: string format: uuid readOnly: true description: Unique identifier for this sampling rule. name: type: string description: User-visible label for this rule. maxLength: 255 enabled: type: boolean default: false description: When false, the rule is ignored by ingestion and listing UIs that show active rules only. priority: type: integer minimum: 0 nullable: true description: Lower numbers are evaluated first; the first matching rule wins. Omit to append after existing rules. rule_type: allOf: - $ref: '#/components/schemas/RuleTypeEnum' description: 'Rule kind: severity_sampling, path_drop, or rate_limit (rate_limit reserved for a future release). * `severity_sampling` - Severity-based reduction * `path_drop` - Path exclusion * `rate_limit` - Rate limit' scope_service: type: string nullable: true description: If set, the rule applies only to this service name; null means all services. maxLength: 512 scope_path_pattern: type: string nullable: true description: Optional regex matched against a path-like log attribute when present. maxLength: 1024 scope_attribute_filters: type: array items: type: object additionalProperties: true description: Optional list of predicates over string attributes, e.g. [{"key":"http.route","op":"eq","value":"/api"}]. config: description: 'Type-specific JSON. For path_drop: object with required `patterns` (list of regex strings) and optional `match_attribute_key` (string). When `match_attribute_key` is omitted or empty, patterns match the same virtual path string as ingestion (url.path, http.path, http.route, path). When set, each pattern is tested only against that string attribute on the log record. For severity_sampling: object with `actions` per severity level and optional `always_keep`. rate_limit is reserved.' version: type: integer readOnly: true description: Incremented on each update for worker cache coherency. created_by: type: integer readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true PatchedLogsView: type: object properties: id: type: string format: uuid readOnly: true short_id: type: string readOnly: true name: type: string maxLength: 400 filters: type: object additionalProperties: true description: Filter criteria — subset of LogsViewerFilters. May contain severityLevels, serviceNames, searchTerm, filterGroup, dateRange, and other keys. pinned: type: boolean created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true PatchedMCPServerInstallationUpdate: type: object properties: display_name: type: string description: type: string is_enabled: type: boolean PatchedNotebook: type: object properties: id: type: string format: uuid readOnly: true description: UUID of the notebook. short_id: type: string readOnly: true description: Short alphanumeric identifier used in URLs and API lookups. title: type: string nullable: true description: Title of the notebook. maxLength: 256 content: nullable: true description: Notebook content as a ProseMirror JSON document structure. text_content: type: string nullable: true description: Plain text representation of the notebook content for search. version: type: integer maximum: 2147483647 minimum: -2147483648 description: Version number for optimistic concurrency control. Must match the current version when updating content. deleted: type: boolean description: Whether the notebook has been soft-deleted. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object _create_in_folder: type: string writeOnly: true title: ' create in folder' PatchedObjectMediaPreview: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true media_url: type: string readOnly: true media_type: type: string description: Return 'uploaded' or 'exported' based on which media is set readOnly: true metadata: {} uploaded_media_id: type: string format: uuid writeOnly: true nullable: true exported_asset_id: type: string format: uuid writeOnly: true nullable: true event_definition_id: type: string format: uuid writeOnly: true nullable: true PatchedOrganization: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 64 slug: type: string readOnly: true pattern: ^[-a-zA-Z0-9_]+$ logo_media_id: type: string format: uuid nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true plugins_access_level: allOf: - $ref: '#/components/schemas/PluginsAccessLevelEnum' readOnly: true teams: type: array items: type: object additionalProperties: true readOnly: true projects: type: array items: type: object additionalProperties: true readOnly: true available_product_features: type: array items: {} readOnly: true nullable: true is_member_join_email_enabled: type: boolean readOnly: true description: Legacy field; member-join emails are controlled per user in account notification settings. metadata: type: object additionalProperties: type: string readOnly: true customer_id: type: string readOnly: true nullable: true enforce_2fa: type: boolean nullable: true members_can_invite: type: boolean nullable: true members_can_use_personal_api_keys: type: boolean allow_publicly_shared_resources: type: boolean member_count: type: integer readOnly: true is_ai_data_processing_approved: type: boolean nullable: true default_experiment_stats_method: nullable: true description: 'Default statistical method for new experiments in this organization. * `bayesian` - Bayesian * `frequentist` - Frequentist' oneOf: - $ref: '#/components/schemas/DefaultExperimentStatsMethodEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' default_anonymize_ips: type: boolean description: Default setting for 'Discard client IP data' for new projects in this organization. default_role_id: type: string nullable: true description: ID of the role to automatically assign to new members joining the organization is_active: type: boolean readOnly: true nullable: true title: Active description: Set this to 'No' to temporarily disable an organization. is_not_active_reason: type: string readOnly: true nullable: true title: De-activated reason description: (optional) reason for why the organization has been de-activated. This will be displayed to users on the web app. is_pending_deletion: type: boolean readOnly: true nullable: true description: Set to True when org deletion has been initiated. Blocks all UI access until the async task completes. PatchedOrganizationDomain: type: object properties: id: type: string format: uuid readOnly: true domain: type: string maxLength: 128 is_verified: type: boolean description: Determines whether a domain is verified or not. readOnly: true verified_at: type: string format: date-time readOnly: true nullable: true verification_challenge: type: string readOnly: true jit_provisioning_enabled: type: boolean sso_enforcement: type: string maxLength: 28 has_saml: type: boolean description: Returns whether SAML is configured for the instance. Does not validate the user has the required license (that check is performed in other places). readOnly: true saml_entity_id: type: string nullable: true maxLength: 512 saml_acs_url: type: string nullable: true maxLength: 512 saml_x509_cert: type: string nullable: true has_scim: type: boolean description: Returns whether SCIM is configured and enabled for this domain. readOnly: true scim_enabled: type: boolean scim_base_url: type: string nullable: true readOnly: true scim_bearer_token: type: string nullable: true readOnly: true PatchedOrganizationIntegration: type: object description: Serializer for organization-level integrations. properties: id: type: string format: uuid readOnly: true kind: allOf: - $ref: '#/components/schemas/OrganizationIntegrationKindEnum' readOnly: true integration_id: type: string readOnly: true nullable: true config: readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true PatchedOrganizationMember: type: object properties: id: type: string format: uuid readOnly: true user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true level: $ref: '#/components/schemas/OrganizationMembershipLevelEnum' joined_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true is_2fa_enabled: type: boolean readOnly: true has_social_auth: type: boolean readOnly: true last_login: type: string format: date-time readOnly: true PatchedPersistedFolder: type: object properties: id: type: string format: uuid readOnly: true type: $ref: '#/components/schemas/PersistedFolderTypeEnum' protocol: type: string maxLength: 64 path: type: string created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedPersonRecord: type: object properties: id: type: integer readOnly: true description: Numeric person ID. name: type: string readOnly: true description: Display name derived from person properties (email, name, or username). distinct_ids: type: array items: type: string readOnly: true properties: description: Key-value map of person properties set via $set and $set_once operations. created_at: type: string format: date-time readOnly: true description: When this person was first seen (ISO 8601). uuid: type: string format: uuid readOnly: true description: Unique identifier (UUID) for this person. last_seen_at: type: string format: date-time readOnly: true nullable: true description: Timestamp of the last event from this person, or null. PatchedPinnedSceneTabs: type: object properties: tabs: type: array items: $ref: '#/components/schemas/PinnedSceneTab' description: Ordered list of pinned navigation tabs shown in the sidebar for the authenticated user within the current team. Send the full list to replace the existing pins; omit to leave them unchanged. homepage: allOf: - $ref: '#/components/schemas/PinnedSceneTab' nullable: true description: Tab descriptor for the user's chosen home page — the destination opened when they click the PostHog logo or hit `/`. Set to a tab descriptor to pick a homepage, send `null` or `{}` to clear it and fall back to the project default. PatchedProductTourSerializerCreateUpdateOnly: type: object description: Serializer for creating and updating ProductTour. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag_id: type: integer writeOnly: true nullable: true targeting_flag_filters: writeOnly: true nullable: true content: {} auto_launch: type: boolean start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true archived: type: boolean creation_context: allOf: - $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnlyCreationContextEnum' writeOnly: true default: app description: 'Where the tour was created/updated from * `app` - app * `toolbar` - toolbar' PatchedProjectBackwardCompat: type: object description: 'Like `ProjectBasicSerializer`, but also works as a drop-in replacement for `TeamBasicSerializer` by way of passthrough fields. This allows the meaning of `Team` to change from "project" to "environment" without breaking backward compatibility of the REST API. Do not use this in greenfield endpoints!' properties: id: type: integer readOnly: true organization: type: string format: uuid readOnly: true name: type: string description: Human-readable project name. maxLength: 200 minLength: 1 product_description: type: string nullable: true description: Short description of what the project is about. This is helpful to give our AI agents context about your project. maxLength: 1000 created_at: type: string format: date-time readOnly: true effective_membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true has_group_types: type: boolean readOnly: true group_types: type: array items: type: object additionalProperties: true readOnly: true live_events_token: type: string nullable: true readOnly: true updated_at: type: string format: date-time readOnly: true uuid: type: string format: uuid readOnly: true api_token: type: string readOnly: true app_urls: type: array items: type: string nullable: true maxLength: 200 anonymize_ips: type: boolean description: When true, PostHog drops the IP address from every ingested event. completed_snippet_onboarding: type: boolean ingested_event: type: boolean readOnly: true test_account_filters: description: Filter groups that identify internal/test traffic to be excluded from insights. test_account_filters_default_checked: type: boolean nullable: true description: When true, new insights default to excluding internal/test users. path_cleaning_filters: nullable: true description: Regex rewrite rules that collapse dynamic path segments (e.g. user IDs) before displaying URLs in paths. is_demo: type: boolean timezone: allOf: - $ref: '#/components/schemas/TimezoneEnum' description: 'IANA timezone used for date-based filters and reporting (e.g. `America/Los_Angeles`). * `Africa/Abidjan` - Africa/Abidjan * `Africa/Accra` - Africa/Accra * `Africa/Addis_Ababa` - Africa/Addis_Ababa * `Africa/Algiers` - Africa/Algiers * `Africa/Asmara` - Africa/Asmara * `Africa/Asmera` - Africa/Asmera * `Africa/Bamako` - Africa/Bamako * `Africa/Bangui` - Africa/Bangui * `Africa/Banjul` - Africa/Banjul * `Africa/Bissau` - Africa/Bissau * `Africa/Blantyre` - Africa/Blantyre * `Africa/Brazzaville` - Africa/Brazzaville * `Africa/Bujumbura` - Africa/Bujumbura * `Africa/Cairo` - Africa/Cairo * `Africa/Casablanca` - Africa/Casablanca * `Africa/Ceuta` - Africa/Ceuta * `Africa/Conakry` - Africa/Conakry * `Africa/Dakar` - Africa/Dakar * `Africa/Dar_es_Salaam` - Africa/Dar_es_Salaam * `Africa/Djibouti` - Africa/Djibouti * `Africa/Douala` - Africa/Douala * `Africa/El_Aaiun` - Africa/El_Aaiun * `Africa/Freetown` - Africa/Freetown * `Africa/Gaborone` - Africa/Gaborone * `Africa/Harare` - Africa/Harare * `Africa/Johannesburg` - Africa/Johannesburg * `Africa/Juba` - Africa/Juba * `Africa/Kampala` - Africa/Kampala * `Africa/Khartoum` - Africa/Khartoum * `Africa/Kigali` - Africa/Kigali * `Africa/Kinshasa` - Africa/Kinshasa * `Africa/Lagos` - Africa/Lagos * `Africa/Libreville` - Africa/Libreville * `Africa/Lome` - Africa/Lome * `Africa/Luanda` - Africa/Luanda * `Africa/Lubumbashi` - Africa/Lubumbashi * `Africa/Lusaka` - Africa/Lusaka * `Africa/Malabo` - Africa/Malabo * `Africa/Maputo` - Africa/Maputo * `Africa/Maseru` - Africa/Maseru * `Africa/Mbabane` - Africa/Mbabane * `Africa/Mogadishu` - Africa/Mogadishu * `Africa/Monrovia` - Africa/Monrovia * `Africa/Nairobi` - Africa/Nairobi * `Africa/Ndjamena` - Africa/Ndjamena * `Africa/Niamey` - Africa/Niamey * `Africa/Nouakchott` - Africa/Nouakchott * `Africa/Ouagadougou` - Africa/Ouagadougou * `Africa/Porto-Novo` - Africa/Porto-Novo * `Africa/Sao_Tome` - Africa/Sao_Tome * `Africa/Timbuktu` - Africa/Timbuktu * `Africa/Tripoli` - Africa/Tripoli * `Africa/Tunis` - Africa/Tunis * `Africa/Windhoek` - Africa/Windhoek * `America/Adak` - America/Adak * `America/Anchorage` - America/Anchorage * `America/Anguilla` - America/Anguilla * `America/Antigua` - America/Antigua * `America/Araguaina` - America/Araguaina * `America/Argentina/Buenos_Aires` - America/Argentina/Buenos_Aires * `America/Argentina/Catamarca` - America/Argentina/Catamarca * `America/Argentina/ComodRivadavia` - America/Argentina/ComodRivadavia * `America/Argentina/Cordoba` - America/Argentina/Cordoba * `America/Argentina/Jujuy` - America/Argentina/Jujuy * `America/Argentina/La_Rioja` - America/Argentina/La_Rioja * `America/Argentina/Mendoza` - America/Argentina/Mendoza * `America/Argentina/Rio_Gallegos` - America/Argentina/Rio_Gallegos * `America/Argentina/Salta` - America/Argentina/Salta * `America/Argentina/San_Juan` - America/Argentina/San_Juan * `America/Argentina/San_Luis` - America/Argentina/San_Luis * `America/Argentina/Tucuman` - America/Argentina/Tucuman * `America/Argentina/Ushuaia` - America/Argentina/Ushuaia * `America/Aruba` - America/Aruba * `America/Asuncion` - America/Asuncion * `America/Atikokan` - America/Atikokan * `America/Atka` - America/Atka * `America/Bahia` - America/Bahia * `America/Bahia_Banderas` - America/Bahia_Banderas * `America/Barbados` - America/Barbados * `America/Belem` - America/Belem * `America/Belize` - America/Belize * `America/Blanc-Sablon` - America/Blanc-Sablon * `America/Boa_Vista` - America/Boa_Vista * `America/Bogota` - America/Bogota * `America/Boise` - America/Boise * `America/Buenos_Aires` - America/Buenos_Aires * `America/Cambridge_Bay` - America/Cambridge_Bay * `America/Campo_Grande` - America/Campo_Grande * `America/Cancun` - America/Cancun * `America/Caracas` - America/Caracas * `America/Catamarca` - America/Catamarca * `America/Cayenne` - America/Cayenne * `America/Cayman` - America/Cayman * `America/Chicago` - America/Chicago * `America/Chihuahua` - America/Chihuahua * `America/Ciudad_Juarez` - America/Ciudad_Juarez * `America/Coral_Harbour` - America/Coral_Harbour * `America/Cordoba` - America/Cordoba * `America/Costa_Rica` - America/Costa_Rica * `America/Creston` - America/Creston * `America/Cuiaba` - America/Cuiaba * `America/Curacao` - America/Curacao * `America/Danmarkshavn` - America/Danmarkshavn * `America/Dawson` - America/Dawson * `America/Dawson_Creek` - America/Dawson_Creek * `America/Denver` - America/Denver * `America/Detroit` - America/Detroit * `America/Dominica` - America/Dominica * `America/Edmonton` - America/Edmonton * `America/Eirunepe` - America/Eirunepe * `America/El_Salvador` - America/El_Salvador * `America/Ensenada` - America/Ensenada * `America/Fort_Nelson` - America/Fort_Nelson * `America/Fort_Wayne` - America/Fort_Wayne * `America/Fortaleza` - America/Fortaleza * `America/Glace_Bay` - America/Glace_Bay * `America/Godthab` - America/Godthab * `America/Goose_Bay` - America/Goose_Bay * `America/Grand_Turk` - America/Grand_Turk * `America/Grenada` - America/Grenada * `America/Guadeloupe` - America/Guadeloupe * `America/Guatemala` - America/Guatemala * `America/Guayaquil` - America/Guayaquil * `America/Guyana` - America/Guyana * `America/Halifax` - America/Halifax * `America/Havana` - America/Havana * `America/Hermosillo` - America/Hermosillo * `America/Indiana/Indianapolis` - America/Indiana/Indianapolis * `America/Indiana/Knox` - America/Indiana/Knox * `America/Indiana/Marengo` - America/Indiana/Marengo * `America/Indiana/Petersburg` - America/Indiana/Petersburg * `America/Indiana/Tell_City` - America/Indiana/Tell_City * `America/Indiana/Vevay` - America/Indiana/Vevay * `America/Indiana/Vincennes` - America/Indiana/Vincennes * `America/Indiana/Winamac` - America/Indiana/Winamac * `America/Indianapolis` - America/Indianapolis * `America/Inuvik` - America/Inuvik * `America/Iqaluit` - America/Iqaluit * `America/Jamaica` - America/Jamaica * `America/Jujuy` - America/Jujuy * `America/Juneau` - America/Juneau * `America/Kentucky/Louisville` - America/Kentucky/Louisville * `America/Kentucky/Monticello` - America/Kentucky/Monticello * `America/Knox_IN` - America/Knox_IN * `America/Kralendijk` - America/Kralendijk * `America/La_Paz` - America/La_Paz * `America/Lima` - America/Lima * `America/Los_Angeles` - America/Los_Angeles * `America/Louisville` - America/Louisville * `America/Lower_Princes` - America/Lower_Princes * `America/Maceio` - America/Maceio * `America/Managua` - America/Managua * `America/Manaus` - America/Manaus * `America/Marigot` - America/Marigot * `America/Martinique` - America/Martinique * `America/Matamoros` - America/Matamoros * `America/Mazatlan` - America/Mazatlan * `America/Mendoza` - America/Mendoza * `America/Menominee` - America/Menominee * `America/Merida` - America/Merida * `America/Metlakatla` - America/Metlakatla * `America/Mexico_City` - America/Mexico_City * `America/Miquelon` - America/Miquelon * `America/Moncton` - America/Moncton * `America/Monterrey` - America/Monterrey * `America/Montevideo` - America/Montevideo * `America/Montreal` - America/Montreal * `America/Montserrat` - America/Montserrat * `America/Nassau` - America/Nassau * `America/New_York` - America/New_York * `America/Nipigon` - America/Nipigon * `America/Nome` - America/Nome * `America/Noronha` - America/Noronha * `America/North_Dakota/Beulah` - America/North_Dakota/Beulah * `America/North_Dakota/Center` - America/North_Dakota/Center * `America/North_Dakota/New_Salem` - America/North_Dakota/New_Salem * `America/Nuuk` - America/Nuuk * `America/Ojinaga` - America/Ojinaga * `America/Panama` - America/Panama * `America/Pangnirtung` - America/Pangnirtung * `America/Paramaribo` - America/Paramaribo * `America/Phoenix` - America/Phoenix * `America/Port-au-Prince` - America/Port-au-Prince * `America/Port_of_Spain` - America/Port_of_Spain * `America/Porto_Acre` - America/Porto_Acre * `America/Porto_Velho` - America/Porto_Velho * `America/Puerto_Rico` - America/Puerto_Rico * `America/Punta_Arenas` - America/Punta_Arenas * `America/Rainy_River` - America/Rainy_River * `America/Rankin_Inlet` - America/Rankin_Inlet * `America/Recife` - America/Recife * `America/Regina` - America/Regina * `America/Resolute` - America/Resolute * `America/Rio_Branco` - America/Rio_Branco * `America/Rosario` - America/Rosario * `America/Santa_Isabel` - America/Santa_Isabel * `America/Santarem` - America/Santarem * `America/Santiago` - America/Santiago * `America/Santo_Domingo` - America/Santo_Domingo * `America/Sao_Paulo` - America/Sao_Paulo * `America/Scoresbysund` - America/Scoresbysund * `America/Shiprock` - America/Shiprock * `America/Sitka` - America/Sitka * `America/St_Barthelemy` - America/St_Barthelemy * `America/St_Johns` - America/St_Johns * `America/St_Kitts` - America/St_Kitts * `America/St_Lucia` - America/St_Lucia * `America/St_Thomas` - America/St_Thomas * `America/St_Vincent` - America/St_Vincent * `America/Swift_Current` - America/Swift_Current * `America/Tegucigalpa` - America/Tegucigalpa * `America/Thule` - America/Thule * `America/Thunder_Bay` - America/Thunder_Bay * `America/Tijuana` - America/Tijuana * `America/Toronto` - America/Toronto * `America/Tortola` - America/Tortola * `America/Vancouver` - America/Vancouver * `America/Virgin` - America/Virgin * `America/Whitehorse` - America/Whitehorse * `America/Winnipeg` - America/Winnipeg * `America/Yakutat` - America/Yakutat * `America/Yellowknife` - America/Yellowknife * `Antarctica/Casey` - Antarctica/Casey * `Antarctica/Davis` - Antarctica/Davis * `Antarctica/DumontDUrville` - Antarctica/DumontDUrville * `Antarctica/Macquarie` - Antarctica/Macquarie * `Antarctica/Mawson` - Antarctica/Mawson * `Antarctica/McMurdo` - Antarctica/McMurdo * `Antarctica/Palmer` - Antarctica/Palmer * `Antarctica/Rothera` - Antarctica/Rothera * `Antarctica/South_Pole` - Antarctica/South_Pole * `Antarctica/Syowa` - Antarctica/Syowa * `Antarctica/Troll` - Antarctica/Troll * `Antarctica/Vostok` - Antarctica/Vostok * `Arctic/Longyearbyen` - Arctic/Longyearbyen * `Asia/Aden` - Asia/Aden * `Asia/Almaty` - Asia/Almaty * `Asia/Amman` - Asia/Amman * `Asia/Anadyr` - Asia/Anadyr * `Asia/Aqtau` - Asia/Aqtau * `Asia/Aqtobe` - Asia/Aqtobe * `Asia/Ashgabat` - Asia/Ashgabat * `Asia/Ashkhabad` - Asia/Ashkhabad * `Asia/Atyrau` - Asia/Atyrau * `Asia/Baghdad` - Asia/Baghdad * `Asia/Bahrain` - Asia/Bahrain * `Asia/Baku` - Asia/Baku * `Asia/Bangkok` - Asia/Bangkok * `Asia/Barnaul` - Asia/Barnaul * `Asia/Beirut` - Asia/Beirut * `Asia/Bishkek` - Asia/Bishkek * `Asia/Brunei` - Asia/Brunei * `Asia/Calcutta` - Asia/Calcutta * `Asia/Chita` - Asia/Chita * `Asia/Choibalsan` - Asia/Choibalsan * `Asia/Chongqing` - Asia/Chongqing * `Asia/Chungking` - Asia/Chungking * `Asia/Colombo` - Asia/Colombo * `Asia/Dacca` - Asia/Dacca * `Asia/Damascus` - Asia/Damascus * `Asia/Dhaka` - Asia/Dhaka * `Asia/Dili` - Asia/Dili * `Asia/Dubai` - Asia/Dubai * `Asia/Dushanbe` - Asia/Dushanbe * `Asia/Famagusta` - Asia/Famagusta * `Asia/Gaza` - Asia/Gaza * `Asia/Harbin` - Asia/Harbin * `Asia/Hebron` - Asia/Hebron * `Asia/Ho_Chi_Minh` - Asia/Ho_Chi_Minh * `Asia/Hong_Kong` - Asia/Hong_Kong * `Asia/Hovd` - Asia/Hovd * `Asia/Irkutsk` - Asia/Irkutsk * `Asia/Istanbul` - Asia/Istanbul * `Asia/Jakarta` - Asia/Jakarta * `Asia/Jayapura` - Asia/Jayapura * `Asia/Jerusalem` - Asia/Jerusalem * `Asia/Kabul` - Asia/Kabul * `Asia/Kamchatka` - Asia/Kamchatka * `Asia/Karachi` - Asia/Karachi * `Asia/Kashgar` - Asia/Kashgar * `Asia/Kathmandu` - Asia/Kathmandu * `Asia/Katmandu` - Asia/Katmandu * `Asia/Khandyga` - Asia/Khandyga * `Asia/Kolkata` - Asia/Kolkata * `Asia/Krasnoyarsk` - Asia/Krasnoyarsk * `Asia/Kuala_Lumpur` - Asia/Kuala_Lumpur * `Asia/Kuching` - Asia/Kuching * `Asia/Kuwait` - Asia/Kuwait * `Asia/Macao` - Asia/Macao * `Asia/Macau` - Asia/Macau * `Asia/Magadan` - Asia/Magadan * `Asia/Makassar` - Asia/Makassar * `Asia/Manila` - Asia/Manila * `Asia/Muscat` - Asia/Muscat * `Asia/Nicosia` - Asia/Nicosia * `Asia/Novokuznetsk` - Asia/Novokuznetsk * `Asia/Novosibirsk` - Asia/Novosibirsk * `Asia/Omsk` - Asia/Omsk * `Asia/Oral` - Asia/Oral * `Asia/Phnom_Penh` - Asia/Phnom_Penh * `Asia/Pontianak` - Asia/Pontianak * `Asia/Pyongyang` - Asia/Pyongyang * `Asia/Qatar` - Asia/Qatar * `Asia/Qostanay` - Asia/Qostanay * `Asia/Qyzylorda` - Asia/Qyzylorda * `Asia/Rangoon` - Asia/Rangoon * `Asia/Riyadh` - Asia/Riyadh * `Asia/Saigon` - Asia/Saigon * `Asia/Sakhalin` - Asia/Sakhalin * `Asia/Samarkand` - Asia/Samarkand * `Asia/Seoul` - Asia/Seoul * `Asia/Shanghai` - Asia/Shanghai * `Asia/Singapore` - Asia/Singapore * `Asia/Srednekolymsk` - Asia/Srednekolymsk * `Asia/Taipei` - Asia/Taipei * `Asia/Tashkent` - Asia/Tashkent * `Asia/Tbilisi` - Asia/Tbilisi * `Asia/Tehran` - Asia/Tehran * `Asia/Tel_Aviv` - Asia/Tel_Aviv * `Asia/Thimbu` - Asia/Thimbu * `Asia/Thimphu` - Asia/Thimphu * `Asia/Tokyo` - Asia/Tokyo * `Asia/Tomsk` - Asia/Tomsk * `Asia/Ujung_Pandang` - Asia/Ujung_Pandang * `Asia/Ulaanbaatar` - Asia/Ulaanbaatar * `Asia/Ulan_Bator` - Asia/Ulan_Bator * `Asia/Urumqi` - Asia/Urumqi * `Asia/Ust-Nera` - Asia/Ust-Nera * `Asia/Vientiane` - Asia/Vientiane * `Asia/Vladivostok` - Asia/Vladivostok * `Asia/Yakutsk` - Asia/Yakutsk * `Asia/Yangon` - Asia/Yangon * `Asia/Yekaterinburg` - Asia/Yekaterinburg * `Asia/Yerevan` - Asia/Yerevan * `Atlantic/Azores` - Atlantic/Azores * `Atlantic/Bermuda` - Atlantic/Bermuda * `Atlantic/Canary` - Atlantic/Canary * `Atlantic/Cape_Verde` - Atlantic/Cape_Verde * `Atlantic/Faeroe` - Atlantic/Faeroe * `Atlantic/Faroe` - Atlantic/Faroe * `Atlantic/Jan_Mayen` - Atlantic/Jan_Mayen * `Atlantic/Madeira` - Atlantic/Madeira * `Atlantic/Reykjavik` - Atlantic/Reykjavik * `Atlantic/South_Georgia` - Atlantic/South_Georgia * `Atlantic/St_Helena` - Atlantic/St_Helena * `Atlantic/Stanley` - Atlantic/Stanley * `Australia/ACT` - Australia/ACT * `Australia/Adelaide` - Australia/Adelaide * `Australia/Brisbane` - Australia/Brisbane * `Australia/Broken_Hill` - Australia/Broken_Hill * `Australia/Canberra` - Australia/Canberra * `Australia/Currie` - Australia/Currie * `Australia/Darwin` - Australia/Darwin * `Australia/Eucla` - Australia/Eucla * `Australia/Hobart` - Australia/Hobart * `Australia/LHI` - Australia/LHI * `Australia/Lindeman` - Australia/Lindeman * `Australia/Lord_Howe` - Australia/Lord_Howe * `Australia/Melbourne` - Australia/Melbourne * `Australia/NSW` - Australia/NSW * `Australia/North` - Australia/North * `Australia/Perth` - Australia/Perth * `Australia/Queensland` - Australia/Queensland * `Australia/South` - Australia/South * `Australia/Sydney` - Australia/Sydney * `Australia/Tasmania` - Australia/Tasmania * `Australia/Victoria` - Australia/Victoria * `Australia/West` - Australia/West * `Australia/Yancowinna` - Australia/Yancowinna * `Brazil/Acre` - Brazil/Acre * `Brazil/DeNoronha` - Brazil/DeNoronha * `Brazil/East` - Brazil/East * `Brazil/West` - Brazil/West * `CET` - CET * `CST6CDT` - CST6CDT * `Canada/Atlantic` - Canada/Atlantic * `Canada/Central` - Canada/Central * `Canada/Eastern` - Canada/Eastern * `Canada/Mountain` - Canada/Mountain * `Canada/Newfoundland` - Canada/Newfoundland * `Canada/Pacific` - Canada/Pacific * `Canada/Saskatchewan` - Canada/Saskatchewan * `Canada/Yukon` - Canada/Yukon * `Chile/Continental` - Chile/Continental * `Chile/EasterIsland` - Chile/EasterIsland * `Cuba` - Cuba * `EET` - EET * `EST` - EST * `EST5EDT` - EST5EDT * `Egypt` - Egypt * `Eire` - Eire * `Etc/GMT` - Etc/GMT * `Etc/GMT+0` - Etc/GMT+0 * `Etc/GMT+1` - Etc/GMT+1 * `Etc/GMT+10` - Etc/GMT+10 * `Etc/GMT+11` - Etc/GMT+11 * `Etc/GMT+12` - Etc/GMT+12 * `Etc/GMT+2` - Etc/GMT+2 * `Etc/GMT+3` - Etc/GMT+3 * `Etc/GMT+4` - Etc/GMT+4 * `Etc/GMT+5` - Etc/GMT+5 * `Etc/GMT+6` - Etc/GMT+6 * `Etc/GMT+7` - Etc/GMT+7 * `Etc/GMT+8` - Etc/GMT+8 * `Etc/GMT+9` - Etc/GMT+9 * `Etc/GMT-0` - Etc/GMT-0 * `Etc/GMT-1` - Etc/GMT-1 * `Etc/GMT-10` - Etc/GMT-10 * `Etc/GMT-11` - Etc/GMT-11 * `Etc/GMT-12` - Etc/GMT-12 * `Etc/GMT-13` - Etc/GMT-13 * `Etc/GMT-14` - Etc/GMT-14 * `Etc/GMT-2` - Etc/GMT-2 * `Etc/GMT-3` - Etc/GMT-3 * `Etc/GMT-4` - Etc/GMT-4 * `Etc/GMT-5` - Etc/GMT-5 * `Etc/GMT-6` - Etc/GMT-6 * `Etc/GMT-7` - Etc/GMT-7 * `Etc/GMT-8` - Etc/GMT-8 * `Etc/GMT-9` - Etc/GMT-9 * `Etc/GMT0` - Etc/GMT0 * `Etc/Greenwich` - Etc/Greenwich * `Etc/UCT` - Etc/UCT * `Etc/UTC` - Etc/UTC * `Etc/Universal` - Etc/Universal * `Etc/Zulu` - Etc/Zulu * `Europe/Amsterdam` - Europe/Amsterdam * `Europe/Andorra` - Europe/Andorra * `Europe/Astrakhan` - Europe/Astrakhan * `Europe/Athens` - Europe/Athens * `Europe/Belfast` - Europe/Belfast * `Europe/Belgrade` - Europe/Belgrade * `Europe/Berlin` - Europe/Berlin * `Europe/Bratislava` - Europe/Bratislava * `Europe/Brussels` - Europe/Brussels * `Europe/Bucharest` - Europe/Bucharest * `Europe/Budapest` - Europe/Budapest * `Europe/Busingen` - Europe/Busingen * `Europe/Chisinau` - Europe/Chisinau * `Europe/Copenhagen` - Europe/Copenhagen * `Europe/Dublin` - Europe/Dublin * `Europe/Gibraltar` - Europe/Gibraltar * `Europe/Guernsey` - Europe/Guernsey * `Europe/Helsinki` - Europe/Helsinki * `Europe/Isle_of_Man` - Europe/Isle_of_Man * `Europe/Istanbul` - Europe/Istanbul * `Europe/Jersey` - Europe/Jersey * `Europe/Kaliningrad` - Europe/Kaliningrad * `Europe/Kiev` - Europe/Kiev * `Europe/Kirov` - Europe/Kirov * `Europe/Kyiv` - Europe/Kyiv * `Europe/Lisbon` - Europe/Lisbon * `Europe/Ljubljana` - Europe/Ljubljana * `Europe/London` - Europe/London * `Europe/Luxembourg` - Europe/Luxembourg * `Europe/Madrid` - Europe/Madrid * `Europe/Malta` - Europe/Malta * `Europe/Mariehamn` - Europe/Mariehamn * `Europe/Minsk` - Europe/Minsk * `Europe/Monaco` - Europe/Monaco * `Europe/Moscow` - Europe/Moscow * `Europe/Nicosia` - Europe/Nicosia * `Europe/Oslo` - Europe/Oslo * `Europe/Paris` - Europe/Paris * `Europe/Podgorica` - Europe/Podgorica * `Europe/Prague` - Europe/Prague * `Europe/Riga` - Europe/Riga * `Europe/Rome` - Europe/Rome * `Europe/Samara` - Europe/Samara * `Europe/San_Marino` - Europe/San_Marino * `Europe/Sarajevo` - Europe/Sarajevo * `Europe/Saratov` - Europe/Saratov * `Europe/Simferopol` - Europe/Simferopol * `Europe/Skopje` - Europe/Skopje * `Europe/Sofia` - Europe/Sofia * `Europe/Stockholm` - Europe/Stockholm * `Europe/Tallinn` - Europe/Tallinn * `Europe/Tirane` - Europe/Tirane * `Europe/Tiraspol` - Europe/Tiraspol * `Europe/Ulyanovsk` - Europe/Ulyanovsk * `Europe/Uzhgorod` - Europe/Uzhgorod * `Europe/Vaduz` - Europe/Vaduz * `Europe/Vatican` - Europe/Vatican * `Europe/Vienna` - Europe/Vienna * `Europe/Vilnius` - Europe/Vilnius * `Europe/Volgograd` - Europe/Volgograd * `Europe/Warsaw` - Europe/Warsaw * `Europe/Zagreb` - Europe/Zagreb * `Europe/Zaporozhye` - Europe/Zaporozhye * `Europe/Zurich` - Europe/Zurich * `GB` - GB * `GB-Eire` - GB-Eire * `GMT` - GMT * `GMT+0` - GMT+0 * `GMT-0` - GMT-0 * `GMT0` - GMT0 * `Greenwich` - Greenwich * `HST` - HST * `Hongkong` - Hongkong * `Iceland` - Iceland * `Indian/Antananarivo` - Indian/Antananarivo * `Indian/Chagos` - Indian/Chagos * `Indian/Christmas` - Indian/Christmas * `Indian/Cocos` - Indian/Cocos * `Indian/Comoro` - Indian/Comoro * `Indian/Kerguelen` - Indian/Kerguelen * `Indian/Mahe` - Indian/Mahe * `Indian/Maldives` - Indian/Maldives * `Indian/Mauritius` - Indian/Mauritius * `Indian/Mayotte` - Indian/Mayotte * `Indian/Reunion` - Indian/Reunion * `Iran` - Iran * `Israel` - Israel * `Jamaica` - Jamaica * `Japan` - Japan * `Kwajalein` - Kwajalein * `Libya` - Libya * `MET` - MET * `MST` - MST * `MST7MDT` - MST7MDT * `Mexico/BajaNorte` - Mexico/BajaNorte * `Mexico/BajaSur` - Mexico/BajaSur * `Mexico/General` - Mexico/General * `NZ` - NZ * `NZ-CHAT` - NZ-CHAT * `Navajo` - Navajo * `PRC` - PRC * `PST8PDT` - PST8PDT * `Pacific/Apia` - Pacific/Apia * `Pacific/Auckland` - Pacific/Auckland * `Pacific/Bougainville` - Pacific/Bougainville * `Pacific/Chatham` - Pacific/Chatham * `Pacific/Chuuk` - Pacific/Chuuk * `Pacific/Easter` - Pacific/Easter * `Pacific/Efate` - Pacific/Efate * `Pacific/Enderbury` - Pacific/Enderbury * `Pacific/Fakaofo` - Pacific/Fakaofo * `Pacific/Fiji` - Pacific/Fiji * `Pacific/Funafuti` - Pacific/Funafuti * `Pacific/Galapagos` - Pacific/Galapagos * `Pacific/Gambier` - Pacific/Gambier * `Pacific/Guadalcanal` - Pacific/Guadalcanal * `Pacific/Guam` - Pacific/Guam * `Pacific/Honolulu` - Pacific/Honolulu * `Pacific/Johnston` - Pacific/Johnston * `Pacific/Kanton` - Pacific/Kanton * `Pacific/Kiritimati` - Pacific/Kiritimati * `Pacific/Kosrae` - Pacific/Kosrae * `Pacific/Kwajalein` - Pacific/Kwajalein * `Pacific/Majuro` - Pacific/Majuro * `Pacific/Marquesas` - Pacific/Marquesas * `Pacific/Midway` - Pacific/Midway * `Pacific/Nauru` - Pacific/Nauru * `Pacific/Niue` - Pacific/Niue * `Pacific/Norfolk` - Pacific/Norfolk * `Pacific/Noumea` - Pacific/Noumea * `Pacific/Pago_Pago` - Pacific/Pago_Pago * `Pacific/Palau` - Pacific/Palau * `Pacific/Pitcairn` - Pacific/Pitcairn * `Pacific/Pohnpei` - Pacific/Pohnpei * `Pacific/Ponape` - Pacific/Ponape * `Pacific/Port_Moresby` - Pacific/Port_Moresby * `Pacific/Rarotonga` - Pacific/Rarotonga * `Pacific/Saipan` - Pacific/Saipan * `Pacific/Samoa` - Pacific/Samoa * `Pacific/Tahiti` - Pacific/Tahiti * `Pacific/Tarawa` - Pacific/Tarawa * `Pacific/Tongatapu` - Pacific/Tongatapu * `Pacific/Truk` - Pacific/Truk * `Pacific/Wake` - Pacific/Wake * `Pacific/Wallis` - Pacific/Wallis * `Pacific/Yap` - Pacific/Yap * `Poland` - Poland * `Portugal` - Portugal * `ROC` - ROC * `ROK` - ROK * `Singapore` - Singapore * `Turkey` - Turkey * `UCT` - UCT * `US/Alaska` - US/Alaska * `US/Aleutian` - US/Aleutian * `US/Arizona` - US/Arizona * `US/Central` - US/Central * `US/East-Indiana` - US/East-Indiana * `US/Eastern` - US/Eastern * `US/Hawaii` - US/Hawaii * `US/Indiana-Starke` - US/Indiana-Starke * `US/Michigan` - US/Michigan * `US/Mountain` - US/Mountain * `US/Pacific` - US/Pacific * `US/Samoa` - US/Samoa * `UTC` - UTC * `Universal` - Universal * `W-SU` - W-SU * `WET` - WET * `Zulu` - Zulu' data_attributes: description: Element attributes that posthog-js should capture as action identifiers (e.g. `['data-attr']`). person_display_name_properties: type: array items: type: string maxLength: 400 nullable: true description: Ordered list of person properties used to render a human-friendly display name in the UI. correlation_config: nullable: true autocapture_opt_out: type: boolean nullable: true description: Disables posthog-js autocapture (clicks, page views) when true. autocapture_exceptions_opt_in: type: boolean nullable: true description: Enables automatic capture of JavaScript exceptions via the SDK. autocapture_web_vitals_opt_in: type: boolean nullable: true description: Enables automatic capture of Core Web Vitals performance metrics. autocapture_web_vitals_allowed_metrics: nullable: true autocapture_exceptions_errors_to_ignore: nullable: true capture_console_log_opt_in: type: boolean nullable: true description: Enables capturing browser console logs alongside session replays. capture_performance_opt_in: type: boolean nullable: true description: Enables capturing performance timing and network requests. session_recording_opt_in: type: boolean description: Enables session replay recording for this project. session_recording_sample_rate: type: string format: decimal pattern: ^-?\d{0,1}(?:\.\d{0,2})?$ nullable: true description: Fraction of sessions to record, as a decimal string between `0.00` and `1.00` (e.g. `0.1` = 10%). session_recording_minimum_duration_milliseconds: type: integer maximum: 30000 minimum: 0 nullable: true description: Skip saving sessions shorter than this many milliseconds. session_recording_linked_flag: nullable: true session_recording_network_payload_capture_config: nullable: true session_recording_masking_config: nullable: true session_recording_url_trigger_config: type: array items: nullable: true nullable: true session_recording_url_blocklist_config: type: array items: nullable: true nullable: true session_recording_event_trigger_config: type: array items: type: string nullable: true nullable: true session_recording_trigger_match_type_config: type: string nullable: true maxLength: 24 session_recording_trigger_groups: nullable: true description: V2 trigger groups configuration for session recording. If present, takes precedence over legacy trigger fields. session_recording_retention_period: allOf: - $ref: '#/components/schemas/SessionRecordingRetentionPeriodEnum' description: 'How long to retain new session recordings. One of `30d`, `90d`, `1y`, or `5y` (availability depends on plan). * `30d` - 30 Days * `90d` - 90 Days * `1y` - 1 Year * `5y` - 5 Years' session_replay_config: nullable: true survey_config: nullable: true access_control: type: boolean week_start_day: nullable: true description: 'First day of the week for date range filters. 0 = Sunday, 1 = Monday. * `0` - Sunday * `1` - Monday' oneOf: - $ref: '#/components/schemas/WeekStartDayEnum' - $ref: '#/components/schemas/NullEnum' primary_dashboard: type: integer nullable: true description: ID of the dashboard shown as the project's default landing dashboard. live_events_columns: type: array items: type: string nullable: true recording_domains: type: array items: type: string nullable: true maxLength: 200 nullable: true description: Origins permitted to record session replays and heatmaps. Empty list allows all origins. person_on_events_querying_enabled: type: boolean readOnly: true inject_web_apps: type: boolean nullable: true extra_settings: nullable: true modifiers: nullable: true default_modifiers: type: object additionalProperties: true readOnly: true has_completed_onboarding_for: nullable: true surveys_opt_in: type: boolean nullable: true description: Enables displaying surveys via posthog-js on allowed origins. heatmaps_opt_in: type: boolean nullable: true description: Enables heatmap recording on pages that host posthog-js. product_intents: type: array items: type: object properties: product_type: type: string created_at: type: string format: date-time onboarding_completed_at: type: string format: date-time nullable: true updated_at: type: string format: date-time readOnly: true flags_persistence_default: type: boolean nullable: true description: Default value for the `persist` option on newly created feature flags. secret_api_token: type: string readOnly: true nullable: true secret_api_token_backup: type: string readOnly: true nullable: true receive_org_level_activity_logs: type: boolean nullable: true business_model: nullable: true description: 'Whether this project serves B2B or B2C customers. Used to optimize default UI layouts. * `b2b` - B2B * `b2c` - B2C * `other` - Other' oneOf: - $ref: '#/components/schemas/BusinessModelEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' conversations_enabled: type: boolean nullable: true description: Enables the customer conversations / live chat product for this project. conversations_settings: nullable: true logs_settings: nullable: true proactive_tasks_enabled: type: boolean nullable: true available_setup_task_ids: type: array items: $ref: '#/components/schemas/AvailableSetupTaskIdsEnum' readOnly: true PatchedProjectSecretAPIKey: type: object properties: id: type: string readOnly: true label: type: string maxLength: 40 value: type: string readOnly: true mask_value: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true nullable: true last_used_at: type: string format: date-time readOnly: true nullable: true last_rolled_at: type: string format: date-time readOnly: true nullable: true scopes: type: array items: type: string PatchedRemovePersonRequest: type: object properties: person_id: type: string format: uuid description: Person UUID to remove from the cohort PatchedReviewQueueItemUpdate: type: object properties: queue_id: type: string format: uuid description: Review queue ID that should own this pending trace. PatchedReviewQueueUpdate: type: object properties: name: type: string description: Human-readable queue name. maxLength: 255 PatchedRole: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 200 created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true members: type: array items: type: object additionalProperties: true description: Members assigned to this role readOnly: true is_default: type: boolean readOnly: true PatchedSandboxEnvironment: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 network_access_level: $ref: '#/components/schemas/NetworkAccessLevelEnum' allowed_domains: type: array items: type: string maxLength: 255 description: List of allowed domains for custom network access include_default_domains: type: boolean description: Whether to include default trusted domains (GitHub, npm, PyPI) repositories: type: array items: type: string maxLength: 255 description: 'List of repositories this environment applies to (format: org/repo)' environment_variables: writeOnly: true description: Encrypted environment variables (write-only, never returned in responses) has_environment_variables: type: boolean readOnly: true description: Whether this environment has any environment variables set private: type: boolean description: If true, only the creator can see this environment. Otherwise visible to whole team. internal: type: boolean readOnly: true description: If true, this environment is for internal use (e.g. signals pipeline) and should not be exposed to end users. effective_domains: type: array items: type: string readOnly: true description: Computed domain allowlist based on network_access_level and allowed_domains created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedSchemaPropertyGroup: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string properties: type: array items: $ref: '#/components/schemas/SchemaPropertyGroupProperty' events: type: array items: $ref: '#/components/schemas/EventDefinitionBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true PatchedScoreDefinitionMetadata: type: object properties: name: type: string description: Updated scorer name. maxLength: 255 description: type: string nullable: true description: Updated scorer description. archived: type: boolean description: Whether the scorer is archived. PatchedSessionGroupSummary: type: object properties: id: type: string format: uuid readOnly: true title: type: string readOnly: true description: Title of the group session summary session_ids: type: array items: type: string maxLength: 200 readOnly: true description: List of session replay IDs included in this group summary summary: readOnly: true description: Group summary in JSON format (EnrichedSessionGroupSummaryPatternsList schema) extra_summary_context: readOnly: true nullable: true description: Additional context passed to the summary (ExtraSummaryContext schema) run_metadata: readOnly: true nullable: true description: Summary run metadata (SessionSummaryRunMeta schema) created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true team: type: integer readOnly: true PatchedSessionRecording: type: object properties: id: type: string readOnly: true distinct_id: type: string readOnly: true nullable: true viewed: type: boolean readOnly: true viewers: type: array items: type: string readOnly: true recording_duration: type: integer readOnly: true active_seconds: type: integer readOnly: true nullable: true inactive_seconds: type: integer readOnly: true nullable: true start_time: type: string format: date-time readOnly: true nullable: true end_time: type: string format: date-time readOnly: true nullable: true click_count: type: integer readOnly: true nullable: true keypress_count: type: integer readOnly: true nullable: true mouse_activity_count: type: integer readOnly: true nullable: true console_log_count: type: integer readOnly: true nullable: true console_warn_count: type: integer readOnly: true nullable: true console_error_count: type: integer readOnly: true nullable: true start_url: type: string readOnly: true nullable: true person: $ref: '#/components/schemas/MinimalPerson' retention_period_days: type: integer readOnly: true nullable: true expiry_time: type: string format: date-time readOnly: true nullable: true recording_ttl: type: integer readOnly: true nullable: true snapshot_source: type: string nullable: true readOnly: true snapshot_library: type: string nullable: true readOnly: true ongoing: type: boolean readOnly: true activity_score: type: number format: double nullable: true readOnly: true has_summary: type: boolean readOnly: true summary_outcome: allOf: - $ref: '#/components/schemas/Outcome' nullable: true readOnly: true external_references: type: array items: type: object additionalProperties: true description: Load external references (linked issues) for this recording readOnly: true PatchedSessionRecordingPlaylist: type: object properties: id: type: integer readOnly: true short_id: type: string readOnly: true name: type: string nullable: true description: Human-readable name for the playlist. maxLength: 400 derived_name: type: string nullable: true maxLength: 400 description: type: string description: Optional description of the playlist's purpose or contents. pinned: type: boolean description: Whether this playlist is pinned to the top of the list. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean description: Set to true to soft-delete the playlist. filters: description: JSON object with recording filter criteria. Only used when type is 'filters'. Defines which recordings match this saved filter view. When updating a filters-type playlist, you must include the existing filters alongside any other changes — omitting filters will be treated as removing them. last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true recordings_counts: type: object additionalProperties: type: object additionalProperties: oneOf: - type: integer - type: boolean nullable: true readOnly: true type: nullable: true description: 'Playlist type: ''collection'' for manually curated recordings, ''filters'' for saved filter views. Required on create, cannot be changed after. * `collection` - Collection * `filters` - Filters' oneOf: - $ref: '#/components/schemas/SessionRecordingPlaylistTypeEnum' - $ref: '#/components/schemas/NullEnum' is_synthetic: type: boolean description: Return whether this is a synthetic playlist readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' PatchedSessionSummariesConfig: type: object properties: product_context: type: string description: Free-form description of the team's product, used to tailor AI-generated single-session replay summaries. Injected into the system prompt of every summary generated for this team via the replay page. maxLength: 10000 PatchedSignalSourceConfig: type: object properties: id: type: string format: uuid readOnly: true source_product: $ref: '#/components/schemas/SourceProductEnum' source_type: $ref: '#/components/schemas/SignalSourceConfigSourceTypeEnum' enabled: type: boolean config: {} created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true status: type: string nullable: true readOnly: true PatchedSubscription: type: object description: Standard Subscription serializer. properties: id: type: integer readOnly: true dashboard: type: integer nullable: true description: Dashboard ID to subscribe to (mutually exclusive with insight on create). insight: type: integer nullable: true description: Insight ID to subscribe to (mutually exclusive with dashboard on create). insight_short_id: type: string nullable: true readOnly: true resource_name: type: string nullable: true readOnly: true dashboard_export_insights: type: array items: type: integer description: List of insight IDs from the dashboard to include. Required for dashboard subscriptions, max 6. target_type: allOf: - $ref: '#/components/schemas/TargetTypeEnum' description: 'Delivery channel: email, slack, or webhook. * `email` - Email * `slack` - Slack * `webhook` - Webhook' target_value: type: string description: 'Recipient(s): comma-separated email addresses for email, Slack channel name/ID for slack, or full URL for webhook.' frequency: allOf: - $ref: '#/components/schemas/SubscriptionFrequencyEnum' description: 'How often to deliver: daily, weekly, monthly, or yearly. * `daily` - Daily * `weekly` - Weekly * `monthly` - Monthly * `yearly` - Yearly' interval: type: integer maximum: 2147483647 minimum: -2147483648 description: Interval multiplier (e.g. 2 with weekly frequency means every 2 weeks). Default 1. byweekday: type: array items: $ref: '#/components/schemas/ByweekdayEnum' nullable: true description: 'Days of week for weekly subscriptions: monday, tuesday, wednesday, thursday, friday, saturday, sunday.' bysetpos: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: Position within byweekday set for monthly frequency (e.g. 1 for first, -1 for last). count: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: Total number of deliveries before the subscription stops. Null for unlimited. start_date: type: string format: date-time description: When to start delivering (ISO 8601 datetime). until_date: type: string format: date-time nullable: true description: When to stop delivering (ISO 8601 datetime). Null for indefinite. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean description: Set to true to soft-delete. Subscriptions cannot be hard-deleted. title: type: string nullable: true description: Human-readable name for this subscription. maxLength: 100 summary: type: string readOnly: true description: Human-readable schedule summary, e.g. 'sent daily'. next_delivery_date: type: string format: date-time readOnly: true nullable: true integration_id: type: integer nullable: true description: ID of a connected Slack integration. Required when target_type is slack. invite_message: type: string nullable: true description: Optional message included in the invitation email when adding new recipients. summary_enabled: type: boolean summary_prompt_guide: type: string maxLength: 500 PatchedSurveySerializerCreateUpdateOnlySchema: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Survey name. maxLength: 400 minLength: 1 description: type: string description: Survey description. type: allOf: - $ref: '#/components/schemas/SurveyType' description: 'Survey type. * `popover` - popover * `widget` - widget * `external_survey` - external survey * `api` - api' schedule: nullable: true description: 'Survey scheduling behavior: ''once'' = show once per user (default), ''recurring'' = repeat based on iteration_count and iteration_frequency_days settings, ''always'' = show every time conditions are met (mainly for widget surveys) * `once` - once * `recurring` - recurring * `always` - always' oneOf: - $ref: '#/components/schemas/ScheduleEnum' - $ref: '#/components/schemas/NullEnum' linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag_id: type: integer writeOnly: true nullable: true description: The feature flag linked to this survey. linked_insight_id: type: integer writeOnly: true nullable: true targeting_flag_id: type: integer writeOnly: true description: An existing targeting flag to use for this survey. targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true targeting_flag_filters: allOf: - $ref: '#/components/schemas/FeatureFlagFiltersSchema' writeOnly: true nullable: true description: 'Target specific users based on their properties. Example: {groups: [{properties: [{key: ''email'', value: [''@company.com''], operator: ''icontains''}], rollout_percentage: 100}]}' remove_targeting_flag: type: boolean writeOnly: true nullable: true description: Set to true to completely remove all targeting filters from the survey, making it visible to all users (subject to other display conditions like URL matching). questions: type: array items: $ref: '#/components/schemas/SurveyQuestionInputSchema' nullable: true description: "\n The `array` of questions included in the survey.\ \ Each question must conform to one of the defined question types: Basic,\ \ Link, Rating, or Multiple Choice.\n\n Basic (open-ended question)\n\ \ - `id`: The question ID\n - `type`: `open`\n -\ \ `question`: The text of the question.\n - `description`: Optional\ \ description of the question.\n - `descriptionContentType`: Content\ \ type of the description (`html` or `text`).\n - `optional`: Whether\ \ the question is optional (`boolean`).\n - `buttonText`: Text\ \ displayed on the submit button.\n - `branching`: Branching logic\ \ for the question. See branching types below for details.\n\n \ \ Link (a question with a link)\n - `id`: The question ID\n \ \ - `type`: `link`\n - `question`: The text of the question.\n\ \ - `description`: Optional description of the question.\n \ \ - `descriptionContentType`: Content type of the description (`html`\ \ or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `link`: The URL associated with the question.\n - `branching`:\ \ Branching logic for the question. See branching types below for details.\n\ \n Rating (a question with a rating scale)\n - `id`: The\ \ question ID\n - `type`: `rating`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `display`: Display style of the rating (`number` or `emoji`).\n\ \ - `scale`: The scale of the rating (`number`).\n - `lowerBoundLabel`:\ \ Label for the lower bound of the scale.\n - `upperBoundLabel`:\ \ Label for the upper bound of the scale.\n - `isNpsQuestion`:\ \ Whether the question is an NPS rating.\n - `branching`: Branching\ \ logic for the question. See branching types below for details.\n\n \ \ Multiple choice\n - `id`: The question ID\n - `type`:\ \ `single_choice` or `multiple_choice`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `choices`: An array of choices for the question.\n -\ \ `shuffleOptions`: Whether to shuffle the order of the choices (`boolean`).\n\ \ - `hasOpenChoice`: Whether the question allows an open-ended\ \ response (`boolean`).\n - `branching`: Branching logic for the\ \ question. See branching types below for details.\n\n Branching\ \ logic can be one of the following types:\n\n Next question: Proceeds\ \ to the next question\n ```json\n {\n \"type\"\ : \"next_question\"\n }\n ```\n\n End: Ends the survey,\ \ optionally displaying a confirmation message.\n ```json\n \ \ {\n \"type\": \"end\"\n }\n ```\n\n \ \ Response-based: Branches based on the response values. Available\ \ for the `rating` and `single_choice` question types.\n ```json\n\ \ {\n \"type\": \"response_based\",\n \"\ responseValues\": {\n \"responseKey\": \"value\"\n \ \ }\n }\n ```\n\n Specific question: Proceeds\ \ to a specific question by index.\n ```json\n {\n \ \ \"type\": \"specific_question\",\n \"index\": 2\n \ \ }\n ```\n\n Translations: Each question can include\ \ inline translations.\n - `translations`: Object mapping language\ \ codes to translated fields.\n - Language codes: Any string -\ \ allows customers to use their own language keys (e.g., \"es\", \"es-MX\"\ , \"english\", \"french\")\n - Translatable fields: `question`,\ \ `description`, `buttonText`, `choices`, `lowerBoundLabel`, `upperBoundLabel`,\ \ `link`\n\n Example with translations:\n ```json\n \ \ {\n \"id\": \"uuid\",\n \"type\": \"rating\"\ ,\n \"question\": \"How satisfied are you?\",\n \ \ \"lowerBoundLabel\": \"Not satisfied\",\n \"upperBoundLabel\"\ : \"Very satisfied\",\n \"translations\": {\n \ \ \"es\": {\n \"question\": \"¿Qué tan satisfecho\ \ estás?\",\n \"lowerBoundLabel\": \"No satisfecho\"\ ,\n \"upperBoundLabel\": \"Muy satisfecho\"\n \ \ },\n \"fr\": {\n \"question\"\ : \"Dans quelle mesure êtes-vous satisfait?\"\n }\n \ \ }\n }\n ```\n " conditions: allOf: - $ref: '#/components/schemas/SurveyConditionsSchema' nullable: true description: Display and targeting conditions for the survey. appearance: allOf: - $ref: '#/components/schemas/SurveyAppearanceSchema' nullable: true description: Survey appearance customization. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true start_date: type: string format: date-time nullable: true description: Setting this will launch the survey immediately. Don't add a start_date unless explicitly requested to do so. end_date: type: string format: date-time nullable: true description: When the survey stopped being shown to users. Setting this will complete the survey. archived: type: boolean description: Archive state for the survey. responses_limit: type: integer nullable: true description: The maximum number of responses before automatically stopping the survey. iteration_count: type: integer maximum: 500 minimum: 1 nullable: true description: For a recurring schedule, this field specifies the number of times the survey should be shown to the user. Use 1 for 'once every X days', higher numbers for multiple repetitions. Works together with iteration_frequency_days to determine the overall survey schedule. iteration_frequency_days: type: integer maximum: 365 minimum: 1 nullable: true description: For a recurring schedule, this field specifies the interval in days between each survey instance shown to the user, used alongside iteration_count for precise scheduling. iteration_start_dates: type: array items: type: string format: date-time nullable: true nullable: true current_iteration: type: integer maximum: 2147483647 minimum: 0 nullable: true current_iteration_start_date: type: string format: date-time nullable: true response_sampling_start_date: type: string format: date-time nullable: true response_sampling_interval_type: nullable: true oneOf: - $ref: '#/components/schemas/ResponseSamplingIntervalTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' response_sampling_interval: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_limit: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_daily_limits: nullable: true enable_partial_responses: type: boolean nullable: true description: When at least one question is answered, the response is stored (true). The response is stored when all questions are answered (false). enable_iframe_embedding: type: boolean nullable: true translations: nullable: true _create_in_folder: type: string writeOnly: true title: ' create in folder' form_content: nullable: true PatchedTable: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true deleted: type: boolean nullable: true name: type: string maxLength: 128 format: $ref: '#/components/schemas/TableFormatEnum' created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true url_pattern: type: string maxLength: 500 credential: $ref: '#/components/schemas/Credential' columns: type: array items: type: object additionalProperties: true readOnly: true external_data_source: allOf: - $ref: '#/components/schemas/SimpleExternalDataSourceSerializers' readOnly: true external_schema: type: object additionalProperties: true nullable: true readOnly: true options: type: object additionalProperties: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object PatchedTagger: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string enabled: type: boolean tagger_type: allOf: - $ref: '#/components/schemas/TaggerTypeEnum' default: llm tagger_config: description: Tagger configuration (varies by tagger_type) conditions: type: array items: $ref: '#/components/schemas/TaggerCondition' description: Conditions that scope when the tagger runs model_configuration: allOf: - $ref: '#/components/schemas/TaggerModelConfiguration' nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean PatchedTask: type: object properties: id: type: string format: uuid readOnly: true task_number: type: integer readOnly: true nullable: true slug: type: string readOnly: true title: type: string maxLength: 255 title_manually_set: type: boolean description: type: string origin_product: $ref: '#/components/schemas/OriginProductEnum' repository: type: string nullable: true maxLength: 255 github_integration: type: integer nullable: true description: GitHub integration for this task github_user_integration: type: string format: uuid nullable: true description: User-scoped GitHub integration to use for user-authored cloud runs. signal_report: type: string format: uuid nullable: true signal_report_task_relationship: allOf: - $ref: '#/components/schemas/SignalReportTaskRelationshipEnum' writeOnly: true json_schema: nullable: true description: JSON schema for the task. This is used to validate the output of the task. internal: type: boolean description: If true, this task is for internal use and should not be exposed to end users. latest_run: type: object additionalProperties: true nullable: true description: Latest run details for this task readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true ci_prompt: type: string nullable: true description: Custom prompt for CI fixes. If blank, a default prompt will be used. PatchedTaskAutomation: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 prompt: type: string repository: type: string maxLength: 255 github_integration: type: integer nullable: true cron_expression: type: string maxLength: 100 timezone: type: string maxLength: 128 template_id: type: string nullable: true maxLength: 255 enabled: type: boolean last_run_at: type: string format: date-time nullable: true readOnly: true last_run_status: type: string nullable: true readOnly: true last_task_id: type: string nullable: true readOnly: true last_task_run_id: type: string nullable: true readOnly: true last_error: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true PatchedTaskRunSetOutputRequest: type: object properties: output: description: Output data from the run. Validated against the task's json_schema if one is set. PatchedTaskRunUpdate: type: object properties: status: allOf: - $ref: '#/components/schemas/TaskRunUpdateStatusEnum' description: 'Current execution status * `not_started` - not_started * `queued` - queued * `in_progress` - in_progress * `completed` - completed * `failed` - failed * `cancelled` - cancelled' branch: type: string nullable: true description: Git branch name to associate with the task stage: type: string nullable: true description: Current stage of the run (e.g. research, plan, build) output: nullable: true description: Output from the run state: description: State of the run state_remove_keys: type: array items: type: string description: State keys to remove atomically before applying any state updates. error_message: type: string nullable: true description: Error message if execution failed environment: allOf: - $ref: '#/components/schemas/TaskRunUpdateEnvironmentEnum' description: 'Transition a cloud run to local. Use the resume_in_cloud action to move a run into cloud. * `local` - local' PatchedTeam: type: object properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true name: type: string maxLength: 200 minLength: 1 access_control: type: boolean organization: type: string format: uuid readOnly: true project_id: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 readOnly: true api_token: type: string readOnly: true secret_api_token: type: string readOnly: true nullable: true secret_api_token_backup: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true ingested_event: type: boolean readOnly: true default_modifiers: type: object additionalProperties: true readOnly: true person_on_events_querying_enabled: type: boolean readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object app_urls: type: array items: type: string nullable: true maxLength: 200 anonymize_ips: type: boolean completed_snippet_onboarding: type: boolean test_account_filters: {} test_account_filters_default_checked: type: boolean nullable: true path_cleaning_filters: nullable: true is_demo: type: boolean timezone: $ref: '#/components/schemas/TimezoneEnum' data_attributes: {} person_display_name_properties: type: array items: type: string maxLength: 400 nullable: true correlation_config: nullable: true autocapture_opt_out: type: boolean nullable: true autocapture_exceptions_opt_in: type: boolean nullable: true autocapture_web_vitals_opt_in: type: boolean nullable: true autocapture_web_vitals_allowed_metrics: nullable: true autocapture_exceptions_errors_to_ignore: nullable: true capture_console_log_opt_in: type: boolean nullable: true logs_settings: nullable: true capture_performance_opt_in: type: boolean nullable: true session_recording_opt_in: type: boolean session_recording_sample_rate: type: string format: decimal pattern: ^-?\d{0,1}(?:\.\d{0,2})?$ nullable: true session_recording_minimum_duration_milliseconds: type: integer maximum: 30000 minimum: 0 nullable: true session_recording_linked_flag: nullable: true session_recording_network_payload_capture_config: nullable: true session_recording_masking_config: nullable: true session_recording_url_trigger_config: type: array items: nullable: true nullable: true session_recording_url_blocklist_config: type: array items: nullable: true nullable: true session_recording_event_trigger_config: type: array items: type: string nullable: true nullable: true session_recording_trigger_match_type_config: type: string nullable: true maxLength: 24 session_recording_trigger_groups: nullable: true description: V2 trigger groups configuration for session recording. If present, takes precedence over legacy trigger fields. session_recording_retention_period: $ref: '#/components/schemas/SessionRecordingRetentionPeriodEnum' session_replay_config: nullable: true survey_config: nullable: true week_start_day: nullable: true oneOf: - $ref: '#/components/schemas/WeekStartDayEnum' - $ref: '#/components/schemas/NullEnum' primary_dashboard: type: integer nullable: true live_events_columns: type: array items: type: string nullable: true recording_domains: type: array items: type: string nullable: true maxLength: 200 nullable: true cookieless_server_hash_mode: nullable: true oneOf: - $ref: '#/components/schemas/CookielessServerHashModeEnum' - $ref: '#/components/schemas/NullEnum' human_friendly_comparison_periods: type: boolean nullable: true inject_web_apps: type: boolean nullable: true extra_settings: nullable: true modifiers: nullable: true has_completed_onboarding_for: nullable: true surveys_opt_in: type: boolean nullable: true heatmaps_opt_in: type: boolean nullable: true flags_persistence_default: type: boolean nullable: true feature_flag_confirmation_enabled: type: boolean nullable: true feature_flag_confirmation_message: type: string nullable: true default_evaluation_contexts_enabled: type: boolean nullable: true description: Whether to automatically apply default evaluation contexts to new feature flags require_evaluation_contexts: type: boolean nullable: true description: Whether to require at least one evaluation context tag when creating new feature flags capture_dead_clicks: type: boolean nullable: true default_data_theme: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true revenue_analytics_config: $ref: '#/components/schemas/TeamRevenueAnalyticsConfig' marketing_analytics_config: $ref: '#/components/schemas/TeamMarketingAnalyticsConfig' customer_analytics_config: $ref: '#/components/schemas/TeamCustomerAnalyticsConfig' onboarding_tasks: nullable: true base_currency: allOf: - $ref: '#/components/schemas/BaseCurrencyEnum' default: USD web_analytics_pre_aggregated_tables_enabled: type: boolean nullable: true receive_org_level_activity_logs: type: boolean nullable: true business_model: nullable: true description: 'Whether this project serves B2B or B2C customers, used to optimize the UI layout. * `b2b` - B2B * `b2c` - B2C * `other` - Other' oneOf: - $ref: '#/components/schemas/BusinessModelEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' conversations_enabled: type: boolean nullable: true conversations_settings: nullable: true proactive_tasks_enabled: type: boolean nullable: true effective_membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true has_group_types: type: boolean readOnly: true group_types: type: array items: type: object additionalProperties: true readOnly: true live_events_token: type: string nullable: true readOnly: true product_intents: type: array items: type: object additionalProperties: true readOnly: true managed_viewsets: type: object additionalProperties: type: boolean readOnly: true available_setup_task_ids: type: array items: $ref: '#/components/schemas/AvailableSetupTaskIdsEnum' readOnly: true PatchedTicket: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true ticket_number: type: integer readOnly: true channel_source: allOf: - $ref: '#/components/schemas/ChannelSourceEnum' readOnly: true channel_detail: readOnly: true nullable: true oneOf: - $ref: '#/components/schemas/ChannelDetailEnum' - $ref: '#/components/schemas/NullEnum' distinct_id: type: string readOnly: true status: allOf: - $ref: '#/components/schemas/TicketStatusEnum' description: 'Ticket status: new, open, pending, on_hold, or resolved * `new` - New * `open` - Open * `pending` - Pending * `on_hold` - On hold * `resolved` - Resolved' priority: nullable: true description: 'Ticket priority: low, medium, or high. Null if unset. * `low` - Low * `medium` - Medium * `high` - High' oneOf: - $ref: '#/components/schemas/PriorityEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' assignee: allOf: - $ref: '#/components/schemas/TicketAssignment' readOnly: true anonymous_traits: description: Customer-provided traits such as name and email ai_resolved: type: boolean escalation_reason: type: string nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true message_count: type: integer readOnly: true last_message_at: type: string format: date-time readOnly: true nullable: true last_message_text: type: string readOnly: true nullable: true unread_team_count: type: integer readOnly: true unread_customer_count: type: integer readOnly: true session_id: type: string readOnly: true nullable: true session_context: readOnly: true sla_due_at: type: string format: date-time nullable: true description: SLA deadline set via workflows. Null means no SLA. snoozed_until: type: string format: date-time nullable: true slack_channel_id: type: string readOnly: true nullable: true slack_thread_ts: type: string readOnly: true nullable: true slack_team_id: type: string readOnly: true nullable: true email_subject: type: string readOnly: true nullable: true email_from: type: string format: email readOnly: true nullable: true email_to: type: string nullable: true readOnly: true cc_participants: readOnly: true person: allOf: - $ref: '#/components/schemas/TicketPerson' readOnly: true nullable: true tags: type: array items: {} PatchedToolApprovalUpdate: type: object properties: approval_state: $ref: '#/components/schemas/ToolApprovalUpdateApprovalStateEnum' PatchedTraceReviewUpdate: type: object properties: trace_id: type: string description: Trace ID for the review. Only one active review can exist per trace and team. maxLength: 255 comment: type: string nullable: true description: Optional comment or reasoning for the review. scores: type: array items: $ref: '#/components/schemas/TraceReviewScoreWrite' description: Full desired score set for this review. Omit scorers you want to leave blank. queue_id: type: string format: uuid nullable: true description: Optional review queue ID for queue-context saves. When provided, the matching pending queue item is cleared after the review is saved. If omitted, any pending queue item for the same trace is cleared. PatchedUpdateRepoRequestInput: type: object properties: baseline_file_paths: type: object additionalProperties: type: string nullable: true enable_pr_comments: type: boolean nullable: true PatchedUser: type: object properties: date_joined: type: string format: date-time readOnly: true uuid: type: string format: uuid readOnly: true distinct_id: type: string readOnly: true nullable: true first_name: type: string maxLength: 150 last_name: type: string maxLength: 150 email: type: string format: email title: Email address maxLength: 254 pending_email: type: string format: email readOnly: true nullable: true title: Pending email address awaiting verification is_email_verified: type: boolean readOnly: true nullable: true notification_settings: type: object additionalProperties: true description: Map of notification preferences. Keys include `plugin_disabled`, `all_weekly_report_disabled`, `project_weekly_digest_disabled`, `error_tracking_weekly_digest_project_enabled`, `web_analytics_weekly_digest_project_enabled`, `organization_member_join_email_disabled`, `data_pipeline_error_threshold` (number between 0.0 and 1.0), and other per-topic switches. Values are either booleans, or (for per-project/per-resource keys) a map of IDs to booleans. Only the keys you send are updated — other preferences stay as-is. anonymize_data: type: boolean nullable: true description: Whether PostHog should anonymize events captured for this user when identified. allow_impersonation: type: boolean nullable: true toolbar_mode: nullable: true oneOf: - $ref: '#/components/schemas/ToolbarModeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' has_password: type: boolean readOnly: true id: type: integer readOnly: true is_staff: type: boolean title: Staff status description: Designates whether the user can log into this admin site. is_impersonated: type: boolean nullable: true readOnly: true is_impersonated_until: type: string nullable: true readOnly: true is_impersonated_read_only: type: boolean nullable: true readOnly: true sensitive_session_expires_at: type: string nullable: true readOnly: true team: allOf: - $ref: '#/components/schemas/TeamBasic' readOnly: true organization: allOf: - $ref: '#/components/schemas/Organization' readOnly: true organizations: type: array items: $ref: '#/components/schemas/OrganizationBasic' readOnly: true set_current_organization: type: string writeOnly: true set_current_team: type: string writeOnly: true password: type: string writeOnly: true maxLength: 128 current_password: type: string writeOnly: true description: The user's current password. Required when changing `password` if the user already has a usable password set. events_column_config: {} is_2fa_enabled: type: boolean readOnly: true has_social_auth: type: boolean readOnly: true has_sso_enforcement: type: boolean readOnly: true has_seen_product_intro_for: nullable: true scene_personalisation: type: array items: $ref: '#/components/schemas/ScenePersonalisationBasic' readOnly: true theme_mode: nullable: true oneOf: - $ref: '#/components/schemas/ThemeModeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' hedgehog_config: nullable: true allow_sidebar_suggestions: type: boolean nullable: true shortcut_position: nullable: true oneOf: - $ref: '#/components/schemas/ShortcutPositionEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' role_at_organization: $ref: '#/components/schemas/RoleAtOrganizationEnum' passkeys_enabled_for_2fa: type: boolean nullable: true description: Whether passkeys are enabled for 2FA authentication. Users can disable this to use only TOTP for 2FA while keeping passkeys for login. is_organization_first_user: type: boolean nullable: true readOnly: true pending_invites: type: array items: $ref: '#/components/schemas/PendingInvite' readOnly: true PatchedUserInterview: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true interviewee_emails: type: array items: type: string maxLength: 254 transcript: type: string readOnly: true summary: type: string audio: type: string format: uri writeOnly: true PatchedViewLink: type: object properties: id: type: string format: uuid readOnly: true deleted: type: boolean nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true source_table_name: type: string maxLength: 400 source_table_key: type: string maxLength: 400 joining_table_name: type: string maxLength: 400 joining_table_key: type: string maxLength: 400 field_name: type: string maxLength: 400 configuration: nullable: true PatchedWebExperimentsAPI: type: object description: Serializer for the exposed /api/web_experiments endpoint, to be used in posthog-js and for headless APIs. properties: id: type: integer readOnly: true name: type: string maxLength: 400 created_at: type: string format: date-time feature_flag_key: type: string readOnly: true variants: description: "Variants for the web experiment. Example:\n\n {\n \ \ \"control\": {\n \"transforms\": [\n \ \ {\n \"text\": \"Here comes Superman!\"\ ,\n \"html\": \"\",\n \"\ selector\": \"#page > #body > .header h1\"\n }\n \ \ ],\n \"conditions\": \"None\",\n \ \ \"rollout_percentage\": 50\n },\n }" PathCleaningFilter: additionalProperties: false properties: alias: default: null title: Alias type: string nullable: true order: default: null title: Order type: number nullable: true regex: default: null title: Regex type: string nullable: true title: PathCleaningFilter type: object PathType: enum: - $pageview - $screen - custom_event - hogql title: PathType type: string PathsFilter: additionalProperties: false properties: edgeLimit: default: 50 title: Edgelimit type: integer nullable: true endPoint: default: null title: Endpoint type: string nullable: true excludeEvents: default: null title: Excludeevents items: type: string type: array nullable: true includeEventTypes: default: null title: Includeeventtypes items: $ref: '#/components/schemas/PathType' type: array nullable: true localPathCleaningFilters: default: null title: Localpathcleaningfilters items: $ref: '#/components/schemas/PathCleaningFilter' type: array nullable: true maxEdgeWeight: default: null title: Maxedgeweight type: integer nullable: true minEdgeWeight: default: null title: Minedgeweight type: integer nullable: true pathDropoffKey: default: null description: Relevant only within actors query title: Pathdropoffkey type: string nullable: true pathEndKey: default: null description: Relevant only within actors query title: Pathendkey type: string nullable: true pathGroupings: default: null title: Pathgroupings items: type: string type: array nullable: true pathReplacements: default: null title: Pathreplacements type: boolean nullable: true pathStartKey: default: null description: Relevant only within actors query title: Pathstartkey type: string nullable: true pathsHogQLExpression: default: null title: Pathshogqlexpression type: string nullable: true showFullUrls: default: null title: Showfullurls type: boolean nullable: true startPoint: default: null title: Startpoint type: string nullable: true stepLimit: default: 5 title: Steplimit type: integer nullable: true title: PathsFilter type: object PathsLink: additionalProperties: false properties: average_conversion_time: title: Average Conversion Time type: number source: title: Source type: string target: title: Target type: string value: title: Value type: number required: - average_conversion_time - source - target - value title: PathsLink type: object PathsQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation title: Aggregation Group Type Index type: integer nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true funnelPathsFilter: default: null description: Used for displaying paths in relation to funnel steps. allOf: - $ref: '#/components/schemas/FunnelPathsFilter' nullable: true kind: default: PathsQuery title: Kind type: string enum: - PathsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true pathsFilter: description: Properties specific to the paths insight allOf: - $ref: '#/components/schemas/PathsFilter' properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/PathsQueryResponse' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - pathsFilter title: PathsQuery type: object PathsQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/PathsLink' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: PathsQueryResponse type: object PauseResponse: type: object properties: status: type: string description: Always 'paused'. paused_until: type: string format: date-time description: The timestamp the pipeline is paused until. required: - paused_until - status PauseStateResponse: type: object properties: paused_until: type: string format: date-time nullable: true description: The timestamp the pipeline is paused until, or null if not paused/not running. required: - paused_until PauseUntilRequest: type: object properties: timestamp: type: string format: date-time description: Pause the grouping pipeline until this timestamp (ISO 8601). required: - timestamp PendingInvite: type: object description: Shape of each item in UserSerializer.pending_invites. properties: id: type: string target_email: type: string format: email organization_id: type: string organization_name: type: string created_at: type: string format: date-time required: - created_at - id - organization_id - organization_name - target_email PersistedFolder: type: object properties: id: type: string format: uuid readOnly: true type: $ref: '#/components/schemas/PersistedFolderTypeEnum' protocol: type: string maxLength: 64 path: type: string created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - id - type - updated_at PersistedFolderTypeEnum: enum: - home - pinned - custom_products type: string description: '* `home` - Home * `pinned` - Pinned * `custom_products` - Custom Products' Person: additionalProperties: false properties: distinct_ids: items: type: string title: Distinct Ids type: array is_identified: default: null title: Is Identified type: boolean nullable: true properties: type: object additionalProperties: true title: Properties required: - distinct_ids - properties title: Person type: object PersonBulkDeleteRequest: type: object properties: ids: type: array items: type: string description: A list of PostHog person UUIDs to delete (max 1000). distinct_ids: type: array items: type: string description: A list of distinct IDs whose associated persons will be deleted (max 1000). delete_events: type: boolean default: false description: If true, queue deletion of all events associated with these persons. delete_recordings: type: boolean default: false description: If true, queue deletion of all recordings associated with these persons. keep_person: type: boolean default: false description: If true, keep the person records but delete their events and recordings. PersonBulkDeleteResponse: type: object properties: persons_found: type: integer description: Number of persons matched by the provided IDs or distinct IDs. persons_deleted: type: integer description: Number of person records deleted from the database. 0 if keep_person was true. events_queued_for_deletion: type: boolean description: Whether event deletion was requested for the matched persons. If a deletion was already queued for a person, it will not be duplicated. recordings_queued_for_deletion: type: boolean description: Whether recording deletion was requested for the matched persons. If a deletion was already queued for a person, it will not be duplicated. deletion_errors: type: array items: type: object additionalProperties: true description: Persons that could not be deleted. Each entry contains 'person_uuid'. Contact support if this persists. required: - events_queued_for_deletion - persons_deleted - persons_found - recordings_queued_for_deletion PersonDeletePropertyRequest: type: object properties: $unset: type: string description: The property key to remove from this person. required: - $unset PersonFilter: additionalProperties: false properties: bytecode: default: null title: Bytecode items: {} type: array nullable: true bytecode_error: default: null title: Bytecode Error type: string nullable: true conditionHash: default: null title: Conditionhash type: string nullable: true type: title: Type type: string enum: - person key: title: Key type: string operator: default: null title: Operator type: string nullable: true value: default: null title: Value nullable: true negation: default: false title: Negation type: boolean required: - type - key title: PersonFilter type: object PersonPropertiesAtTimeDebug: type: object description: Serializer for the debug information (only available to staff users). properties: query: type: string description: The ClickHouse query that was executed params: type: object additionalProperties: true description: The parameters passed to the query events_found: type: integer description: Number of events found events: type: array items: type: object additionalProperties: true description: Raw events that were used to build the properties error: type: string description: Error message if debug query failed required: - events - events_found - params - query PersonPropertiesAtTimeMetadata: type: object description: Serializer for the point-in-time query metadata. properties: queried_timestamp: type: string description: The timestamp that was queried in ISO format include_set_once: type: boolean description: Whether $set_once operations were included distinct_id_used: type: string nullable: true description: The distinct_id parameter used in the request person_id_used: type: string nullable: true description: The person_id parameter used in the request query_mode: type: string description: Whether the query used 'distinct_id' or 'person_id' mode distinct_ids_queried: type: array items: type: string description: All distinct_ids that were queried for this person distinct_ids_count: type: integer description: Number of distinct_ids associated with this person required: - distinct_id_used - distinct_ids_count - distinct_ids_queried - include_set_once - person_id_used - queried_timestamp - query_mode PersonPropertiesAtTimeResponse: type: object description: Serializer for the point-in-time person properties response. properties: id: type: integer description: The person ID name: type: string description: The person's display name distinct_ids: type: array items: type: string description: All distinct IDs associated with this person properties: type: object additionalProperties: type: string nullable: true description: Person properties as they existed at the specified time created_at: type: string format: date-time description: When the person was first created uuid: type: string format: uuid description: The person's UUID last_seen_at: type: string format: date-time nullable: true description: When the person was last seen point_in_time_metadata: allOf: - $ref: '#/components/schemas/PersonPropertiesAtTimeMetadata' description: Metadata about the point-in-time query debug: allOf: - $ref: '#/components/schemas/PersonPropertiesAtTimeDebug' description: Debug information (only available when debug=true and DEBUG=True) required: - created_at - distinct_ids - id - last_seen_at - name - point_in_time_metadata - properties - uuid PersonPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: person description: Person properties title: Type type: string enum: - person value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: PersonPropertyFilter type: object PersonRecord: type: object properties: id: type: integer readOnly: true description: Numeric person ID. name: type: string readOnly: true description: Display name derived from person properties (email, name, or username). distinct_ids: type: array items: type: string readOnly: true properties: description: Key-value map of person properties set via $set and $set_once operations. created_at: type: string format: date-time readOnly: true description: When this person was first seen (ISO 8601). uuid: type: string format: uuid readOnly: true description: Unique identifier (UUID) for this person. last_seen_at: type: string format: date-time readOnly: true nullable: true description: Timestamp of the last event from this person, or null. required: - created_at - distinct_ids - id - last_seen_at - name - uuid PersonType: additionalProperties: false properties: created_at: default: null title: Created At type: string nullable: true distinct_ids: items: type: string title: Distinct Ids type: array id: default: null title: Id type: string nullable: true is_identified: default: null title: Is Identified type: boolean nullable: true last_seen_at: default: null title: Last Seen At type: string nullable: true name: default: null title: Name type: string nullable: true properties: type: object additionalProperties: true title: Properties uuid: default: null title: Uuid type: string nullable: true required: - distinct_ids - properties title: PersonType type: object PersonUpdatePropertyRequest: type: object properties: key: type: string description: The property key to set. value: description: The property value. Can be a string, number, boolean, or object. required: - key - value PersonsArgMaxVersion: enum: - auto - v1 - v2 title: PersonsArgMaxVersion type: string PersonsJoinMode: enum: - inner - left title: PersonsJoinMode type: string PersonsNode: additionalProperties: false properties: cohort: default: null title: Cohort type: integer nullable: true distinctId: default: null title: Distinctid type: string nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: PersonsNode title: Kind type: string enum: - PersonsNode limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null title: Response additionalProperties: true type: object nullable: true search: default: null title: Search type: string nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: PersonsNode type: object PersonsOnEventsMode: enum: - disabled - person_id_no_override_properties_on_events - person_id_override_properties_on_events - person_id_override_properties_joined title: PersonsOnEventsMode type: string PinnedSceneTab: type: object properties: id: type: string description: Stable identifier for the tab. Generated client-side; safe to omit on create. pathname: type: string description: URL pathname the tab points at — for example `/project/123/dashboard/45` or `/project/123/insights`. Combined with `search` and `hash` to reconstruct the destination. search: type: string description: Query string portion of the URL, including the leading `?`. Empty string when there is no query. hash: type: string description: Fragment portion of the URL, including the leading `#`. Empty string when there is no fragment. title: type: string description: Default tab title derived from the destination scene. Used when `customTitle` is not set. customTitle: type: string nullable: true description: Optional user-provided title that overrides `title` in the navigation UI. iconType: type: string description: Icon key shown next to the tab in the sidebar — for example `dashboard`, `insight`, `blank`. sceneId: type: string nullable: true description: Scene identifier resolved from the pathname when known — used by the frontend for icon/title hints. sceneKey: type: string nullable: true description: Scene key (logic key) for the destination, paired with `sceneParams` for deeper routing context. sceneParams: description: Free-form scene parameters captured at pin time, used by the frontend to rehydrate the destination. pinned: type: boolean description: Whether this entry is pinned. Always coerced to true on save — pass true or omit. PinnedSceneTabs: type: object properties: tabs: type: array items: $ref: '#/components/schemas/PinnedSceneTab' description: Ordered list of pinned navigation tabs shown in the sidebar for the authenticated user within the current team. Send the full list to replace the existing pins; omit to leave them unchanged. homepage: allOf: - $ref: '#/components/schemas/PinnedSceneTab' nullable: true description: Tab descriptor for the user's chosen home page — the destination opened when they click the PostHog logo or hit `/`. Set to a tab descriptor to pick a homepage, send `null` or `{}` to clear it and fall back to the project default. PluginLogEntry: type: object properties: id: type: string format: uuid team_id: type: integer plugin_id: type: integer plugin_config_id: type: integer timestamp: type: string format: date-time source: $ref: '#/components/schemas/PluginLogEntrySourceEnum' type: $ref: '#/components/schemas/PluginLogEntryTypeEnum' message: type: string instance_id: type: string format: uuid required: - id - instance_id - message - plugin_config_id - plugin_id - source - team_id - timestamp - type PluginLogEntrySourceEnum: enum: - SYSTEM - PLUGIN - CONSOLE type: string description: '* `SYSTEM` - SYSTEM * `PLUGIN` - PLUGIN * `CONSOLE` - CONSOLE' PluginLogEntryTypeEnum: enum: - DEBUG - LOG - INFO - WARN - ERROR type: string description: '* `DEBUG` - DEBUG * `LOG` - LOG * `INFO` - INFO * `WARN` - WARN * `ERROR` - ERROR' PluginsAccessLevelEnum: enum: - 0 - 3 - 6 - 9 type: integer description: '* `0` - none * `3` - config * `6` - install * `9` - root' Population: additionalProperties: false properties: both: title: Both type: number exception_only: title: Exception Only type: number neither: title: Neither type: number success_only: title: Success Only type: number required: - both - exception_only - neither - success_only title: Population type: object Position: enum: - start - end title: Position type: string PrAuthorshipModeEnum: enum: - user - bot type: string description: '* `user` - user * `bot` - bot' PrecomputationMode: enum: - precomputed - direct title: PrecomputationMode type: string PreprocessingConfig: additionalProperties: false properties: diffs_n: default: null description: 'Order of differencing. 0 = raw values, 1 = first-order diffs (default: 0)' title: Diffs N type: integer nullable: true lags_n: default: null description: 'Number of lag features. 0 = none, >0 = include n lagged values (default: 0)' title: Lags N type: integer nullable: true smooth_n: default: null description: 'Moving average window size. 0 = no smoothing, >1 = smooth over n points (default: 0)' title: Smooth N type: integer nullable: true title: PreprocessingConfig type: object PriorityEnum: enum: - low - medium - high type: string description: '* `low` - Low * `medium` - Medium * `high` - High' ProductTour: type: object description: Read-only serializer for ProductTour. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true targeting_flag_filters: type: object additionalProperties: true nullable: true description: Return the targeting flag filters, excluding the base exclusion properties. readOnly: true content: {} draft_content: readOnly: true nullable: true has_draft: type: boolean readOnly: true auto_launch: type: boolean start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true archived: type: boolean required: - created_at - created_by - draft_content - has_draft - id - internal_targeting_flag - linked_flag - name - targeting_flag_filters - updated_at ProductTourSerializerCreateUpdateOnly: type: object description: Serializer for creating and updating ProductTour. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag_id: type: integer writeOnly: true nullable: true targeting_flag_filters: writeOnly: true nullable: true content: {} auto_launch: type: boolean start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true updated_at: type: string format: date-time readOnly: true archived: type: boolean creation_context: allOf: - $ref: '#/components/schemas/ProductTourSerializerCreateUpdateOnlyCreationContextEnum' writeOnly: true default: app description: 'Where the tour was created/updated from * `app` - app * `toolbar` - toolbar' required: - created_at - created_by - id - internal_targeting_flag - linked_flag - name - updated_at ProductTourSerializerCreateUpdateOnlyCreationContextEnum: enum: - app - toolbar type: string description: '* `app` - app * `toolbar` - toolbar' ProjectBackwardCompat: type: object description: 'Like `ProjectBasicSerializer`, but also works as a drop-in replacement for `TeamBasicSerializer` by way of passthrough fields. This allows the meaning of `Team` to change from "project" to "environment" without breaking backward compatibility of the REST API. Do not use this in greenfield endpoints!' properties: id: type: integer readOnly: true organization: type: string format: uuid readOnly: true name: type: string description: Human-readable project name. maxLength: 200 minLength: 1 product_description: type: string nullable: true description: Short description of what the project is about. This is helpful to give our AI agents context about your project. maxLength: 1000 created_at: type: string format: date-time readOnly: true effective_membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true has_group_types: type: boolean readOnly: true group_types: type: array items: type: object additionalProperties: true readOnly: true live_events_token: type: string nullable: true readOnly: true updated_at: type: string format: date-time readOnly: true uuid: type: string format: uuid readOnly: true api_token: type: string readOnly: true app_urls: type: array items: type: string nullable: true maxLength: 200 anonymize_ips: type: boolean description: When true, PostHog drops the IP address from every ingested event. completed_snippet_onboarding: type: boolean ingested_event: type: boolean readOnly: true test_account_filters: description: Filter groups that identify internal/test traffic to be excluded from insights. test_account_filters_default_checked: type: boolean nullable: true description: When true, new insights default to excluding internal/test users. path_cleaning_filters: nullable: true description: Regex rewrite rules that collapse dynamic path segments (e.g. user IDs) before displaying URLs in paths. is_demo: type: boolean timezone: allOf: - $ref: '#/components/schemas/TimezoneEnum' description: 'IANA timezone used for date-based filters and reporting (e.g. `America/Los_Angeles`). * `Africa/Abidjan` - Africa/Abidjan * `Africa/Accra` - Africa/Accra * `Africa/Addis_Ababa` - Africa/Addis_Ababa * `Africa/Algiers` - Africa/Algiers * `Africa/Asmara` - Africa/Asmara * `Africa/Asmera` - Africa/Asmera * `Africa/Bamako` - Africa/Bamako * `Africa/Bangui` - Africa/Bangui * `Africa/Banjul` - Africa/Banjul * `Africa/Bissau` - Africa/Bissau * `Africa/Blantyre` - Africa/Blantyre * `Africa/Brazzaville` - Africa/Brazzaville * `Africa/Bujumbura` - Africa/Bujumbura * `Africa/Cairo` - Africa/Cairo * `Africa/Casablanca` - Africa/Casablanca * `Africa/Ceuta` - Africa/Ceuta * `Africa/Conakry` - Africa/Conakry * `Africa/Dakar` - Africa/Dakar * `Africa/Dar_es_Salaam` - Africa/Dar_es_Salaam * `Africa/Djibouti` - Africa/Djibouti * `Africa/Douala` - Africa/Douala * `Africa/El_Aaiun` - Africa/El_Aaiun * `Africa/Freetown` - Africa/Freetown * `Africa/Gaborone` - Africa/Gaborone * `Africa/Harare` - Africa/Harare * `Africa/Johannesburg` - Africa/Johannesburg * `Africa/Juba` - Africa/Juba * `Africa/Kampala` - Africa/Kampala * `Africa/Khartoum` - Africa/Khartoum * `Africa/Kigali` - Africa/Kigali * `Africa/Kinshasa` - Africa/Kinshasa * `Africa/Lagos` - Africa/Lagos * `Africa/Libreville` - Africa/Libreville * `Africa/Lome` - Africa/Lome * `Africa/Luanda` - Africa/Luanda * `Africa/Lubumbashi` - Africa/Lubumbashi * `Africa/Lusaka` - Africa/Lusaka * `Africa/Malabo` - Africa/Malabo * `Africa/Maputo` - Africa/Maputo * `Africa/Maseru` - Africa/Maseru * `Africa/Mbabane` - Africa/Mbabane * `Africa/Mogadishu` - Africa/Mogadishu * `Africa/Monrovia` - Africa/Monrovia * `Africa/Nairobi` - Africa/Nairobi * `Africa/Ndjamena` - Africa/Ndjamena * `Africa/Niamey` - Africa/Niamey * `Africa/Nouakchott` - Africa/Nouakchott * `Africa/Ouagadougou` - Africa/Ouagadougou * `Africa/Porto-Novo` - Africa/Porto-Novo * `Africa/Sao_Tome` - Africa/Sao_Tome * `Africa/Timbuktu` - Africa/Timbuktu * `Africa/Tripoli` - Africa/Tripoli * `Africa/Tunis` - Africa/Tunis * `Africa/Windhoek` - Africa/Windhoek * `America/Adak` - America/Adak * `America/Anchorage` - America/Anchorage * `America/Anguilla` - America/Anguilla * `America/Antigua` - America/Antigua * `America/Araguaina` - America/Araguaina * `America/Argentina/Buenos_Aires` - America/Argentina/Buenos_Aires * `America/Argentina/Catamarca` - America/Argentina/Catamarca * `America/Argentina/ComodRivadavia` - America/Argentina/ComodRivadavia * `America/Argentina/Cordoba` - America/Argentina/Cordoba * `America/Argentina/Jujuy` - America/Argentina/Jujuy * `America/Argentina/La_Rioja` - America/Argentina/La_Rioja * `America/Argentina/Mendoza` - America/Argentina/Mendoza * `America/Argentina/Rio_Gallegos` - America/Argentina/Rio_Gallegos * `America/Argentina/Salta` - America/Argentina/Salta * `America/Argentina/San_Juan` - America/Argentina/San_Juan * `America/Argentina/San_Luis` - America/Argentina/San_Luis * `America/Argentina/Tucuman` - America/Argentina/Tucuman * `America/Argentina/Ushuaia` - America/Argentina/Ushuaia * `America/Aruba` - America/Aruba * `America/Asuncion` - America/Asuncion * `America/Atikokan` - America/Atikokan * `America/Atka` - America/Atka * `America/Bahia` - America/Bahia * `America/Bahia_Banderas` - America/Bahia_Banderas * `America/Barbados` - America/Barbados * `America/Belem` - America/Belem * `America/Belize` - America/Belize * `America/Blanc-Sablon` - America/Blanc-Sablon * `America/Boa_Vista` - America/Boa_Vista * `America/Bogota` - America/Bogota * `America/Boise` - America/Boise * `America/Buenos_Aires` - America/Buenos_Aires * `America/Cambridge_Bay` - America/Cambridge_Bay * `America/Campo_Grande` - America/Campo_Grande * `America/Cancun` - America/Cancun * `America/Caracas` - America/Caracas * `America/Catamarca` - America/Catamarca * `America/Cayenne` - America/Cayenne * `America/Cayman` - America/Cayman * `America/Chicago` - America/Chicago * `America/Chihuahua` - America/Chihuahua * `America/Ciudad_Juarez` - America/Ciudad_Juarez * `America/Coral_Harbour` - America/Coral_Harbour * `America/Cordoba` - America/Cordoba * `America/Costa_Rica` - America/Costa_Rica * `America/Creston` - America/Creston * `America/Cuiaba` - America/Cuiaba * `America/Curacao` - America/Curacao * `America/Danmarkshavn` - America/Danmarkshavn * `America/Dawson` - America/Dawson * `America/Dawson_Creek` - America/Dawson_Creek * `America/Denver` - America/Denver * `America/Detroit` - America/Detroit * `America/Dominica` - America/Dominica * `America/Edmonton` - America/Edmonton * `America/Eirunepe` - America/Eirunepe * `America/El_Salvador` - America/El_Salvador * `America/Ensenada` - America/Ensenada * `America/Fort_Nelson` - America/Fort_Nelson * `America/Fort_Wayne` - America/Fort_Wayne * `America/Fortaleza` - America/Fortaleza * `America/Glace_Bay` - America/Glace_Bay * `America/Godthab` - America/Godthab * `America/Goose_Bay` - America/Goose_Bay * `America/Grand_Turk` - America/Grand_Turk * `America/Grenada` - America/Grenada * `America/Guadeloupe` - America/Guadeloupe * `America/Guatemala` - America/Guatemala * `America/Guayaquil` - America/Guayaquil * `America/Guyana` - America/Guyana * `America/Halifax` - America/Halifax * `America/Havana` - America/Havana * `America/Hermosillo` - America/Hermosillo * `America/Indiana/Indianapolis` - America/Indiana/Indianapolis * `America/Indiana/Knox` - America/Indiana/Knox * `America/Indiana/Marengo` - America/Indiana/Marengo * `America/Indiana/Petersburg` - America/Indiana/Petersburg * `America/Indiana/Tell_City` - America/Indiana/Tell_City * `America/Indiana/Vevay` - America/Indiana/Vevay * `America/Indiana/Vincennes` - America/Indiana/Vincennes * `America/Indiana/Winamac` - America/Indiana/Winamac * `America/Indianapolis` - America/Indianapolis * `America/Inuvik` - America/Inuvik * `America/Iqaluit` - America/Iqaluit * `America/Jamaica` - America/Jamaica * `America/Jujuy` - America/Jujuy * `America/Juneau` - America/Juneau * `America/Kentucky/Louisville` - America/Kentucky/Louisville * `America/Kentucky/Monticello` - America/Kentucky/Monticello * `America/Knox_IN` - America/Knox_IN * `America/Kralendijk` - America/Kralendijk * `America/La_Paz` - America/La_Paz * `America/Lima` - America/Lima * `America/Los_Angeles` - America/Los_Angeles * `America/Louisville` - America/Louisville * `America/Lower_Princes` - America/Lower_Princes * `America/Maceio` - America/Maceio * `America/Managua` - America/Managua * `America/Manaus` - America/Manaus * `America/Marigot` - America/Marigot * `America/Martinique` - America/Martinique * `America/Matamoros` - America/Matamoros * `America/Mazatlan` - America/Mazatlan * `America/Mendoza` - America/Mendoza * `America/Menominee` - America/Menominee * `America/Merida` - America/Merida * `America/Metlakatla` - America/Metlakatla * `America/Mexico_City` - America/Mexico_City * `America/Miquelon` - America/Miquelon * `America/Moncton` - America/Moncton * `America/Monterrey` - America/Monterrey * `America/Montevideo` - America/Montevideo * `America/Montreal` - America/Montreal * `America/Montserrat` - America/Montserrat * `America/Nassau` - America/Nassau * `America/New_York` - America/New_York * `America/Nipigon` - America/Nipigon * `America/Nome` - America/Nome * `America/Noronha` - America/Noronha * `America/North_Dakota/Beulah` - America/North_Dakota/Beulah * `America/North_Dakota/Center` - America/North_Dakota/Center * `America/North_Dakota/New_Salem` - America/North_Dakota/New_Salem * `America/Nuuk` - America/Nuuk * `America/Ojinaga` - America/Ojinaga * `America/Panama` - America/Panama * `America/Pangnirtung` - America/Pangnirtung * `America/Paramaribo` - America/Paramaribo * `America/Phoenix` - America/Phoenix * `America/Port-au-Prince` - America/Port-au-Prince * `America/Port_of_Spain` - America/Port_of_Spain * `America/Porto_Acre` - America/Porto_Acre * `America/Porto_Velho` - America/Porto_Velho * `America/Puerto_Rico` - America/Puerto_Rico * `America/Punta_Arenas` - America/Punta_Arenas * `America/Rainy_River` - America/Rainy_River * `America/Rankin_Inlet` - America/Rankin_Inlet * `America/Recife` - America/Recife * `America/Regina` - America/Regina * `America/Resolute` - America/Resolute * `America/Rio_Branco` - America/Rio_Branco * `America/Rosario` - America/Rosario * `America/Santa_Isabel` - America/Santa_Isabel * `America/Santarem` - America/Santarem * `America/Santiago` - America/Santiago * `America/Santo_Domingo` - America/Santo_Domingo * `America/Sao_Paulo` - America/Sao_Paulo * `America/Scoresbysund` - America/Scoresbysund * `America/Shiprock` - America/Shiprock * `America/Sitka` - America/Sitka * `America/St_Barthelemy` - America/St_Barthelemy * `America/St_Johns` - America/St_Johns * `America/St_Kitts` - America/St_Kitts * `America/St_Lucia` - America/St_Lucia * `America/St_Thomas` - America/St_Thomas * `America/St_Vincent` - America/St_Vincent * `America/Swift_Current` - America/Swift_Current * `America/Tegucigalpa` - America/Tegucigalpa * `America/Thule` - America/Thule * `America/Thunder_Bay` - America/Thunder_Bay * `America/Tijuana` - America/Tijuana * `America/Toronto` - America/Toronto * `America/Tortola` - America/Tortola * `America/Vancouver` - America/Vancouver * `America/Virgin` - America/Virgin * `America/Whitehorse` - America/Whitehorse * `America/Winnipeg` - America/Winnipeg * `America/Yakutat` - America/Yakutat * `America/Yellowknife` - America/Yellowknife * `Antarctica/Casey` - Antarctica/Casey * `Antarctica/Davis` - Antarctica/Davis * `Antarctica/DumontDUrville` - Antarctica/DumontDUrville * `Antarctica/Macquarie` - Antarctica/Macquarie * `Antarctica/Mawson` - Antarctica/Mawson * `Antarctica/McMurdo` - Antarctica/McMurdo * `Antarctica/Palmer` - Antarctica/Palmer * `Antarctica/Rothera` - Antarctica/Rothera * `Antarctica/South_Pole` - Antarctica/South_Pole * `Antarctica/Syowa` - Antarctica/Syowa * `Antarctica/Troll` - Antarctica/Troll * `Antarctica/Vostok` - Antarctica/Vostok * `Arctic/Longyearbyen` - Arctic/Longyearbyen * `Asia/Aden` - Asia/Aden * `Asia/Almaty` - Asia/Almaty * `Asia/Amman` - Asia/Amman * `Asia/Anadyr` - Asia/Anadyr * `Asia/Aqtau` - Asia/Aqtau * `Asia/Aqtobe` - Asia/Aqtobe * `Asia/Ashgabat` - Asia/Ashgabat * `Asia/Ashkhabad` - Asia/Ashkhabad * `Asia/Atyrau` - Asia/Atyrau * `Asia/Baghdad` - Asia/Baghdad * `Asia/Bahrain` - Asia/Bahrain * `Asia/Baku` - Asia/Baku * `Asia/Bangkok` - Asia/Bangkok * `Asia/Barnaul` - Asia/Barnaul * `Asia/Beirut` - Asia/Beirut * `Asia/Bishkek` - Asia/Bishkek * `Asia/Brunei` - Asia/Brunei * `Asia/Calcutta` - Asia/Calcutta * `Asia/Chita` - Asia/Chita * `Asia/Choibalsan` - Asia/Choibalsan * `Asia/Chongqing` - Asia/Chongqing * `Asia/Chungking` - Asia/Chungking * `Asia/Colombo` - Asia/Colombo * `Asia/Dacca` - Asia/Dacca * `Asia/Damascus` - Asia/Damascus * `Asia/Dhaka` - Asia/Dhaka * `Asia/Dili` - Asia/Dili * `Asia/Dubai` - Asia/Dubai * `Asia/Dushanbe` - Asia/Dushanbe * `Asia/Famagusta` - Asia/Famagusta * `Asia/Gaza` - Asia/Gaza * `Asia/Harbin` - Asia/Harbin * `Asia/Hebron` - Asia/Hebron * `Asia/Ho_Chi_Minh` - Asia/Ho_Chi_Minh * `Asia/Hong_Kong` - Asia/Hong_Kong * `Asia/Hovd` - Asia/Hovd * `Asia/Irkutsk` - Asia/Irkutsk * `Asia/Istanbul` - Asia/Istanbul * `Asia/Jakarta` - Asia/Jakarta * `Asia/Jayapura` - Asia/Jayapura * `Asia/Jerusalem` - Asia/Jerusalem * `Asia/Kabul` - Asia/Kabul * `Asia/Kamchatka` - Asia/Kamchatka * `Asia/Karachi` - Asia/Karachi * `Asia/Kashgar` - Asia/Kashgar * `Asia/Kathmandu` - Asia/Kathmandu * `Asia/Katmandu` - Asia/Katmandu * `Asia/Khandyga` - Asia/Khandyga * `Asia/Kolkata` - Asia/Kolkata * `Asia/Krasnoyarsk` - Asia/Krasnoyarsk * `Asia/Kuala_Lumpur` - Asia/Kuala_Lumpur * `Asia/Kuching` - Asia/Kuching * `Asia/Kuwait` - Asia/Kuwait * `Asia/Macao` - Asia/Macao * `Asia/Macau` - Asia/Macau * `Asia/Magadan` - Asia/Magadan * `Asia/Makassar` - Asia/Makassar * `Asia/Manila` - Asia/Manila * `Asia/Muscat` - Asia/Muscat * `Asia/Nicosia` - Asia/Nicosia * `Asia/Novokuznetsk` - Asia/Novokuznetsk * `Asia/Novosibirsk` - Asia/Novosibirsk * `Asia/Omsk` - Asia/Omsk * `Asia/Oral` - Asia/Oral * `Asia/Phnom_Penh` - Asia/Phnom_Penh * `Asia/Pontianak` - Asia/Pontianak * `Asia/Pyongyang` - Asia/Pyongyang * `Asia/Qatar` - Asia/Qatar * `Asia/Qostanay` - Asia/Qostanay * `Asia/Qyzylorda` - Asia/Qyzylorda * `Asia/Rangoon` - Asia/Rangoon * `Asia/Riyadh` - Asia/Riyadh * `Asia/Saigon` - Asia/Saigon * `Asia/Sakhalin` - Asia/Sakhalin * `Asia/Samarkand` - Asia/Samarkand * `Asia/Seoul` - Asia/Seoul * `Asia/Shanghai` - Asia/Shanghai * `Asia/Singapore` - Asia/Singapore * `Asia/Srednekolymsk` - Asia/Srednekolymsk * `Asia/Taipei` - Asia/Taipei * `Asia/Tashkent` - Asia/Tashkent * `Asia/Tbilisi` - Asia/Tbilisi * `Asia/Tehran` - Asia/Tehran * `Asia/Tel_Aviv` - Asia/Tel_Aviv * `Asia/Thimbu` - Asia/Thimbu * `Asia/Thimphu` - Asia/Thimphu * `Asia/Tokyo` - Asia/Tokyo * `Asia/Tomsk` - Asia/Tomsk * `Asia/Ujung_Pandang` - Asia/Ujung_Pandang * `Asia/Ulaanbaatar` - Asia/Ulaanbaatar * `Asia/Ulan_Bator` - Asia/Ulan_Bator * `Asia/Urumqi` - Asia/Urumqi * `Asia/Ust-Nera` - Asia/Ust-Nera * `Asia/Vientiane` - Asia/Vientiane * `Asia/Vladivostok` - Asia/Vladivostok * `Asia/Yakutsk` - Asia/Yakutsk * `Asia/Yangon` - Asia/Yangon * `Asia/Yekaterinburg` - Asia/Yekaterinburg * `Asia/Yerevan` - Asia/Yerevan * `Atlantic/Azores` - Atlantic/Azores * `Atlantic/Bermuda` - Atlantic/Bermuda * `Atlantic/Canary` - Atlantic/Canary * `Atlantic/Cape_Verde` - Atlantic/Cape_Verde * `Atlantic/Faeroe` - Atlantic/Faeroe * `Atlantic/Faroe` - Atlantic/Faroe * `Atlantic/Jan_Mayen` - Atlantic/Jan_Mayen * `Atlantic/Madeira` - Atlantic/Madeira * `Atlantic/Reykjavik` - Atlantic/Reykjavik * `Atlantic/South_Georgia` - Atlantic/South_Georgia * `Atlantic/St_Helena` - Atlantic/St_Helena * `Atlantic/Stanley` - Atlantic/Stanley * `Australia/ACT` - Australia/ACT * `Australia/Adelaide` - Australia/Adelaide * `Australia/Brisbane` - Australia/Brisbane * `Australia/Broken_Hill` - Australia/Broken_Hill * `Australia/Canberra` - Australia/Canberra * `Australia/Currie` - Australia/Currie * `Australia/Darwin` - Australia/Darwin * `Australia/Eucla` - Australia/Eucla * `Australia/Hobart` - Australia/Hobart * `Australia/LHI` - Australia/LHI * `Australia/Lindeman` - Australia/Lindeman * `Australia/Lord_Howe` - Australia/Lord_Howe * `Australia/Melbourne` - Australia/Melbourne * `Australia/NSW` - Australia/NSW * `Australia/North` - Australia/North * `Australia/Perth` - Australia/Perth * `Australia/Queensland` - Australia/Queensland * `Australia/South` - Australia/South * `Australia/Sydney` - Australia/Sydney * `Australia/Tasmania` - Australia/Tasmania * `Australia/Victoria` - Australia/Victoria * `Australia/West` - Australia/West * `Australia/Yancowinna` - Australia/Yancowinna * `Brazil/Acre` - Brazil/Acre * `Brazil/DeNoronha` - Brazil/DeNoronha * `Brazil/East` - Brazil/East * `Brazil/West` - Brazil/West * `CET` - CET * `CST6CDT` - CST6CDT * `Canada/Atlantic` - Canada/Atlantic * `Canada/Central` - Canada/Central * `Canada/Eastern` - Canada/Eastern * `Canada/Mountain` - Canada/Mountain * `Canada/Newfoundland` - Canada/Newfoundland * `Canada/Pacific` - Canada/Pacific * `Canada/Saskatchewan` - Canada/Saskatchewan * `Canada/Yukon` - Canada/Yukon * `Chile/Continental` - Chile/Continental * `Chile/EasterIsland` - Chile/EasterIsland * `Cuba` - Cuba * `EET` - EET * `EST` - EST * `EST5EDT` - EST5EDT * `Egypt` - Egypt * `Eire` - Eire * `Etc/GMT` - Etc/GMT * `Etc/GMT+0` - Etc/GMT+0 * `Etc/GMT+1` - Etc/GMT+1 * `Etc/GMT+10` - Etc/GMT+10 * `Etc/GMT+11` - Etc/GMT+11 * `Etc/GMT+12` - Etc/GMT+12 * `Etc/GMT+2` - Etc/GMT+2 * `Etc/GMT+3` - Etc/GMT+3 * `Etc/GMT+4` - Etc/GMT+4 * `Etc/GMT+5` - Etc/GMT+5 * `Etc/GMT+6` - Etc/GMT+6 * `Etc/GMT+7` - Etc/GMT+7 * `Etc/GMT+8` - Etc/GMT+8 * `Etc/GMT+9` - Etc/GMT+9 * `Etc/GMT-0` - Etc/GMT-0 * `Etc/GMT-1` - Etc/GMT-1 * `Etc/GMT-10` - Etc/GMT-10 * `Etc/GMT-11` - Etc/GMT-11 * `Etc/GMT-12` - Etc/GMT-12 * `Etc/GMT-13` - Etc/GMT-13 * `Etc/GMT-14` - Etc/GMT-14 * `Etc/GMT-2` - Etc/GMT-2 * `Etc/GMT-3` - Etc/GMT-3 * `Etc/GMT-4` - Etc/GMT-4 * `Etc/GMT-5` - Etc/GMT-5 * `Etc/GMT-6` - Etc/GMT-6 * `Etc/GMT-7` - Etc/GMT-7 * `Etc/GMT-8` - Etc/GMT-8 * `Etc/GMT-9` - Etc/GMT-9 * `Etc/GMT0` - Etc/GMT0 * `Etc/Greenwich` - Etc/Greenwich * `Etc/UCT` - Etc/UCT * `Etc/UTC` - Etc/UTC * `Etc/Universal` - Etc/Universal * `Etc/Zulu` - Etc/Zulu * `Europe/Amsterdam` - Europe/Amsterdam * `Europe/Andorra` - Europe/Andorra * `Europe/Astrakhan` - Europe/Astrakhan * `Europe/Athens` - Europe/Athens * `Europe/Belfast` - Europe/Belfast * `Europe/Belgrade` - Europe/Belgrade * `Europe/Berlin` - Europe/Berlin * `Europe/Bratislava` - Europe/Bratislava * `Europe/Brussels` - Europe/Brussels * `Europe/Bucharest` - Europe/Bucharest * `Europe/Budapest` - Europe/Budapest * `Europe/Busingen` - Europe/Busingen * `Europe/Chisinau` - Europe/Chisinau * `Europe/Copenhagen` - Europe/Copenhagen * `Europe/Dublin` - Europe/Dublin * `Europe/Gibraltar` - Europe/Gibraltar * `Europe/Guernsey` - Europe/Guernsey * `Europe/Helsinki` - Europe/Helsinki * `Europe/Isle_of_Man` - Europe/Isle_of_Man * `Europe/Istanbul` - Europe/Istanbul * `Europe/Jersey` - Europe/Jersey * `Europe/Kaliningrad` - Europe/Kaliningrad * `Europe/Kiev` - Europe/Kiev * `Europe/Kirov` - Europe/Kirov * `Europe/Kyiv` - Europe/Kyiv * `Europe/Lisbon` - Europe/Lisbon * `Europe/Ljubljana` - Europe/Ljubljana * `Europe/London` - Europe/London * `Europe/Luxembourg` - Europe/Luxembourg * `Europe/Madrid` - Europe/Madrid * `Europe/Malta` - Europe/Malta * `Europe/Mariehamn` - Europe/Mariehamn * `Europe/Minsk` - Europe/Minsk * `Europe/Monaco` - Europe/Monaco * `Europe/Moscow` - Europe/Moscow * `Europe/Nicosia` - Europe/Nicosia * `Europe/Oslo` - Europe/Oslo * `Europe/Paris` - Europe/Paris * `Europe/Podgorica` - Europe/Podgorica * `Europe/Prague` - Europe/Prague * `Europe/Riga` - Europe/Riga * `Europe/Rome` - Europe/Rome * `Europe/Samara` - Europe/Samara * `Europe/San_Marino` - Europe/San_Marino * `Europe/Sarajevo` - Europe/Sarajevo * `Europe/Saratov` - Europe/Saratov * `Europe/Simferopol` - Europe/Simferopol * `Europe/Skopje` - Europe/Skopje * `Europe/Sofia` - Europe/Sofia * `Europe/Stockholm` - Europe/Stockholm * `Europe/Tallinn` - Europe/Tallinn * `Europe/Tirane` - Europe/Tirane * `Europe/Tiraspol` - Europe/Tiraspol * `Europe/Ulyanovsk` - Europe/Ulyanovsk * `Europe/Uzhgorod` - Europe/Uzhgorod * `Europe/Vaduz` - Europe/Vaduz * `Europe/Vatican` - Europe/Vatican * `Europe/Vienna` - Europe/Vienna * `Europe/Vilnius` - Europe/Vilnius * `Europe/Volgograd` - Europe/Volgograd * `Europe/Warsaw` - Europe/Warsaw * `Europe/Zagreb` - Europe/Zagreb * `Europe/Zaporozhye` - Europe/Zaporozhye * `Europe/Zurich` - Europe/Zurich * `GB` - GB * `GB-Eire` - GB-Eire * `GMT` - GMT * `GMT+0` - GMT+0 * `GMT-0` - GMT-0 * `GMT0` - GMT0 * `Greenwich` - Greenwich * `HST` - HST * `Hongkong` - Hongkong * `Iceland` - Iceland * `Indian/Antananarivo` - Indian/Antananarivo * `Indian/Chagos` - Indian/Chagos * `Indian/Christmas` - Indian/Christmas * `Indian/Cocos` - Indian/Cocos * `Indian/Comoro` - Indian/Comoro * `Indian/Kerguelen` - Indian/Kerguelen * `Indian/Mahe` - Indian/Mahe * `Indian/Maldives` - Indian/Maldives * `Indian/Mauritius` - Indian/Mauritius * `Indian/Mayotte` - Indian/Mayotte * `Indian/Reunion` - Indian/Reunion * `Iran` - Iran * `Israel` - Israel * `Jamaica` - Jamaica * `Japan` - Japan * `Kwajalein` - Kwajalein * `Libya` - Libya * `MET` - MET * `MST` - MST * `MST7MDT` - MST7MDT * `Mexico/BajaNorte` - Mexico/BajaNorte * `Mexico/BajaSur` - Mexico/BajaSur * `Mexico/General` - Mexico/General * `NZ` - NZ * `NZ-CHAT` - NZ-CHAT * `Navajo` - Navajo * `PRC` - PRC * `PST8PDT` - PST8PDT * `Pacific/Apia` - Pacific/Apia * `Pacific/Auckland` - Pacific/Auckland * `Pacific/Bougainville` - Pacific/Bougainville * `Pacific/Chatham` - Pacific/Chatham * `Pacific/Chuuk` - Pacific/Chuuk * `Pacific/Easter` - Pacific/Easter * `Pacific/Efate` - Pacific/Efate * `Pacific/Enderbury` - Pacific/Enderbury * `Pacific/Fakaofo` - Pacific/Fakaofo * `Pacific/Fiji` - Pacific/Fiji * `Pacific/Funafuti` - Pacific/Funafuti * `Pacific/Galapagos` - Pacific/Galapagos * `Pacific/Gambier` - Pacific/Gambier * `Pacific/Guadalcanal` - Pacific/Guadalcanal * `Pacific/Guam` - Pacific/Guam * `Pacific/Honolulu` - Pacific/Honolulu * `Pacific/Johnston` - Pacific/Johnston * `Pacific/Kanton` - Pacific/Kanton * `Pacific/Kiritimati` - Pacific/Kiritimati * `Pacific/Kosrae` - Pacific/Kosrae * `Pacific/Kwajalein` - Pacific/Kwajalein * `Pacific/Majuro` - Pacific/Majuro * `Pacific/Marquesas` - Pacific/Marquesas * `Pacific/Midway` - Pacific/Midway * `Pacific/Nauru` - Pacific/Nauru * `Pacific/Niue` - Pacific/Niue * `Pacific/Norfolk` - Pacific/Norfolk * `Pacific/Noumea` - Pacific/Noumea * `Pacific/Pago_Pago` - Pacific/Pago_Pago * `Pacific/Palau` - Pacific/Palau * `Pacific/Pitcairn` - Pacific/Pitcairn * `Pacific/Pohnpei` - Pacific/Pohnpei * `Pacific/Ponape` - Pacific/Ponape * `Pacific/Port_Moresby` - Pacific/Port_Moresby * `Pacific/Rarotonga` - Pacific/Rarotonga * `Pacific/Saipan` - Pacific/Saipan * `Pacific/Samoa` - Pacific/Samoa * `Pacific/Tahiti` - Pacific/Tahiti * `Pacific/Tarawa` - Pacific/Tarawa * `Pacific/Tongatapu` - Pacific/Tongatapu * `Pacific/Truk` - Pacific/Truk * `Pacific/Wake` - Pacific/Wake * `Pacific/Wallis` - Pacific/Wallis * `Pacific/Yap` - Pacific/Yap * `Poland` - Poland * `Portugal` - Portugal * `ROC` - ROC * `ROK` - ROK * `Singapore` - Singapore * `Turkey` - Turkey * `UCT` - UCT * `US/Alaska` - US/Alaska * `US/Aleutian` - US/Aleutian * `US/Arizona` - US/Arizona * `US/Central` - US/Central * `US/East-Indiana` - US/East-Indiana * `US/Eastern` - US/Eastern * `US/Hawaii` - US/Hawaii * `US/Indiana-Starke` - US/Indiana-Starke * `US/Michigan` - US/Michigan * `US/Mountain` - US/Mountain * `US/Pacific` - US/Pacific * `US/Samoa` - US/Samoa * `UTC` - UTC * `Universal` - Universal * `W-SU` - W-SU * `WET` - WET * `Zulu` - Zulu' data_attributes: description: Element attributes that posthog-js should capture as action identifiers (e.g. `['data-attr']`). person_display_name_properties: type: array items: type: string maxLength: 400 nullable: true description: Ordered list of person properties used to render a human-friendly display name in the UI. correlation_config: nullable: true autocapture_opt_out: type: boolean nullable: true description: Disables posthog-js autocapture (clicks, page views) when true. autocapture_exceptions_opt_in: type: boolean nullable: true description: Enables automatic capture of JavaScript exceptions via the SDK. autocapture_web_vitals_opt_in: type: boolean nullable: true description: Enables automatic capture of Core Web Vitals performance metrics. autocapture_web_vitals_allowed_metrics: nullable: true autocapture_exceptions_errors_to_ignore: nullable: true capture_console_log_opt_in: type: boolean nullable: true description: Enables capturing browser console logs alongside session replays. capture_performance_opt_in: type: boolean nullable: true description: Enables capturing performance timing and network requests. session_recording_opt_in: type: boolean description: Enables session replay recording for this project. session_recording_sample_rate: type: string format: decimal pattern: ^-?\d{0,1}(?:\.\d{0,2})?$ nullable: true description: Fraction of sessions to record, as a decimal string between `0.00` and `1.00` (e.g. `0.1` = 10%). session_recording_minimum_duration_milliseconds: type: integer maximum: 30000 minimum: 0 nullable: true description: Skip saving sessions shorter than this many milliseconds. session_recording_linked_flag: nullable: true session_recording_network_payload_capture_config: nullable: true session_recording_masking_config: nullable: true session_recording_url_trigger_config: type: array items: nullable: true nullable: true session_recording_url_blocklist_config: type: array items: nullable: true nullable: true session_recording_event_trigger_config: type: array items: type: string nullable: true nullable: true session_recording_trigger_match_type_config: type: string nullable: true maxLength: 24 session_recording_trigger_groups: nullable: true description: V2 trigger groups configuration for session recording. If present, takes precedence over legacy trigger fields. session_recording_retention_period: allOf: - $ref: '#/components/schemas/SessionRecordingRetentionPeriodEnum' description: 'How long to retain new session recordings. One of `30d`, `90d`, `1y`, or `5y` (availability depends on plan). * `30d` - 30 Days * `90d` - 90 Days * `1y` - 1 Year * `5y` - 5 Years' session_replay_config: nullable: true survey_config: nullable: true access_control: type: boolean week_start_day: nullable: true description: 'First day of the week for date range filters. 0 = Sunday, 1 = Monday. * `0` - Sunday * `1` - Monday' oneOf: - $ref: '#/components/schemas/WeekStartDayEnum' - $ref: '#/components/schemas/NullEnum' primary_dashboard: type: integer nullable: true description: ID of the dashboard shown as the project's default landing dashboard. live_events_columns: type: array items: type: string nullable: true recording_domains: type: array items: type: string nullable: true maxLength: 200 nullable: true description: Origins permitted to record session replays and heatmaps. Empty list allows all origins. person_on_events_querying_enabled: type: boolean readOnly: true inject_web_apps: type: boolean nullable: true extra_settings: nullable: true modifiers: nullable: true default_modifiers: type: object additionalProperties: true readOnly: true has_completed_onboarding_for: nullable: true surveys_opt_in: type: boolean nullable: true description: Enables displaying surveys via posthog-js on allowed origins. heatmaps_opt_in: type: boolean nullable: true description: Enables heatmap recording on pages that host posthog-js. product_intents: type: array items: type: object properties: product_type: type: string created_at: type: string format: date-time onboarding_completed_at: type: string format: date-time nullable: true updated_at: type: string format: date-time readOnly: true flags_persistence_default: type: boolean nullable: true description: Default value for the `persist` option on newly created feature flags. secret_api_token: type: string readOnly: true nullable: true secret_api_token_backup: type: string readOnly: true nullable: true receive_org_level_activity_logs: type: boolean nullable: true business_model: nullable: true description: 'Whether this project serves B2B or B2C customers. Used to optimize default UI layouts. * `b2b` - B2B * `b2c` - B2C * `other` - Other' oneOf: - $ref: '#/components/schemas/BusinessModelEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' conversations_enabled: type: boolean nullable: true description: Enables the customer conversations / live chat product for this project. conversations_settings: nullable: true logs_settings: nullable: true proactive_tasks_enabled: type: boolean nullable: true available_setup_task_ids: type: array items: $ref: '#/components/schemas/AvailableSetupTaskIdsEnum' readOnly: true required: - api_token - available_setup_task_ids - created_at - default_modifiers - effective_membership_level - group_types - has_group_types - id - ingested_event - live_events_token - organization - person_on_events_querying_enabled - product_intents - secret_api_token - secret_api_token_backup - updated_at - uuid ProjectBackwardCompatBasic: type: object description: 'Like `ProjectBasicSerializer`, but also works as a drop-in replacement for `TeamBasicSerializer` by way of passthrough fields. This allows the meaning of `Team` to change from "project" to "environment" without breaking backward compatibility of the REST API. Do not use this in greenfield endpoints!' properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true organization: type: string format: uuid readOnly: true api_token: type: string readOnly: true name: type: string readOnly: true completed_snippet_onboarding: type: boolean readOnly: true has_completed_onboarding_for: readOnly: true nullable: true ingested_event: type: boolean readOnly: true is_demo: type: boolean readOnly: true timezone: allOf: - $ref: '#/components/schemas/TimezoneEnum' readOnly: true access_control: type: boolean readOnly: true required: - access_control - api_token - completed_snippet_onboarding - has_completed_onboarding_for - id - ingested_event - is_demo - name - organization - timezone - uuid ProjectSecretAPIKey: type: object properties: id: type: string readOnly: true label: type: string maxLength: 40 value: type: string readOnly: true mask_value: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true nullable: true last_used_at: type: string format: date-time readOnly: true nullable: true last_rolled_at: type: string format: date-time readOnly: true nullable: true scopes: type: array items: type: string required: - created_at - created_by - id - label - last_rolled_at - last_used_at - mask_value - scopes - value PromotedPropertiesResponse: type: object properties: promoted_properties: type: object additionalProperties: type: string description: Mapping from event name to the team-configured promoted property for that event. Names without a configured promoted property are omitted; callers should fall back to the core taxonomy defaults for those. required: - promoted_properties Property: type: object properties: type: allOf: - $ref: '#/components/schemas/PropertyGroupOperator' default: AND description: "\n You can use a simplified version:\n```json\n{\n \"properties\"\ : [\n {\n \"key\": \"email\",\n \"value\"\ : \"x@y.com\",\n \"operator\": \"exact\",\n \"type\"\ : \"event\"\n }\n ]\n}\n```\n\nOr you can create more complicated\ \ queries with AND and OR:\n```json\n{\n \"properties\": {\n \ \ \"type\": \"AND\",\n \"values\": [\n {\n \ \ \"type\": \"OR\",\n \"values\": [\n \ \ {\"key\": \"email\", ...},\n {\"key\": \"\ email\", ...}\n ]\n },\n {\n \ \ \"type\": \"AND\",\n \"values\": [\n \ \ {\"key\": \"email\", ...},\n {\"key\"\ : \"email\", ...}\n ]\n }\n ]\n ]\n\ }\n```\n\n\n* `AND` - AND\n* `OR` - OR" values: type: array items: $ref: '#/components/schemas/PropertyItem' required: - values PropertyDefinitionTypeEnum: enum: - DateTime - String - Numeric - Boolean - Duration type: string description: '* `DateTime` - DateTime * `String` - String * `Numeric` - Numeric * `Boolean` - Boolean * `Duration` - Duration' PropertyFilterTypeEnum: enum: - event - event_metadata - feature - person - cohort - element - static-cohort - dynamic-cohort - precalculated-cohort - group - recording - log_entry - behavioral - session - hogql - data_warehouse - data_warehouse_person_property - error_tracking_issue - log - log_attribute - log_resource_attribute - span - span_attribute - span_resource_attribute - revenue_analytics - flag - workflow_variable type: string description: '* `event` - event * `event_metadata` - event_metadata * `feature` - feature * `person` - person * `cohort` - cohort * `element` - element * `static-cohort` - static-cohort * `dynamic-cohort` - dynamic-cohort * `precalculated-cohort` - precalculated-cohort * `group` - group * `recording` - recording * `log_entry` - log_entry * `behavioral` - behavioral * `session` - session * `hogql` - hogql * `data_warehouse` - data_warehouse * `data_warehouse_person_property` - data_warehouse_person_property * `error_tracking_issue` - error_tracking_issue * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute * `span` - span * `span_attribute` - span_attribute * `span_resource_attribute` - span_resource_attribute * `revenue_analytics` - revenue_analytics * `flag` - flag * `workflow_variable` - workflow_variable' PropertyGroupFilter: additionalProperties: false properties: type: $ref: '#/components/schemas/FilterLogicalOperator' values: items: $ref: '#/components/schemas/PropertyGroupFilterValue' title: Values type: array required: - type - values title: PropertyGroupFilter type: object PropertyGroupFilterValue: additionalProperties: false properties: type: $ref: '#/components/schemas/FilterLogicalOperator' values: items: anyOf: - $ref: '#/components/schemas/PropertyGroupFilterValue' - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' title: Values type: array required: - type - values title: PropertyGroupFilterValue type: object PropertyGroupOperator: enum: - AND - OR type: string PropertyGroupTypeEnum: enum: - cohort - person - group type: string description: '* `cohort` - cohort * `person` - person * `group` - group' PropertyGroupsMode: enum: - enabled - disabled - optimized title: PropertyGroupsMode type: string PropertyItem: type: object properties: key: type: string description: Key of the property you're filtering on. For example `email` or `$current_url` value: oneOf: - type: string - type: number - type: boolean - type: array items: oneOf: - type: string - type: number description: Value of your filter. For example `test@example.com` or `https://example.com/test/`. Can be an array for an OR query, like `["test@example.com","ok@example.com"]` operator: nullable: true default: exact oneOf: - $ref: '#/components/schemas/PropertyItemOperatorEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' type: default: event oneOf: - $ref: '#/components/schemas/PropertyFilterTypeEnum' - $ref: '#/components/schemas/BlankEnum' required: - key - value PropertyItemOperatorEnum: enum: - exact - is_not - icontains - not_icontains - regex - not_regex - gt - lt - gte - lte - is_set - is_not_set - is_date_exact - is_date_after - is_date_before - in - not_in type: string description: '* `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex * `gt` - gt * `lt` - lt * `gte` - gte * `lte` - lte * `is_set` - is_set * `is_not_set` - is_not_set * `is_date_exact` - is_date_exact * `is_date_after` - is_date_after * `is_date_before` - is_date_before * `in` - in * `not_in` - not_in' PropertyMathType: enum: - avg - sum - min - max - median - p75 - p90 - p95 - p99 title: PropertyMathType type: string PropertyOperator: enum: - exact - is_not - icontains - not_icontains - regex - not_regex - gt - gte - lt - lte - is_set - is_not_set - is_date_exact - is_date_before - is_date_after - between - not_between - min - max - in - not_in - is_cleaned_path_exact - flag_evaluates_to - semver_eq - semver_neq - semver_gt - semver_gte - semver_lt - semver_lte - semver_tilde - semver_caret - semver_wildcard - icontains_multi - not_icontains_multi title: PropertyOperator type: string PropertyType: enum: - event - person title: PropertyType type: string PropertyValueItem: additionalProperties: false properties: count: default: null title: Count type: integer nullable: true name: default: null title: Name anyOf: - type: string - type: number - type: boolean nullable: true title: PropertyValueItem type: object PropertyValuesQuery: additionalProperties: false properties: event_names: default: null title: Event Names items: type: string type: array nullable: true is_column: default: null title: Is Column type: boolean nullable: true kind: default: PropertyValuesQuery title: Kind type: string enum: - PropertyValuesQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true property_key: title: Property Key type: string property_type: $ref: '#/components/schemas/PropertyType' response: default: null allOf: - $ref: '#/components/schemas/PropertyValuesQueryResponse' nullable: true search_value: default: null title: Search Value type: string nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - property_key - property_type title: PropertyValuesQuery type: object PropertyValuesQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/PropertyValueItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: PropertyValuesQueryResponse type: object ProvisionWarehouseRequest: type: object properties: database_name: type: string description: Name for the new database required: - database_name ProvisionWarehouseResponse: type: object properties: status: type: string team: type: string required: - status - team ProxyRecord: type: object properties: id: type: string format: uuid readOnly: true description: Unique identifier for the proxy record. domain: type: string description: The custom domain to proxy through, e.g. 'e.example.com'. Must be a valid subdomain you control. target_cname: type: string readOnly: true description: The CNAME target to add as a DNS record for your domain. Point your domain's CNAME to this value. status: allOf: - $ref: '#/components/schemas/ProxyRecordStatusEnum' readOnly: true description: 'Current provisioning status. Values: waiting (DNS verification pending), issuing (SSL certificate being issued), valid (proxy is live and working), warning (proxy has issues but is operational), erroring (proxy setup failed), deleting (removal in progress), timed_out (DNS verification timed out). * `waiting` - Waiting * `issuing` - Issuing * `valid` - Valid * `warning` - Warning * `erroring` - Erroring * `deleting` - Deleting * `timed_out` - Timed Out' message: type: string readOnly: true nullable: true description: Human-readable status message with details about errors or warnings, if any. created_at: type: string format: date-time readOnly: true description: When this proxy record was created. updated_at: type: string format: date-time readOnly: true description: When this proxy record was last updated. created_by: type: integer readOnly: true description: ID of the user who created this proxy record. required: - created_at - created_by - domain - id - message - status - target_cname - updated_at ProxyRecordListResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/ProxyRecord' max_proxy_records: type: integer description: Maximum number of proxy records allowed for this organization's current plan. required: - max_proxy_records - results ProxyRecordStatusEnum: enum: - waiting - issuing - valid - warning - erroring - deleting - timed_out type: string description: '* `waiting` - Waiting * `issuing` - Issuing * `valid` - Valid * `warning` - Warning * `erroring` - Erroring * `deleting` - Deleting * `timed_out` - Timed Out' QuarantineInput: type: object properties: identifier: type: string maxLength: 512 reason: type: string maxLength: 255 expires_at: type: string format: date-time nullable: true required: - identifier - reason QuarantinedIdentifierEntry: type: object properties: created_by: allOf: - $ref: '#/components/schemas/UserBasicInfo' nullable: true id: type: string format: uuid identifier: type: string run_type: type: string reason: type: string expires_at: type: string format: date-time nullable: true created_at: type: string format: date-time updated_at: type: string format: date-time required: - created_at - expires_at - id - identifier - reason - run_type - updated_at QueryIndexUsage: enum: - undecisive - 'no' - partial - 'yes' title: QueryIndexUsage type: string QueryLogTags: additionalProperties: false properties: name: default: null description: Name of the query, preferably unique. For example web_analytics_vitals title: Name type: string nullable: true productKey: default: null description: Product responsible for this query. Use string, there's no need to churn the Schema when we add a new product * title: Productkey type: string nullable: true scene: default: null description: Scene where this query is shown in the UI. Use string, there's no need to churn the Schema when we add a new Scene * title: Scene type: string nullable: true title: QueryLogTags type: object QueryRequest: additionalProperties: false properties: async: default: null title: Async type: boolean nullable: true client_query_id: default: null description: Client provided query ID. Can be used to retrieve the status or cancel the query. title: Client Query Id type: string nullable: true filters_override: default: null allOf: - $ref: '#/components/schemas/DashboardFilter' nullable: true limit_context: default: null description: Limit context for the query. Only 'posthog_ai' is allowed as a client-provided value. allOf: - $ref: '#/components/schemas/LimitContext' nullable: true name: default: null description: Name given to a query. It's used to identify the query in the UI. Up to 128 characters for a name. title: Name type: string nullable: true query: description: 'Submit a JSON string representing a query for PostHog data analysis, for example a HogQL query. Example payload: ``` {"query": {"kind": "HogQLQuery", "query": "select * from events limit 100"}} ``` For more details on HogQL queries, see the [PostHog HogQL documentation](/docs/hogql#api-access).' discriminator: mapping: ActionsNode: '#/components/schemas/ActionsNode' ActorsPropertyTaxonomyQuery: '#/components/schemas/ActorsPropertyTaxonomyQuery' ActorsQuery: '#/components/schemas/ActorsQuery' DataTableNode: '#/components/schemas/DataTableNode' DataVisualizationNode: '#/components/schemas/DataVisualizationNode' DataWarehouseNode: '#/components/schemas/DataWarehouseNode' DatabaseSchemaQuery: '#/components/schemas/DatabaseSchemaQuery' DocumentSimilarityQuery: '#/components/schemas/DocumentSimilarityQuery' EndpointsUsageOverviewQuery: '#/components/schemas/EndpointsUsageOverviewQuery' EndpointsUsageTableQuery: '#/components/schemas/EndpointsUsageTableQuery' EndpointsUsageTrendsQuery: '#/components/schemas/EndpointsUsageTrendsQuery' ErrorTrackingBreakdownsQuery: '#/components/schemas/ErrorTrackingBreakdownsQuery' ErrorTrackingIssueCorrelationQuery: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' ErrorTrackingQuery: '#/components/schemas/ErrorTrackingQuery' ErrorTrackingSimilarIssuesQuery: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' EventTaxonomyQuery: '#/components/schemas/EventTaxonomyQuery' EventsNode: '#/components/schemas/EventsNode' EventsQuery: '#/components/schemas/EventsQuery' ExperimentExposureQuery: '#/components/schemas/ExperimentExposureQuery' ExperimentFunnelsQuery: '#/components/schemas/ExperimentFunnelsQuery' ExperimentQuery: '#/components/schemas/ExperimentQuery' ExperimentTrendsQuery: '#/components/schemas/ExperimentTrendsQuery' FunnelCorrelationQuery: '#/components/schemas/FunnelCorrelationQuery' FunnelsDataWarehouseNode: '#/components/schemas/FunnelsDataWarehouseNode' FunnelsQuery: '#/components/schemas/FunnelsQuery' GroupsQuery: '#/components/schemas/GroupsQuery' HogQLAutocomplete: '#/components/schemas/HogQLAutocomplete' HogQLMetadata: '#/components/schemas/HogQLMetadata' HogQLQuery: '#/components/schemas/HogQLQuery' HogQuery: '#/components/schemas/HogQuery' InsightActorsQuery: '#/components/schemas/InsightActorsQuery' InsightActorsQueryOptions: '#/components/schemas/InsightActorsQueryOptions' InsightVizNode: '#/components/schemas/InsightVizNode' LifecycleDataWarehouseNode: '#/components/schemas/LifecycleDataWarehouseNode' LifecycleQuery: '#/components/schemas/LifecycleQuery' LogAttributesQuery: '#/components/schemas/LogAttributesQuery' LogValuesQuery: '#/components/schemas/LogValuesQuery' LogsQuery: '#/components/schemas/LogsQuery' MarketingAnalyticsAggregatedQuery: '#/components/schemas/MarketingAnalyticsAggregatedQuery' MarketingAnalyticsTableQuery: '#/components/schemas/MarketingAnalyticsTableQuery' NonIntegratedConversionsTableQuery: '#/components/schemas/NonIntegratedConversionsTableQuery' PathsQuery: '#/components/schemas/PathsQuery' PersonsNode: '#/components/schemas/PersonsNode' PropertyValuesQuery: '#/components/schemas/PropertyValuesQuery' RecordingsQuery: '#/components/schemas/RecordingsQuery' RetentionQuery: '#/components/schemas/RetentionQuery' RevenueAnalyticsGrossRevenueQuery: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' RevenueAnalyticsMRRQuery: '#/components/schemas/RevenueAnalyticsMRRQuery' RevenueAnalyticsMetricsQuery: '#/components/schemas/RevenueAnalyticsMetricsQuery' RevenueAnalyticsOverviewQuery: '#/components/schemas/RevenueAnalyticsOverviewQuery' RevenueAnalyticsTopCustomersQuery: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' RevenueExampleDataWarehouseTablesQuery: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' RevenueExampleEventsQuery: '#/components/schemas/RevenueExampleEventsQuery' SavedInsightNode: '#/components/schemas/SavedInsightNode' SessionAttributionExplorerQuery: '#/components/schemas/SessionAttributionExplorerQuery' SessionsQuery: '#/components/schemas/SessionsQuery' SessionsTimelineQuery: '#/components/schemas/SessionsTimelineQuery' StickinessQuery: '#/components/schemas/StickinessQuery' SuggestedQuestionsQuery: '#/components/schemas/SuggestedQuestionsQuery' TeamTaxonomyQuery: '#/components/schemas/TeamTaxonomyQuery' TraceNeighborsQuery: '#/components/schemas/TraceNeighborsQuery' TraceQuery: '#/components/schemas/TraceQuery' TraceSpansQuery: '#/components/schemas/TraceSpansQuery' TracesQuery: '#/components/schemas/TracesQuery' TrendsQuery: '#/components/schemas/TrendsQuery' UsageMetricsQuery: '#/components/schemas/UsageMetricsQuery' VectorSearchQuery: '#/components/schemas/VectorSearchQuery' WebAnalyticsExternalSummaryQuery: '#/components/schemas/WebAnalyticsExternalSummaryQuery' WebExternalClicksTableQuery: '#/components/schemas/WebExternalClicksTableQuery' WebGoalsQuery: '#/components/schemas/WebGoalsQuery' WebNotableChangesQuery: '#/components/schemas/WebNotableChangesQuery' WebOverviewQuery: '#/components/schemas/WebOverviewQuery' WebPageURLSearchQuery: '#/components/schemas/WebPageURLSearchQuery' WebStatsTableQuery: '#/components/schemas/WebStatsTableQuery' WebVitalsPathBreakdownQuery: '#/components/schemas/WebVitalsPathBreakdownQuery' WebVitalsQuery: '#/components/schemas/WebVitalsQuery' propertyName: kind oneOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/PersonsNode' - $ref: '#/components/schemas/DataWarehouseNode' - $ref: '#/components/schemas/FunnelsDataWarehouseNode' - $ref: '#/components/schemas/LifecycleDataWarehouseNode' - $ref: '#/components/schemas/EventsQuery' - $ref: '#/components/schemas/SessionsQuery' - $ref: '#/components/schemas/ActorsQuery' - $ref: '#/components/schemas/GroupsQuery' - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/InsightActorsQueryOptions' - $ref: '#/components/schemas/SessionsTimelineQuery' - $ref: '#/components/schemas/HogQuery' - $ref: '#/components/schemas/HogQLQuery' - $ref: '#/components/schemas/HogQLMetadata' - $ref: '#/components/schemas/HogQLAutocomplete' - $ref: '#/components/schemas/SessionAttributionExplorerQuery' - $ref: '#/components/schemas/RevenueExampleEventsQuery' - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' - $ref: '#/components/schemas/ErrorTrackingQuery' - $ref: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' - $ref: '#/components/schemas/ErrorTrackingBreakdownsQuery' - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' - $ref: '#/components/schemas/ExperimentFunnelsQuery' - $ref: '#/components/schemas/ExperimentTrendsQuery' - $ref: '#/components/schemas/ExperimentQuery' - $ref: '#/components/schemas/ExperimentExposureQuery' - $ref: '#/components/schemas/DocumentSimilarityQuery' - $ref: '#/components/schemas/WebOverviewQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebExternalClicksTableQuery' - $ref: '#/components/schemas/WebGoalsQuery' - $ref: '#/components/schemas/WebVitalsQuery' - $ref: '#/components/schemas/WebVitalsPathBreakdownQuery' - $ref: '#/components/schemas/WebPageURLSearchQuery' - $ref: '#/components/schemas/WebAnalyticsExternalSummaryQuery' - $ref: '#/components/schemas/WebNotableChangesQuery' - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' - $ref: '#/components/schemas/RevenueAnalyticsMetricsQuery' - $ref: '#/components/schemas/RevenueAnalyticsMRRQuery' - $ref: '#/components/schemas/RevenueAnalyticsOverviewQuery' - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' - $ref: '#/components/schemas/MarketingAnalyticsTableQuery' - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQuery' - $ref: '#/components/schemas/NonIntegratedConversionsTableQuery' - $ref: '#/components/schemas/DataVisualizationNode' - $ref: '#/components/schemas/DataTableNode' - $ref: '#/components/schemas/SavedInsightNode' - $ref: '#/components/schemas/InsightVizNode' - $ref: '#/components/schemas/TrendsQuery' - $ref: '#/components/schemas/FunnelsQuery' - $ref: '#/components/schemas/RetentionQuery' - $ref: '#/components/schemas/PathsQuery' - $ref: '#/components/schemas/StickinessQuery' - $ref: '#/components/schemas/LifecycleQuery' - $ref: '#/components/schemas/FunnelCorrelationQuery' - $ref: '#/components/schemas/DatabaseSchemaQuery' - $ref: '#/components/schemas/RecordingsQuery' - $ref: '#/components/schemas/LogsQuery' - $ref: '#/components/schemas/LogAttributesQuery' - $ref: '#/components/schemas/LogValuesQuery' - $ref: '#/components/schemas/TraceSpansQuery' - $ref: '#/components/schemas/SuggestedQuestionsQuery' - $ref: '#/components/schemas/TeamTaxonomyQuery' - $ref: '#/components/schemas/EventTaxonomyQuery' - $ref: '#/components/schemas/ActorsPropertyTaxonomyQuery' - $ref: '#/components/schemas/TracesQuery' - $ref: '#/components/schemas/TraceQuery' - $ref: '#/components/schemas/TraceNeighborsQuery' - $ref: '#/components/schemas/VectorSearchQuery' - $ref: '#/components/schemas/UsageMetricsQuery' - $ref: '#/components/schemas/EndpointsUsageOverviewQuery' - $ref: '#/components/schemas/EndpointsUsageTableQuery' - $ref: '#/components/schemas/EndpointsUsageTrendsQuery' - $ref: '#/components/schemas/PropertyValuesQuery' title: Query refresh: default: blocking description: 'Whether results should be calculated sync or async, and how much to rely on the cache: - `''blocking''` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache - `''async''` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache - `''lazy_async''` - kick off background calculation, UNLESS there are somewhat fresh results in the cache - `''force_blocking''` - calculate synchronously, even if fresh results are already cached - `''force_async''` - kick off background calculation, even if fresh results are already cached - `''force_cache''` - return cached data or a cache miss; always completes immediately as it never calculates Background calculation can be tracked using the `query_status` response field.' allOf: - $ref: '#/components/schemas/RefreshType' nullable: true variables_override: default: null title: Variables Override additionalProperties: additionalProperties: true type: object type: object nullable: true required: - query title: QueryRequest type: object QueryResponseAlternative: anyOf: - additionalProperties: true type: object - $ref: '#/components/schemas/QueryResponseAlternative1' - $ref: '#/components/schemas/QueryResponseAlternative2' - $ref: '#/components/schemas/QueryResponseAlternative3' - $ref: '#/components/schemas/QueryResponseAlternative4' - $ref: '#/components/schemas/QueryResponseAlternative5' - $ref: '#/components/schemas/QueryResponseAlternative6' - $ref: '#/components/schemas/QueryResponseAlternative7' - $ref: '#/components/schemas/QueryResponseAlternative8' - $ref: '#/components/schemas/QueryResponseAlternative9' - $ref: '#/components/schemas/QueryResponseAlternative10' - $ref: '#/components/schemas/QueryResponseAlternative11' - $ref: '#/components/schemas/QueryResponseAlternative14' - $ref: '#/components/schemas/QueryResponseAlternative15' - $ref: '#/components/schemas/QueryResponseAlternative16' - $ref: '#/components/schemas/QueryResponseAlternative17' - $ref: '#/components/schemas/QueryResponseAlternative18' - $ref: '#/components/schemas/QueryResponseAlternative19' - $ref: '#/components/schemas/QueryResponseAlternative20' - $ref: '#/components/schemas/QueryResponseAlternative21' - $ref: '#/components/schemas/QueryResponseAlternative22' - $ref: '#/components/schemas/QueryResponseAlternative23' - $ref: '#/components/schemas/QueryResponseAlternative24' - $ref: '#/components/schemas/QueryResponseAlternative25' - $ref: '#/components/schemas/QueryResponseAlternative27' - $ref: '#/components/schemas/QueryResponseAlternative28' - $ref: '#/components/schemas/QueryResponseAlternative29' - $ref: '#/components/schemas/QueryResponseAlternative30' - $ref: '#/components/schemas/QueryResponseAlternative31' - $ref: '#/components/schemas/QueryResponseAlternative32' - $ref: '#/components/schemas/QueryResponseAlternative33' - $ref: '#/components/schemas/QueryResponseAlternative34' - $ref: '#/components/schemas/QueryResponseAlternative35' - $ref: '#/components/schemas/QueryResponseAlternative36' - $ref: '#/components/schemas/QueryResponseAlternative37' - $ref: '#/components/schemas/QueryResponseAlternative38' - {} - $ref: '#/components/schemas/QueryResponseAlternative39' - $ref: '#/components/schemas/QueryResponseAlternative40' - $ref: '#/components/schemas/QueryResponseAlternative41' - $ref: '#/components/schemas/QueryResponseAlternative42' - $ref: '#/components/schemas/QueryResponseAlternative43' - $ref: '#/components/schemas/QueryResponseAlternative44' - $ref: '#/components/schemas/QueryResponseAlternative45' - $ref: '#/components/schemas/QueryResponseAlternative47' - $ref: '#/components/schemas/QueryResponseAlternative48' - $ref: '#/components/schemas/QueryResponseAlternative49' - $ref: '#/components/schemas/QueryResponseAlternative50' - $ref: '#/components/schemas/QueryResponseAlternative51' - $ref: '#/components/schemas/QueryResponseAlternative52' - $ref: '#/components/schemas/QueryResponseAlternative53' - $ref: '#/components/schemas/QueryResponseAlternative54' - $ref: '#/components/schemas/QueryResponseAlternative55' - $ref: '#/components/schemas/QueryResponseAlternative57' - $ref: '#/components/schemas/QueryResponseAlternative58' - $ref: '#/components/schemas/QueryResponseAlternative59' - $ref: '#/components/schemas/QueryResponseAlternative60' - $ref: '#/components/schemas/QueryResponseAlternative62' - $ref: '#/components/schemas/QueryResponseAlternative63' - $ref: '#/components/schemas/QueryResponseAlternative64' - $ref: '#/components/schemas/QueryResponseAlternative65' - $ref: '#/components/schemas/QueryResponseAlternative66' - $ref: '#/components/schemas/QueryResponseAlternative67' - $ref: '#/components/schemas/QueryResponseAlternative68' - $ref: '#/components/schemas/QueryResponseAlternative69' - $ref: '#/components/schemas/QueryResponseAlternative70' - $ref: '#/components/schemas/QueryResponseAlternative72' - $ref: '#/components/schemas/QueryResponseAlternative73' - $ref: '#/components/schemas/QueryResponseAlternative74' - $ref: '#/components/schemas/QueryResponseAlternative75' - $ref: '#/components/schemas/QueryResponseAlternative76' - $ref: '#/components/schemas/QueryResponseAlternative77' - $ref: '#/components/schemas/QueryResponseAlternative78' - $ref: '#/components/schemas/QueryResponseAlternative79' - $ref: '#/components/schemas/QueryResponseAlternative80' - $ref: '#/components/schemas/QueryResponseAlternative81' - $ref: '#/components/schemas/QueryResponseAlternative82' - $ref: '#/components/schemas/QueryResponseAlternative83' - $ref: '#/components/schemas/QueryResponseAlternative85' - $ref: '#/components/schemas/QueryResponseAlternative86' - $ref: '#/components/schemas/QueryResponseAlternative87' - $ref: '#/components/schemas/QueryResponseAlternative88' - $ref: '#/components/schemas/QueryResponseAlternative89' - $ref: '#/components/schemas/QueryResponseAlternative90' - $ref: '#/components/schemas/QueryResponseAlternative91' title: QueryResponseAlternative QueryResponseAlternative1: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: QueryResponseAlternative1 type: object QueryResponseAlternative10: additionalProperties: false properties: incomplete_list: description: Whether or not the suggestions returned are complete title: Incomplete List type: boolean suggestions: items: $ref: '#/components/schemas/AutocompleteCompletionItem' title: Suggestions type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - incomplete_list - suggestions title: QueryResponseAlternative10 type: object QueryResponseAlternative11: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative11 type: object QueryResponseAlternative14: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative14 type: object QueryResponseAlternative15: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/SimilarIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative15 type: object QueryResponseAlternative16: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: additionalProperties: $ref: '#/components/schemas/Results' title: Results type: object timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative16 type: object QueryResponseAlternative17: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingCorrelatedIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative17 type: object QueryResponseAlternative18: additionalProperties: false properties: credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object expected_loss: title: Expected Loss type: number funnels_query: default: null allOf: - $ref: '#/components/schemas/FunnelsQuery' nullable: true insight: items: items: additionalProperties: true type: object type: array title: Insight type: array kind: default: ExperimentFunnelsQuery title: Kind type: string enum: - ExperimentFunnelsQuery probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantFunnelsBaseStats' title: Variants type: array required: - credible_intervals - expected_loss - insight - probability - significance_code - significant - variants title: QueryResponseAlternative18 type: object QueryResponseAlternative19: additionalProperties: false properties: count_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object exposure_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true insight: items: additionalProperties: true type: object title: Insight type: array kind: default: ExperimentTrendsQuery title: Kind type: string enum: - ExperimentTrendsQuery p_value: title: P Value type: number probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantTrendsBaseStats' title: Variants type: array required: - credible_intervals - insight - p_value - probability - significance_code - significant - variants title: QueryResponseAlternative19 type: object QueryResponseAlternative2: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: QueryResponseAlternative2 type: object QueryResponseAlternative20: additionalProperties: false properties: baseline: default: null allOf: - $ref: '#/components/schemas/ExperimentStatsBaseValidated' nullable: true breakdown_results: default: null description: Results grouped by breakdown value. When present, baseline and variant_results contain aggregated data. title: Breakdown Results items: $ref: '#/components/schemas/ExperimentBreakdownResult' type: array nullable: true clickhouse_sql: default: null title: Clickhouse Sql type: string nullable: true credible_intervals: default: null title: Credible Intervals additionalProperties: items: type: number type: array type: object nullable: true hogql: default: null title: Hogql type: string nullable: true insight: default: null title: Insight items: additionalProperties: true type: object type: array nullable: true is_precomputed: default: null description: Whether exposures were served from the precomputation system title: Is Precomputed type: boolean nullable: true kind: default: ExperimentQuery title: Kind type: string enum: - ExperimentQuery metric: default: null title: Metric anyOf: - $ref: '#/components/schemas/ExperimentMeanMetric' - $ref: '#/components/schemas/ExperimentFunnelMetric' - $ref: '#/components/schemas/ExperimentRatioMetric' - $ref: '#/components/schemas/ExperimentRetentionMetric' nullable: true p_value: default: null title: P Value type: number nullable: true probability: default: null title: Probability additionalProperties: type: number type: object nullable: true significance_code: default: null allOf: - $ref: '#/components/schemas/ExperimentSignificanceCode' nullable: true significant: default: null title: Significant type: boolean nullable: true stats_version: default: null title: Stats Version type: integer nullable: true variant_results: default: null title: Variant Results anyOf: - items: $ref: '#/components/schemas/ExperimentVariantResultFrequentist' type: array - items: $ref: '#/components/schemas/ExperimentVariantResultBayesian' type: array nullable: true variants: default: null title: Variants anyOf: - items: $ref: '#/components/schemas/ExperimentVariantTrendsBaseStats' type: array - items: $ref: '#/components/schemas/ExperimentVariantFunnelsBaseStats' type: array nullable: true title: QueryResponseAlternative20 type: object QueryResponseAlternative21: additionalProperties: false properties: bias_risk: default: null allOf: - $ref: '#/components/schemas/BiasRisk' nullable: true date_range: $ref: '#/components/schemas/DateRange' kind: default: ExperimentExposureQuery title: Kind type: string enum: - ExperimentExposureQuery sample_ratio_mismatch: default: null allOf: - $ref: '#/components/schemas/SampleRatioMismatch' nullable: true timeseries: items: $ref: '#/components/schemas/ExperimentExposureTimeSeries' title: Timeseries type: array total_exposures: additionalProperties: type: number title: Total Exposures type: object required: - date_range - timeseries - total_exposures title: QueryResponseAlternative21 type: object QueryResponseAlternative22: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/EmbeddingDistance' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative22 type: object QueryResponseAlternative23: additionalProperties: false properties: dateFrom: default: null title: Datefrom type: string nullable: true dateTo: default: null title: Dateto type: string nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebOverviewItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: QueryResponseAlternative23 type: object QueryResponseAlternative24: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: QueryResponseAlternative24 type: object QueryResponseAlternative25: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative25 type: object QueryResponseAlternative27: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResult' maxItems: 1 minItems: 1 title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative27 type: object QueryResponseAlternative28: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/PageURL' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative28 type: object QueryResponseAlternative29: additionalProperties: false properties: data: additionalProperties: true title: Data type: object error: default: null allOf: - $ref: '#/components/schemas/ExternalQueryError' nullable: true status: $ref: '#/components/schemas/ExternalQueryStatus' required: - data - status title: QueryResponseAlternative29 type: object QueryResponseAlternative3: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: title: Limit type: integer missing_actors_count: default: null title: Missing Actors Count type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: type: string type: array nullable: true required: - columns - hogql - limit - offset - results title: QueryResponseAlternative3 type: object QueryResponseAlternative30: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebNotableChangeItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: QueryResponseAlternative30 type: object QueryResponseAlternative31: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative31 type: object QueryResponseAlternative32: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative32 type: object QueryResponseAlternative33: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsMRRQueryResultItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative33 type: object QueryResponseAlternative34: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsOverviewItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative34 type: object QueryResponseAlternative35: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative35 type: object QueryResponseAlternative36: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative36 type: object QueryResponseAlternative37: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: additionalProperties: $ref: '#/components/schemas/MarketingAnalyticsItem' title: Results type: object samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative37 type: object QueryResponseAlternative38: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative38 type: object QueryResponseAlternative39: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: QueryResponseAlternative39 type: object QueryResponseAlternative4: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string kind: default: GroupsQuery title: Kind type: string enum: - GroupsQuery limit: title: Limit type: integer modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - limit - offset - results - types title: QueryResponseAlternative4 type: object QueryResponseAlternative40: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: title: Limit type: integer missing_actors_count: default: null title: Missing Actors Count type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: type: string type: array nullable: true required: - columns - hogql - limit - offset - results title: QueryResponseAlternative40 type: object QueryResponseAlternative41: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string kind: default: GroupsQuery title: Kind type: string enum: - GroupsQuery limit: title: Limit type: integer modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - limit - offset - results - types title: QueryResponseAlternative41 type: object QueryResponseAlternative42: additionalProperties: false properties: clickhouse: default: null description: Executed ClickHouse query title: Clickhouse type: string nullable: true columns: default: null description: Returned columns title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true explain: default: null description: Query explanation output title: Explain items: type: string type: array nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true metadata: default: null description: Query metadata output allOf: - $ref: '#/components/schemas/HogQLMetadataResponse' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query: default: null description: Input query string title: Query type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null description: Types of returned columns title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative42 type: object QueryResponseAlternative43: additionalProperties: false properties: dateFrom: default: null title: Datefrom type: string nullable: true dateTo: default: null title: Dateto type: string nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebOverviewItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: QueryResponseAlternative43 type: object QueryResponseAlternative44: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: QueryResponseAlternative44 type: object QueryResponseAlternative45: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative45 type: object QueryResponseAlternative47: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResult' maxItems: 1 minItems: 1 title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative47 type: object QueryResponseAlternative48: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative48 type: object QueryResponseAlternative49: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: QueryResponseAlternative49 type: object QueryResponseAlternative5: additionalProperties: false properties: breakdown: default: null title: Breakdown items: $ref: '#/components/schemas/BreakdownItem' type: array nullable: true breakdowns: default: null title: Breakdowns items: $ref: '#/components/schemas/MultipleBreakdownOptions' type: array nullable: true compare: default: null title: Compare items: $ref: '#/components/schemas/CompareItem' type: array nullable: true day: default: null title: Day items: $ref: '#/components/schemas/DayItem' type: array nullable: true interval: default: null title: Interval items: $ref: '#/components/schemas/IntervalItem' type: array nullable: true series: default: null title: Series items: $ref: '#/components/schemas/Series' type: array nullable: true status: default: null title: Status items: $ref: '#/components/schemas/StatusItem' type: array nullable: true title: QueryResponseAlternative5 type: object QueryResponseAlternative50: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative50 type: object QueryResponseAlternative51: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative51 type: object QueryResponseAlternative52: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsMRRQueryResultItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative52 type: object QueryResponseAlternative53: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsOverviewItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative53 type: object QueryResponseAlternative54: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative54 type: object QueryResponseAlternative55: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative55 type: object QueryResponseAlternative57: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative57 type: object QueryResponseAlternative58: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: additionalProperties: $ref: '#/components/schemas/MarketingAnalyticsItem' title: Results type: object samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative58 type: object QueryResponseAlternative59: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative59 type: object QueryResponseAlternative6: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/TimelineEntry' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative6 type: object QueryResponseAlternative60: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative60 type: object QueryResponseAlternative62: additionalProperties: false properties: credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object expected_loss: title: Expected Loss type: number funnels_query: default: null allOf: - $ref: '#/components/schemas/FunnelsQuery' nullable: true insight: items: items: additionalProperties: true type: object type: array title: Insight type: array kind: default: ExperimentFunnelsQuery title: Kind type: string enum: - ExperimentFunnelsQuery probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantFunnelsBaseStats' title: Variants type: array required: - credible_intervals - expected_loss - insight - probability - significance_code - significant - variants title: QueryResponseAlternative62 type: object QueryResponseAlternative63: additionalProperties: false properties: count_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object exposure_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true insight: items: additionalProperties: true type: object title: Insight type: array kind: default: ExperimentTrendsQuery title: Kind type: string enum: - ExperimentTrendsQuery p_value: title: P Value type: number probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantTrendsBaseStats' title: Variants type: array required: - credible_intervals - insight - p_value - probability - significance_code - significant - variants title: QueryResponseAlternative63 type: object QueryResponseAlternative64: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LLMTrace' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative64 type: object QueryResponseAlternative65: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative65 type: object QueryResponseAlternative66: additionalProperties: false properties: boxplot_data: default: null title: Boxplot Data items: $ref: '#/components/schemas/BoxPlotDatum' type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null description: Wether more breakdown values are available. title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative66 type: object QueryResponseAlternative67: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative67 type: object QueryResponseAlternative68: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RetentionResult' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative68 type: object QueryResponseAlternative69: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/PathsLink' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative69 type: object QueryResponseAlternative7: additionalProperties: false properties: bytecode: default: null title: Bytecode items: {} type: array nullable: true coloredBytecode: default: null title: Coloredbytecode items: {} type: array nullable: true results: title: Results stdout: default: null title: Stdout type: string nullable: true required: - results title: QueryResponseAlternative7 type: object QueryResponseAlternative70: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative70 type: object QueryResponseAlternative72: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: $ref: '#/components/schemas/FunnelCorrelationResult' timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative72 type: object QueryResponseAlternative73: additionalProperties: false properties: joins: items: $ref: '#/components/schemas/DataWarehouseViewLink' title: Joins type: array tables: additionalProperties: anyOf: - $ref: '#/components/schemas/DatabaseSchemaPostHogTable' - $ref: '#/components/schemas/DatabaseSchemaSystemTable' - $ref: '#/components/schemas/DatabaseSchemaDataWarehouseTable' - $ref: '#/components/schemas/DatabaseSchemaViewTable' - $ref: '#/components/schemas/DatabaseSchemaManagedViewTable' - $ref: '#/components/schemas/DatabaseSchemaBatchExportTable' - $ref: '#/components/schemas/DatabaseSchemaMaterializedViewTable' - $ref: '#/components/schemas/DatabaseSchemaEndpointTable' title: Tables type: object required: - joins - tables title: QueryResponseAlternative73 type: object QueryResponseAlternative74: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true has_next: title: Has Next type: boolean hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true next_cursor: default: null description: Cursor for the next page. Contains the ordering value and session_id from the last record. title: Next Cursor type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/SessionRecordingType' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - has_next - results title: QueryResponseAlternative74 type: object QueryResponseAlternative75: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative75 type: object QueryResponseAlternative76: additionalProperties: false properties: count: title: Count type: number error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LogAttributeResult' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - count - results title: QueryResponseAlternative76 type: object QueryResponseAlternative77: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LogValueResult' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative77 type: object QueryResponseAlternative78: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative78 type: object QueryResponseAlternative79: additionalProperties: false properties: questions: items: type: string title: Questions type: array required: - questions title: QueryResponseAlternative79 type: object QueryResponseAlternative8: additionalProperties: false properties: clickhouse: default: null description: Executed ClickHouse query title: Clickhouse type: string nullable: true columns: default: null description: Returned columns title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true explain: default: null description: Query explanation output title: Explain items: type: string type: array nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true metadata: default: null description: Query metadata output allOf: - $ref: '#/components/schemas/HogQLMetadataResponse' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query: default: null description: Input query string title: Query type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null description: Types of returned columns title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative8 type: object QueryResponseAlternative80: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/TeamTaxonomyItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative80 type: object QueryResponseAlternative81: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/EventTaxonomyItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative81 type: object QueryResponseAlternative82: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: anyOf: - $ref: '#/components/schemas/ActorsPropertyTaxonomyResponse' - items: $ref: '#/components/schemas/ActorsPropertyTaxonomyResponse' type: array title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative82 type: object QueryResponseAlternative83: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LLMTrace' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative83 type: object QueryResponseAlternative85: additionalProperties: false properties: newerTimestamp: default: null description: Timestamp of the newer trace title: Newertimestamp type: string nullable: true newerTraceId: default: null description: ID of the newer trace (chronologically after current) title: Newertraceid type: string nullable: true olderTimestamp: default: null description: Timestamp of the older trace title: Oldertimestamp type: string nullable: true olderTraceId: default: null description: ID of the older trace (chronologically before current) title: Oldertraceid type: string nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true title: QueryResponseAlternative85 type: object QueryResponseAlternative86: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/VectorSearchResponseItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative86 type: object QueryResponseAlternative87: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/UsageMetric' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative87 type: object QueryResponseAlternative88: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/EndpointsUsageOverviewItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative88 type: object QueryResponseAlternative89: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: QueryResponseAlternative89 type: object QueryResponseAlternative9: additionalProperties: false properties: ch_table_names: default: null title: Ch Table Names items: type: string type: array nullable: true errors: items: $ref: '#/components/schemas/HogQLNotice' title: Errors type: array isUsingIndices: default: null allOf: - $ref: '#/components/schemas/QueryIndexUsage' nullable: true isValid: default: null title: Isvalid type: boolean nullable: true notices: items: $ref: '#/components/schemas/HogQLNotice' title: Notices type: array query: default: null title: Query type: string nullable: true table_names: default: null title: Table Names items: type: string type: array nullable: true warnings: items: $ref: '#/components/schemas/HogQLNotice' title: Warnings type: array required: - errors - notices - warnings title: QueryResponseAlternative9 type: object QueryResponseAlternative90: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative90 type: object QueryResponseAlternative91: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/PropertyValueItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: QueryResponseAlternative91 type: object QueryStatus: additionalProperties: false properties: complete: default: false description: Whether the query is still running. Will be true if the query is complete, even if it errored. Either result or error will be set. title: Complete type: boolean nullable: true dashboard_id: default: null title: Dashboard Id type: integer nullable: true end_time: default: null description: When did the query execution task finish (whether successfully or not). title: End Time format: date-time type: string nullable: true error: default: false description: If the query failed, this will be set to true. More information can be found in the error_message field. title: Error type: boolean nullable: true error_message: default: null title: Error Message type: string nullable: true expiration_time: default: null title: Expiration Time format: date-time type: string nullable: true id: title: Id type: string insight_id: default: null title: Insight Id type: integer nullable: true labels: default: null title: Labels items: type: string type: array nullable: true pickup_time: default: null description: When was the query execution task picked up by a worker. title: Pickup Time format: date-time type: string nullable: true query_async: default: true description: ONLY async queries use QueryStatus. title: Query Async type: boolean enum: - true query_progress: default: null allOf: - $ref: '#/components/schemas/ClickhouseQueryProgress' nullable: true results: default: null title: Results nullable: true start_time: default: null description: When was query execution task enqueued. title: Start Time format: date-time type: string nullable: true task_id: default: null title: Task Id type: string nullable: true team_id: title: Team Id type: integer required: - id - team_id title: QueryStatus type: object QueryStatusResponse: additionalProperties: false properties: query_status: $ref: '#/components/schemas/QueryStatus' required: - query_status title: QueryStatusResponse type: object QueryTiming: additionalProperties: false properties: k: description: Key. Shortened to 'k' to save on data. title: K type: string t: description: Time in seconds. Shortened to 't' to save on data. title: T type: number required: - k - t title: QueryTiming type: object QueryUpgradeRequest: additionalProperties: false properties: query: discriminator: mapping: ActionsNode: '#/components/schemas/ActionsNode' ActorsPropertyTaxonomyQuery: '#/components/schemas/ActorsPropertyTaxonomyQuery' ActorsQuery: '#/components/schemas/ActorsQuery' DataTableNode: '#/components/schemas/DataTableNode' DataVisualizationNode: '#/components/schemas/DataVisualizationNode' DataWarehouseNode: '#/components/schemas/DataWarehouseNode' DatabaseSchemaQuery: '#/components/schemas/DatabaseSchemaQuery' DocumentSimilarityQuery: '#/components/schemas/DocumentSimilarityQuery' EndpointsUsageOverviewQuery: '#/components/schemas/EndpointsUsageOverviewQuery' EndpointsUsageTableQuery: '#/components/schemas/EndpointsUsageTableQuery' EndpointsUsageTrendsQuery: '#/components/schemas/EndpointsUsageTrendsQuery' ErrorTrackingBreakdownsQuery: '#/components/schemas/ErrorTrackingBreakdownsQuery' ErrorTrackingIssueCorrelationQuery: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' ErrorTrackingQuery: '#/components/schemas/ErrorTrackingQuery' ErrorTrackingSimilarIssuesQuery: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' EventTaxonomyQuery: '#/components/schemas/EventTaxonomyQuery' EventsNode: '#/components/schemas/EventsNode' EventsQuery: '#/components/schemas/EventsQuery' ExperimentExposureQuery: '#/components/schemas/ExperimentExposureQuery' ExperimentFunnelsQuery: '#/components/schemas/ExperimentFunnelsQuery' ExperimentQuery: '#/components/schemas/ExperimentQuery' ExperimentTrendsQuery: '#/components/schemas/ExperimentTrendsQuery' FunnelCorrelationQuery: '#/components/schemas/FunnelCorrelationQuery' FunnelsDataWarehouseNode: '#/components/schemas/FunnelsDataWarehouseNode' FunnelsQuery: '#/components/schemas/FunnelsQuery' GroupsQuery: '#/components/schemas/GroupsQuery' HogQLAutocomplete: '#/components/schemas/HogQLAutocomplete' HogQLMetadata: '#/components/schemas/HogQLMetadata' HogQLQuery: '#/components/schemas/HogQLQuery' HogQuery: '#/components/schemas/HogQuery' InsightActorsQuery: '#/components/schemas/InsightActorsQuery' InsightActorsQueryOptions: '#/components/schemas/InsightActorsQueryOptions' InsightVizNode: '#/components/schemas/InsightVizNode' LifecycleDataWarehouseNode: '#/components/schemas/LifecycleDataWarehouseNode' LifecycleQuery: '#/components/schemas/LifecycleQuery' LogAttributesQuery: '#/components/schemas/LogAttributesQuery' LogValuesQuery: '#/components/schemas/LogValuesQuery' LogsQuery: '#/components/schemas/LogsQuery' MarketingAnalyticsAggregatedQuery: '#/components/schemas/MarketingAnalyticsAggregatedQuery' MarketingAnalyticsTableQuery: '#/components/schemas/MarketingAnalyticsTableQuery' NonIntegratedConversionsTableQuery: '#/components/schemas/NonIntegratedConversionsTableQuery' PathsQuery: '#/components/schemas/PathsQuery' PersonsNode: '#/components/schemas/PersonsNode' PropertyValuesQuery: '#/components/schemas/PropertyValuesQuery' RecordingsQuery: '#/components/schemas/RecordingsQuery' RetentionQuery: '#/components/schemas/RetentionQuery' RevenueAnalyticsGrossRevenueQuery: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' RevenueAnalyticsMRRQuery: '#/components/schemas/RevenueAnalyticsMRRQuery' RevenueAnalyticsMetricsQuery: '#/components/schemas/RevenueAnalyticsMetricsQuery' RevenueAnalyticsOverviewQuery: '#/components/schemas/RevenueAnalyticsOverviewQuery' RevenueAnalyticsTopCustomersQuery: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' RevenueExampleDataWarehouseTablesQuery: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' RevenueExampleEventsQuery: '#/components/schemas/RevenueExampleEventsQuery' SavedInsightNode: '#/components/schemas/SavedInsightNode' SessionAttributionExplorerQuery: '#/components/schemas/SessionAttributionExplorerQuery' SessionsQuery: '#/components/schemas/SessionsQuery' SessionsTimelineQuery: '#/components/schemas/SessionsTimelineQuery' StickinessQuery: '#/components/schemas/StickinessQuery' SuggestedQuestionsQuery: '#/components/schemas/SuggestedQuestionsQuery' TeamTaxonomyQuery: '#/components/schemas/TeamTaxonomyQuery' TraceNeighborsQuery: '#/components/schemas/TraceNeighborsQuery' TraceQuery: '#/components/schemas/TraceQuery' TraceSpansQuery: '#/components/schemas/TraceSpansQuery' TracesQuery: '#/components/schemas/TracesQuery' TrendsQuery: '#/components/schemas/TrendsQuery' UsageMetricsQuery: '#/components/schemas/UsageMetricsQuery' VectorSearchQuery: '#/components/schemas/VectorSearchQuery' WebAnalyticsExternalSummaryQuery: '#/components/schemas/WebAnalyticsExternalSummaryQuery' WebExternalClicksTableQuery: '#/components/schemas/WebExternalClicksTableQuery' WebGoalsQuery: '#/components/schemas/WebGoalsQuery' WebNotableChangesQuery: '#/components/schemas/WebNotableChangesQuery' WebOverviewQuery: '#/components/schemas/WebOverviewQuery' WebPageURLSearchQuery: '#/components/schemas/WebPageURLSearchQuery' WebStatsTableQuery: '#/components/schemas/WebStatsTableQuery' WebVitalsPathBreakdownQuery: '#/components/schemas/WebVitalsPathBreakdownQuery' WebVitalsQuery: '#/components/schemas/WebVitalsQuery' propertyName: kind oneOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/PersonsNode' - $ref: '#/components/schemas/DataWarehouseNode' - $ref: '#/components/schemas/FunnelsDataWarehouseNode' - $ref: '#/components/schemas/LifecycleDataWarehouseNode' - $ref: '#/components/schemas/EventsQuery' - $ref: '#/components/schemas/SessionsQuery' - $ref: '#/components/schemas/ActorsQuery' - $ref: '#/components/schemas/GroupsQuery' - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/InsightActorsQueryOptions' - $ref: '#/components/schemas/SessionsTimelineQuery' - $ref: '#/components/schemas/HogQuery' - $ref: '#/components/schemas/HogQLQuery' - $ref: '#/components/schemas/HogQLMetadata' - $ref: '#/components/schemas/HogQLAutocomplete' - $ref: '#/components/schemas/SessionAttributionExplorerQuery' - $ref: '#/components/schemas/RevenueExampleEventsQuery' - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' - $ref: '#/components/schemas/ErrorTrackingQuery' - $ref: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' - $ref: '#/components/schemas/ErrorTrackingBreakdownsQuery' - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' - $ref: '#/components/schemas/ExperimentFunnelsQuery' - $ref: '#/components/schemas/ExperimentTrendsQuery' - $ref: '#/components/schemas/ExperimentQuery' - $ref: '#/components/schemas/ExperimentExposureQuery' - $ref: '#/components/schemas/DocumentSimilarityQuery' - $ref: '#/components/schemas/WebOverviewQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebExternalClicksTableQuery' - $ref: '#/components/schemas/WebGoalsQuery' - $ref: '#/components/schemas/WebVitalsQuery' - $ref: '#/components/schemas/WebVitalsPathBreakdownQuery' - $ref: '#/components/schemas/WebPageURLSearchQuery' - $ref: '#/components/schemas/WebAnalyticsExternalSummaryQuery' - $ref: '#/components/schemas/WebNotableChangesQuery' - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' - $ref: '#/components/schemas/RevenueAnalyticsMetricsQuery' - $ref: '#/components/schemas/RevenueAnalyticsMRRQuery' - $ref: '#/components/schemas/RevenueAnalyticsOverviewQuery' - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' - $ref: '#/components/schemas/MarketingAnalyticsTableQuery' - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQuery' - $ref: '#/components/schemas/NonIntegratedConversionsTableQuery' - $ref: '#/components/schemas/DataVisualizationNode' - $ref: '#/components/schemas/DataTableNode' - $ref: '#/components/schemas/SavedInsightNode' - $ref: '#/components/schemas/InsightVizNode' - $ref: '#/components/schemas/TrendsQuery' - $ref: '#/components/schemas/FunnelsQuery' - $ref: '#/components/schemas/RetentionQuery' - $ref: '#/components/schemas/PathsQuery' - $ref: '#/components/schemas/StickinessQuery' - $ref: '#/components/schemas/LifecycleQuery' - $ref: '#/components/schemas/FunnelCorrelationQuery' - $ref: '#/components/schemas/DatabaseSchemaQuery' - $ref: '#/components/schemas/RecordingsQuery' - $ref: '#/components/schemas/LogsQuery' - $ref: '#/components/schemas/LogAttributesQuery' - $ref: '#/components/schemas/LogValuesQuery' - $ref: '#/components/schemas/TraceSpansQuery' - $ref: '#/components/schemas/SuggestedQuestionsQuery' - $ref: '#/components/schemas/TeamTaxonomyQuery' - $ref: '#/components/schemas/EventTaxonomyQuery' - $ref: '#/components/schemas/ActorsPropertyTaxonomyQuery' - $ref: '#/components/schemas/TracesQuery' - $ref: '#/components/schemas/TraceQuery' - $ref: '#/components/schemas/TraceNeighborsQuery' - $ref: '#/components/schemas/VectorSearchQuery' - $ref: '#/components/schemas/UsageMetricsQuery' - $ref: '#/components/schemas/EndpointsUsageOverviewQuery' - $ref: '#/components/schemas/EndpointsUsageTableQuery' - $ref: '#/components/schemas/EndpointsUsageTrendsQuery' - $ref: '#/components/schemas/PropertyValuesQuery' title: Query required: - query title: QueryUpgradeRequest type: object QueryUpgradeResponse: additionalProperties: false properties: query: discriminator: mapping: ActionsNode: '#/components/schemas/ActionsNode' ActorsPropertyTaxonomyQuery: '#/components/schemas/ActorsPropertyTaxonomyQuery' ActorsQuery: '#/components/schemas/ActorsQuery' DataTableNode: '#/components/schemas/DataTableNode' DataVisualizationNode: '#/components/schemas/DataVisualizationNode' DataWarehouseNode: '#/components/schemas/DataWarehouseNode' DatabaseSchemaQuery: '#/components/schemas/DatabaseSchemaQuery' DocumentSimilarityQuery: '#/components/schemas/DocumentSimilarityQuery' EndpointsUsageOverviewQuery: '#/components/schemas/EndpointsUsageOverviewQuery' EndpointsUsageTableQuery: '#/components/schemas/EndpointsUsageTableQuery' EndpointsUsageTrendsQuery: '#/components/schemas/EndpointsUsageTrendsQuery' ErrorTrackingBreakdownsQuery: '#/components/schemas/ErrorTrackingBreakdownsQuery' ErrorTrackingIssueCorrelationQuery: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' ErrorTrackingQuery: '#/components/schemas/ErrorTrackingQuery' ErrorTrackingSimilarIssuesQuery: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' EventTaxonomyQuery: '#/components/schemas/EventTaxonomyQuery' EventsNode: '#/components/schemas/EventsNode' EventsQuery: '#/components/schemas/EventsQuery' ExperimentExposureQuery: '#/components/schemas/ExperimentExposureQuery' ExperimentFunnelsQuery: '#/components/schemas/ExperimentFunnelsQuery' ExperimentQuery: '#/components/schemas/ExperimentQuery' ExperimentTrendsQuery: '#/components/schemas/ExperimentTrendsQuery' FunnelCorrelationQuery: '#/components/schemas/FunnelCorrelationQuery' FunnelsDataWarehouseNode: '#/components/schemas/FunnelsDataWarehouseNode' FunnelsQuery: '#/components/schemas/FunnelsQuery' GroupsQuery: '#/components/schemas/GroupsQuery' HogQLAutocomplete: '#/components/schemas/HogQLAutocomplete' HogQLMetadata: '#/components/schemas/HogQLMetadata' HogQLQuery: '#/components/schemas/HogQLQuery' HogQuery: '#/components/schemas/HogQuery' InsightActorsQuery: '#/components/schemas/InsightActorsQuery' InsightActorsQueryOptions: '#/components/schemas/InsightActorsQueryOptions' InsightVizNode: '#/components/schemas/InsightVizNode' LifecycleDataWarehouseNode: '#/components/schemas/LifecycleDataWarehouseNode' LifecycleQuery: '#/components/schemas/LifecycleQuery' LogAttributesQuery: '#/components/schemas/LogAttributesQuery' LogValuesQuery: '#/components/schemas/LogValuesQuery' LogsQuery: '#/components/schemas/LogsQuery' MarketingAnalyticsAggregatedQuery: '#/components/schemas/MarketingAnalyticsAggregatedQuery' MarketingAnalyticsTableQuery: '#/components/schemas/MarketingAnalyticsTableQuery' NonIntegratedConversionsTableQuery: '#/components/schemas/NonIntegratedConversionsTableQuery' PathsQuery: '#/components/schemas/PathsQuery' PersonsNode: '#/components/schemas/PersonsNode' PropertyValuesQuery: '#/components/schemas/PropertyValuesQuery' RecordingsQuery: '#/components/schemas/RecordingsQuery' RetentionQuery: '#/components/schemas/RetentionQuery' RevenueAnalyticsGrossRevenueQuery: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' RevenueAnalyticsMRRQuery: '#/components/schemas/RevenueAnalyticsMRRQuery' RevenueAnalyticsMetricsQuery: '#/components/schemas/RevenueAnalyticsMetricsQuery' RevenueAnalyticsOverviewQuery: '#/components/schemas/RevenueAnalyticsOverviewQuery' RevenueAnalyticsTopCustomersQuery: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' RevenueExampleDataWarehouseTablesQuery: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' RevenueExampleEventsQuery: '#/components/schemas/RevenueExampleEventsQuery' SavedInsightNode: '#/components/schemas/SavedInsightNode' SessionAttributionExplorerQuery: '#/components/schemas/SessionAttributionExplorerQuery' SessionsQuery: '#/components/schemas/SessionsQuery' SessionsTimelineQuery: '#/components/schemas/SessionsTimelineQuery' StickinessQuery: '#/components/schemas/StickinessQuery' SuggestedQuestionsQuery: '#/components/schemas/SuggestedQuestionsQuery' TeamTaxonomyQuery: '#/components/schemas/TeamTaxonomyQuery' TraceNeighborsQuery: '#/components/schemas/TraceNeighborsQuery' TraceQuery: '#/components/schemas/TraceQuery' TraceSpansQuery: '#/components/schemas/TraceSpansQuery' TracesQuery: '#/components/schemas/TracesQuery' TrendsQuery: '#/components/schemas/TrendsQuery' UsageMetricsQuery: '#/components/schemas/UsageMetricsQuery' VectorSearchQuery: '#/components/schemas/VectorSearchQuery' WebAnalyticsExternalSummaryQuery: '#/components/schemas/WebAnalyticsExternalSummaryQuery' WebExternalClicksTableQuery: '#/components/schemas/WebExternalClicksTableQuery' WebGoalsQuery: '#/components/schemas/WebGoalsQuery' WebNotableChangesQuery: '#/components/schemas/WebNotableChangesQuery' WebOverviewQuery: '#/components/schemas/WebOverviewQuery' WebPageURLSearchQuery: '#/components/schemas/WebPageURLSearchQuery' WebStatsTableQuery: '#/components/schemas/WebStatsTableQuery' WebVitalsPathBreakdownQuery: '#/components/schemas/WebVitalsPathBreakdownQuery' WebVitalsQuery: '#/components/schemas/WebVitalsQuery' propertyName: kind oneOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/PersonsNode' - $ref: '#/components/schemas/DataWarehouseNode' - $ref: '#/components/schemas/FunnelsDataWarehouseNode' - $ref: '#/components/schemas/LifecycleDataWarehouseNode' - $ref: '#/components/schemas/EventsQuery' - $ref: '#/components/schemas/SessionsQuery' - $ref: '#/components/schemas/ActorsQuery' - $ref: '#/components/schemas/GroupsQuery' - $ref: '#/components/schemas/InsightActorsQuery' - $ref: '#/components/schemas/InsightActorsQueryOptions' - $ref: '#/components/schemas/SessionsTimelineQuery' - $ref: '#/components/schemas/HogQuery' - $ref: '#/components/schemas/HogQLQuery' - $ref: '#/components/schemas/HogQLMetadata' - $ref: '#/components/schemas/HogQLAutocomplete' - $ref: '#/components/schemas/SessionAttributionExplorerQuery' - $ref: '#/components/schemas/RevenueExampleEventsQuery' - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQuery' - $ref: '#/components/schemas/ErrorTrackingQuery' - $ref: '#/components/schemas/ErrorTrackingSimilarIssuesQuery' - $ref: '#/components/schemas/ErrorTrackingBreakdownsQuery' - $ref: '#/components/schemas/ErrorTrackingIssueCorrelationQuery' - $ref: '#/components/schemas/ExperimentFunnelsQuery' - $ref: '#/components/schemas/ExperimentTrendsQuery' - $ref: '#/components/schemas/ExperimentQuery' - $ref: '#/components/schemas/ExperimentExposureQuery' - $ref: '#/components/schemas/DocumentSimilarityQuery' - $ref: '#/components/schemas/WebOverviewQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebExternalClicksTableQuery' - $ref: '#/components/schemas/WebGoalsQuery' - $ref: '#/components/schemas/WebVitalsQuery' - $ref: '#/components/schemas/WebVitalsPathBreakdownQuery' - $ref: '#/components/schemas/WebPageURLSearchQuery' - $ref: '#/components/schemas/WebAnalyticsExternalSummaryQuery' - $ref: '#/components/schemas/WebNotableChangesQuery' - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQuery' - $ref: '#/components/schemas/RevenueAnalyticsMetricsQuery' - $ref: '#/components/schemas/RevenueAnalyticsMRRQuery' - $ref: '#/components/schemas/RevenueAnalyticsOverviewQuery' - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQuery' - $ref: '#/components/schemas/MarketingAnalyticsTableQuery' - $ref: '#/components/schemas/MarketingAnalyticsAggregatedQuery' - $ref: '#/components/schemas/NonIntegratedConversionsTableQuery' - $ref: '#/components/schemas/DataVisualizationNode' - $ref: '#/components/schemas/DataTableNode' - $ref: '#/components/schemas/SavedInsightNode' - $ref: '#/components/schemas/InsightVizNode' - $ref: '#/components/schemas/TrendsQuery' - $ref: '#/components/schemas/FunnelsQuery' - $ref: '#/components/schemas/RetentionQuery' - $ref: '#/components/schemas/PathsQuery' - $ref: '#/components/schemas/StickinessQuery' - $ref: '#/components/schemas/LifecycleQuery' - $ref: '#/components/schemas/FunnelCorrelationQuery' - $ref: '#/components/schemas/DatabaseSchemaQuery' - $ref: '#/components/schemas/RecordingsQuery' - $ref: '#/components/schemas/LogsQuery' - $ref: '#/components/schemas/LogAttributesQuery' - $ref: '#/components/schemas/LogValuesQuery' - $ref: '#/components/schemas/TraceSpansQuery' - $ref: '#/components/schemas/SuggestedQuestionsQuery' - $ref: '#/components/schemas/TeamTaxonomyQuery' - $ref: '#/components/schemas/EventTaxonomyQuery' - $ref: '#/components/schemas/ActorsPropertyTaxonomyQuery' - $ref: '#/components/schemas/TracesQuery' - $ref: '#/components/schemas/TraceQuery' - $ref: '#/components/schemas/TraceNeighborsQuery' - $ref: '#/components/schemas/VectorSearchQuery' - $ref: '#/components/schemas/UsageMetricsQuery' - $ref: '#/components/schemas/EndpointsUsageOverviewQuery' - $ref: '#/components/schemas/EndpointsUsageTableQuery' - $ref: '#/components/schemas/EndpointsUsageTrendsQuery' - $ref: '#/components/schemas/PropertyValuesQuery' title: Query required: - query title: QueryUpgradeResponse type: object RETENTION: additionalProperties: false properties: hideLineGraph: default: null title: Hidelinegraph type: boolean nullable: true hideSizeColumn: default: null title: Hidesizecolumn type: boolean nullable: true useSmallLayout: default: null title: Usesmalllayout type: boolean nullable: true title: RETENTION type: object ReasoningEffortEnum: enum: - low - medium - high - xhigh - max type: string description: '* `low` - low * `medium` - medium * `high` - high * `xhigh` - xhigh * `max` - max' RecomputeResult: type: object properties: run: $ref: '#/components/schemas/Run' counts_changed: type: boolean unresolved: type: integer ci_rerun_triggered: type: boolean ci_rerun_error: type: string nullable: true required: - ci_rerun_triggered - counts_changed - run - unresolved RecordingOrder: enum: - duration - recording_duration - inactive_seconds - active_seconds - start_time - console_error_count - click_count - keypress_count - mouse_activity_count - activity_score - recording_ttl title: RecordingOrder type: string RecordingOrderDirection: enum: - ASC - DESC title: RecordingOrderDirection type: string RecordingPropertyFilter: additionalProperties: false properties: key: anyOf: - $ref: '#/components/schemas/DurationType' - type: string title: Key label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: recording title: Type type: string enum: - recording value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: RecordingPropertyFilter type: object RecordingsQuery: additionalProperties: false properties: actions: default: null title: Actions items: additionalProperties: true type: object type: array nullable: true after: default: null description: Cursor for pagination. Contains the ordering value and session_id from the last record of the previous page. title: After type: string nullable: true comment_text: default: null allOf: - $ref: '#/components/schemas/RecordingPropertyFilter' nullable: true console_log_filters: default: null title: Console Log Filters items: $ref: '#/components/schemas/LogEntryPropertyFilter' type: array nullable: true date_from: default: -3d title: Date From type: string nullable: true date_to: default: null title: Date To type: string nullable: true distinct_ids: default: null title: Distinct Ids items: type: string type: array nullable: true events: default: null title: Events items: additionalProperties: true type: object type: array nullable: true filter_test_accounts: default: null title: Filter Test Accounts type: boolean nullable: true having_predicates: default: null title: Having Predicates items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: RecordingsQuery title: Kind type: string enum: - RecordingsQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true operand: default: AND allOf: - $ref: '#/components/schemas/FilterLogicalOperator' nullable: true order: default: start_time allOf: - $ref: '#/components/schemas/RecordingOrder' nullable: true order_direction: default: DESC description: Replay originally had all ordering as descending by specifying the field name, this runs counter to Django behavior where the field name specifies ascending sorting (e.g. the_field_name) and -the_field_name would indicate descending order to avoid invalidating or migrating all existing filters we keep DESC as the default or allow specification of an explicit order direction here allOf: - $ref: '#/components/schemas/RecordingOrderDirection' nullable: true person_uuid: default: null title: Person Uuid type: string nullable: true properties: default: null title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/RecordingsQueryResponse' nullable: true session_ids: default: null title: Session Ids items: type: string type: array nullable: true session_recording_id: default: null description: If provided, this recording will be fetched and prepended to the results, even if it doesn't match the filters title: Session Recording Id type: string nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true user_modified_filters: default: null title: User Modified Filters additionalProperties: true type: object nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: RecordingsQuery type: object RecordingsQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true has_next: title: Has Next type: boolean hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true next_cursor: default: null description: Cursor for the next page. Contains the ordering value and session_id from the last record. title: Next Cursor type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/SessionRecordingType' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - has_next - results title: RecordingsQueryResponse type: object RefreshType: enum: - async - async_except_on_cache_miss - blocking - force_async - force_blocking - force_cache - lazy_async title: RefreshType type: string ReorderTilesRequest: type: object properties: tile_order: type: array items: type: integer description: Array of tile IDs in the desired display order (top to bottom, left to right). minItems: 1 required: - tile_order Repo: type: object properties: id: type: string format: uuid team_id: type: integer repo_external_id: type: integer repo_full_name: type: string baseline_file_paths: type: object additionalProperties: type: string enable_pr_comments: type: boolean created_at: type: string format: date-time required: - baseline_file_paths - created_at - enable_pr_comments - id - repo_external_id - repo_full_name - team_id RepositoryReadinessResponse: type: object properties: repository: type: string description: Normalized repository identifier classification: type: string description: Repository classification excluded: type: boolean description: Whether the repository is excluded from readiness checks coreSuggestions: allOf: - $ref: '#/components/schemas/CapabilityState' description: Tracking capability state replayInsights: allOf: - $ref: '#/components/schemas/CapabilityState' description: Computer vision capability state errorInsights: allOf: - $ref: '#/components/schemas/CapabilityState' description: Error tracking capability state overall: type: string description: Overall readiness state evidenceTaskCount: type: integer description: Count of replay-derived evidence tasks windowDays: type: integer description: Lookback window in days generatedAt: type: string description: ISO timestamp when the response was generated cacheAgeSeconds: type: integer description: Age of cached response in seconds scan: allOf: - $ref: '#/components/schemas/ScanEvidence' description: Scan evidence details required: - cacheAgeSeconds - classification - coreSuggestions - errorInsights - evidenceTaskCount - excluded - generatedAt - overall - replayInsights - repository - windowDays ResetPasswordResponse: type: object properties: username: type: string password: type: string required: - password - username ResolvedDateRangeResponse: additionalProperties: false properties: date_from: format: date-time title: Date From type: string date_to: format: date-time title: Date To type: string required: - date_from - date_to title: ResolvedDateRangeResponse type: object Response: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: Response type: object Response1: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: title: Limit type: integer missing_actors_count: default: null title: Missing Actors Count type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: type: string type: array nullable: true required: - columns - hogql - limit - offset - results title: Response1 type: object Response10: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: Response10 type: object Response11: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response11 type: object Response12: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response12 type: object Response13: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsMRRQueryResultItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response13 type: object Response14: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsOverviewItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response14 type: object Response15: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response15 type: object Response16: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: Response16 type: object Response18: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: Response18 type: object Response19: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: additionalProperties: $ref: '#/components/schemas/MarketingAnalyticsItem' title: Results type: object samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response19 type: object Response2: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string kind: default: GroupsQuery title: Kind type: string enum: - GroupsQuery limit: title: Limit type: integer modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: title: Offset type: integer query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - limit - offset - results - types title: Response2 type: object Response20: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: $ref: '#/components/schemas/MarketingAnalyticsItem' type: array title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: Response20 type: object Response21: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response21 type: object Response22: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/ErrorTrackingCorrelatedIssue' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response22 type: object Response23: additionalProperties: false properties: credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object expected_loss: title: Expected Loss type: number funnels_query: default: null allOf: - $ref: '#/components/schemas/FunnelsQuery' nullable: true insight: items: items: additionalProperties: true type: object type: array title: Insight type: array kind: default: ExperimentFunnelsQuery title: Kind type: string enum: - ExperimentFunnelsQuery probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantFunnelsBaseStats' title: Variants type: array required: - credible_intervals - expected_loss - insight - probability - significance_code - significant - variants title: Response23 type: object Response24: additionalProperties: false properties: count_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true credible_intervals: additionalProperties: items: type: number type: array title: Credible Intervals type: object exposure_query: default: null allOf: - $ref: '#/components/schemas/TrendsQuery' nullable: true insight: items: additionalProperties: true type: object title: Insight type: array kind: default: ExperimentTrendsQuery title: Kind type: string enum: - ExperimentTrendsQuery p_value: title: P Value type: number probability: additionalProperties: type: number title: Probability type: object significance_code: $ref: '#/components/schemas/ExperimentSignificanceCode' significant: title: Significant type: boolean stats_version: default: null title: Stats Version type: integer nullable: true variants: items: $ref: '#/components/schemas/ExperimentVariantTrendsBaseStats' title: Variants type: array required: - credible_intervals - insight - p_value - probability - significance_code - significant - variants title: Response24 type: object Response25: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LLMTrace' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response25 type: object Response26: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: Response26 type: object Response3: additionalProperties: false properties: clickhouse: default: null description: Executed ClickHouse query title: Clickhouse type: string nullable: true columns: default: null description: Returned columns title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true explain: default: null description: Query explanation output title: Explain items: type: string type: array nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true metadata: default: null description: Query metadata output allOf: - $ref: '#/components/schemas/HogQLMetadataResponse' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query: default: null description: Input query string title: Query type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null description: Types of returned columns title: Types items: {} type: array nullable: true required: - results title: Response3 type: object Response4: additionalProperties: false properties: dateFrom: default: null title: Datefrom type: string nullable: true dateTo: default: null title: Dateto type: string nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebOverviewItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: Response4 type: object Response5: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: Response5 type: object Response6: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: Response6 type: object Response8: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResult' maxItems: 1 minItems: 1 title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: Response8 type: object Response9: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: Response9 type: object ResponseSamplingIntervalTypeEnum: enum: - day - week - month type: string description: '* `day` - day * `week` - week * `month` - month' RestrictionLevelEnum: enum: - 21 - 37 type: integer description: '* `21` - Everyone in the project can edit * `37` - Only those invited to this dashboard can edit' ResultCustomizationBy: enum: - value - position title: ResultCustomizationBy type: string ResultCustomizationByPosition: additionalProperties: false properties: assignmentBy: default: position title: Assignmentby type: string enum: - position color: default: null allOf: - $ref: '#/components/schemas/DataColorToken' nullable: true hidden: default: null title: Hidden type: boolean nullable: true title: ResultCustomizationByPosition type: object ResultCustomizationByValue: additionalProperties: false properties: assignmentBy: default: value title: Assignmentby type: string enum: - value color: default: null allOf: - $ref: '#/components/schemas/DataColorToken' nullable: true hidden: default: null title: Hidden type: boolean nullable: true title: ResultCustomizationByValue type: object Results: additionalProperties: false properties: total_count: title: Total Count type: number values: items: $ref: '#/components/schemas/BreakdownValue' title: Values type: array required: - total_count - values title: Results type: object RetentionDashboardDisplayType: enum: - table_only - graph_only - all title: RetentionDashboardDisplayType type: string RetentionEntity: additionalProperties: false properties: aggregation_target_field: default: null description: Data warehouse field used as the actor identifier title: Aggregation Target Field type: string nullable: true custom_name: default: null title: Custom Name type: string nullable: true id: default: null title: Id anyOf: - type: string - type: number nullable: true kind: default: null allOf: - $ref: '#/components/schemas/RetentionEntityKind' nullable: true name: default: null title: Name type: string nullable: true order: default: null title: Order type: integer nullable: true properties: default: null description: filters on the event title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true table_name: default: null description: Data warehouse table name title: Table Name type: string nullable: true timestamp_field: default: null description: Data warehouse timestamp field title: Timestamp Field type: string nullable: true type: default: null allOf: - $ref: '#/components/schemas/EntityType' nullable: true uuid: default: null title: Uuid type: string nullable: true title: RetentionEntity type: object RetentionEntityKind: enum: - ActionsNode - EventsNode title: RetentionEntityKind type: string RetentionFilter: additionalProperties: false properties: aggregationProperty: default: null description: The property to aggregate when aggregationType is sum or avg title: Aggregationproperty type: string nullable: true aggregationPropertyType: default: event description: The type of property to aggregate on (event or person). Defaults to event. allOf: - $ref: '#/components/schemas/AggregationPropertyType' nullable: true aggregationType: default: count description: The aggregation type to use for retention allOf: - $ref: '#/components/schemas/AggregationType' nullable: true cumulative: default: null title: Cumulative type: boolean nullable: true customAggregationTarget: default: null description: For data warehouse based retention insights when the aggregation target can't be mapped to persons or groups. title: Customaggregationtarget type: boolean nullable: true dashboardDisplay: default: null allOf: - $ref: '#/components/schemas/RetentionDashboardDisplayType' nullable: true display: default: null description: controls the display of the retention graph allOf: - $ref: '#/components/schemas/ChartDisplayType' nullable: true goalLines: default: null title: Goallines items: $ref: '#/components/schemas/GoalLine' type: array nullable: true meanRetentionCalculation: default: null allOf: - $ref: '#/components/schemas/MeanRetentionCalculation' nullable: true minimumOccurrences: default: null title: Minimumoccurrences type: integer nullable: true period: default: Day allOf: - $ref: '#/components/schemas/RetentionPeriod' nullable: true retentionCustomBrackets: default: null description: Custom brackets for retention calculations title: Retentioncustombrackets items: type: number type: array nullable: true retentionReference: default: null description: Whether retention is with regard to initial cohort size, or that of the previous period. allOf: - $ref: '#/components/schemas/RetentionReference' nullable: true retentionType: default: null allOf: - $ref: '#/components/schemas/RetentionType' nullable: true returningEntity: default: null allOf: - $ref: '#/components/schemas/RetentionEntity' nullable: true selectedInterval: default: null description: The selected interval to display across all cohorts (null = show all intervals for each cohort) title: Selectedinterval type: integer nullable: true showTrendLines: default: null title: Showtrendlines type: boolean nullable: true targetEntity: default: null allOf: - $ref: '#/components/schemas/RetentionEntity' nullable: true timeWindowMode: default: null description: The time window mode to use for retention calculations allOf: - $ref: '#/components/schemas/TimeWindowMode' nullable: true totalIntervals: default: 8 title: Totalintervals type: integer nullable: true title: RetentionFilter type: object RetentionPeriod: enum: - Hour - Day - Week - Month title: RetentionPeriod type: string RetentionQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation title: Aggregation Group Type Index type: integer nullable: true breakdownFilter: default: null description: Breakdown of the events and actions allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true kind: default: RetentionQuery title: Kind type: string enum: - RetentionQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/RetentionQueryResponse' nullable: true retentionFilter: description: Properties specific to the retention insight allOf: - $ref: '#/components/schemas/RetentionFilter' samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - retentionFilter title: RetentionQuery type: object RetentionQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RetentionResult' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: RetentionQueryResponse type: object RetentionReference: enum: - total - previous title: RetentionReference type: string RetentionResult: additionalProperties: false properties: breakdown_value: default: null description: Optional breakdown value for retention cohorts title: Breakdown Value anyOf: - type: string - type: number nullable: true date: format: date-time title: Date type: string label: title: Label type: string values: items: $ref: '#/components/schemas/RetentionValue' title: Values type: array required: - date - label - values title: RetentionResult type: object RetentionType: enum: - retention_recurring - retention_first_time - retention_first_ever_occurrence title: RetentionType type: string RetentionValue: additionalProperties: false properties: aggregation_value: default: null title: Aggregation Value type: number nullable: true count: title: Count type: number label: default: null title: Label type: string nullable: true required: - count title: RetentionValue type: object RevenueAnalyticsBreakdown: additionalProperties: false properties: property: title: Property type: string type: default: revenue_analytics title: Type type: string enum: - revenue_analytics required: - property title: RevenueAnalyticsBreakdown type: object RevenueAnalyticsGrossRevenueQuery: additionalProperties: false properties: breakdown: items: $ref: '#/components/schemas/RevenueAnalyticsBreakdown' title: Breakdown type: array dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true interval: $ref: '#/components/schemas/SimpleIntervalType' kind: default: RevenueAnalyticsGrossRevenueQuery title: Kind type: string enum: - RevenueAnalyticsGrossRevenueQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/RevenueAnalyticsGrossRevenueQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - breakdown - interval - properties title: RevenueAnalyticsGrossRevenueQuery type: object RevenueAnalyticsGrossRevenueQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: RevenueAnalyticsGrossRevenueQueryResponse type: object RevenueAnalyticsMRRQuery: additionalProperties: false properties: breakdown: items: $ref: '#/components/schemas/RevenueAnalyticsBreakdown' title: Breakdown type: array dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true interval: $ref: '#/components/schemas/SimpleIntervalType' kind: default: RevenueAnalyticsMRRQuery title: Kind type: string enum: - RevenueAnalyticsMRRQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/RevenueAnalyticsMRRQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - breakdown - interval - properties title: RevenueAnalyticsMRRQuery type: object RevenueAnalyticsMRRQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsMRRQueryResultItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: RevenueAnalyticsMRRQueryResponse type: object RevenueAnalyticsMRRQueryResultItem: additionalProperties: false properties: churn: title: Churn contraction: title: Contraction expansion: title: Expansion new: title: New total: title: Total required: - churn - contraction - expansion - new - total title: RevenueAnalyticsMRRQueryResultItem type: object RevenueAnalyticsMetricsQuery: additionalProperties: false properties: breakdown: items: $ref: '#/components/schemas/RevenueAnalyticsBreakdown' title: Breakdown type: array dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true interval: $ref: '#/components/schemas/SimpleIntervalType' kind: default: RevenueAnalyticsMetricsQuery title: Kind type: string enum: - RevenueAnalyticsMetricsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/RevenueAnalyticsMetricsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - breakdown - interval - properties title: RevenueAnalyticsMetricsQuery type: object RevenueAnalyticsMetricsQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: RevenueAnalyticsMetricsQueryResponse type: object RevenueAnalyticsOverviewItem: additionalProperties: false properties: key: $ref: '#/components/schemas/RevenueAnalyticsOverviewItemKey' value: title: Value type: number required: - key - value title: RevenueAnalyticsOverviewItem type: object RevenueAnalyticsOverviewItemKey: enum: - revenue - paying_customer_count - avg_revenue_per_customer title: RevenueAnalyticsOverviewItemKey type: string RevenueAnalyticsOverviewQuery: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true kind: default: RevenueAnalyticsOverviewQuery title: Kind type: string enum: - RevenueAnalyticsOverviewQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/RevenueAnalyticsOverviewQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: RevenueAnalyticsOverviewQuery type: object RevenueAnalyticsOverviewQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/RevenueAnalyticsOverviewItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: RevenueAnalyticsOverviewQueryResponse type: object RevenueAnalyticsPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: revenue_analytics title: Type type: string enum: - revenue_analytics value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: RevenueAnalyticsPropertyFilter type: object RevenueAnalyticsTopCustomersGroupBy: enum: - month - all title: RevenueAnalyticsTopCustomersGroupBy type: string RevenueAnalyticsTopCustomersQuery: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true groupBy: $ref: '#/components/schemas/RevenueAnalyticsTopCustomersGroupBy' kind: default: RevenueAnalyticsTopCustomersQuery title: Kind type: string enum: - RevenueAnalyticsTopCustomersQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: type: array items: $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/RevenueAnalyticsTopCustomersQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - groupBy - properties title: RevenueAnalyticsTopCustomersQuery type: object RevenueAnalyticsTopCustomersQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: RevenueAnalyticsTopCustomersQueryResponse type: object RevenueCurrencyPropertyConfig: additionalProperties: false properties: property: default: null title: Property type: string nullable: true static: default: null allOf: - $ref: '#/components/schemas/CurrencyCode' nullable: true title: RevenueCurrencyPropertyConfig type: object RevenueExampleDataWarehouseTablesQuery: additionalProperties: false properties: kind: default: RevenueExampleDataWarehouseTablesQuery title: Kind type: string enum: - RevenueExampleDataWarehouseTablesQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/RevenueExampleDataWarehouseTablesQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: RevenueExampleDataWarehouseTablesQuery type: object RevenueExampleDataWarehouseTablesQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: RevenueExampleDataWarehouseTablesQueryResponse type: object RevenueExampleEventsQuery: additionalProperties: false properties: kind: default: RevenueExampleEventsQuery title: Kind type: string enum: - RevenueExampleEventsQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/RevenueExampleEventsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: RevenueExampleEventsQuery type: object RevenueExampleEventsQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: RevenueExampleEventsQueryResponse type: object ReviewQueue: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true description: Human-readable queue name. pending_item_count: type: integer readOnly: true description: Number of pending traces currently assigned to this queue. created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: User who created this review queue. team: type: integer readOnly: true required: - created_at - created_by - id - name - pending_item_count - team - updated_at ReviewQueueCreate: type: object properties: name: type: string description: Human-readable queue name. maxLength: 255 required: - name ReviewQueueItem: type: object properties: id: type: string format: uuid readOnly: true queue_id: type: string format: uuid readOnly: true description: Review queue ID that currently owns this pending trace. queue_name: type: string readOnly: true description: Human-readable name of the queue that currently owns this pending trace. trace_id: type: string readOnly: true description: Trace ID currently pending review. created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: User who queued this trace. team: type: integer readOnly: true required: - created_at - created_by - id - queue_id - queue_name - team - trace_id - updated_at ReviewQueueItemCreate: type: object properties: queue_id: type: string format: uuid description: Review queue ID that should own this pending trace. trace_id: type: string description: Trace ID to add to the selected review queue. maxLength: 255 required: - queue_id - trace_id ReviewStateCounts: type: object properties: needs_review: type: integer clean: type: integer processing: type: integer stale: type: integer required: - clean - needs_review - processing - stale Role: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 200 created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true members: type: array items: type: object additionalProperties: true description: Members assigned to this role readOnly: true is_default: type: boolean readOnly: true required: - created_at - created_by - id - is_default - members - name RoleAtOrganizationEnum: enum: - engineering - data - product - founder - leadership - marketing - sales - other type: string description: '* `engineering` - Engineering * `data` - Data * `product` - Product Management * `founder` - Founder * `leadership` - Leadership * `marketing` - Marketing * `sales` - Sales / Success * `other` - Other' RoleExternalReference: type: object properties: id: type: string format: uuid readOnly: true provider: type: string description: Integration kind (e.g., github, linear, jira, slack). maxLength: 32 provider_organization_id: type: string description: Provider organization/workspace/site identifier. maxLength: 255 provider_role_id: type: string description: Stable provider role identifier. maxLength: 255 provider_role_slug: type: string nullable: true description: Human-friendly provider role identifier. maxLength: 255 provider_role_name: type: string description: Display name of the provider role. maxLength: 255 role: type: string format: uuid description: PostHog role UUID this external role maps to. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true required: - created_at - created_by - id - provider - provider_organization_id - provider_role_id - provider_role_name - role RoleLookupResponse: type: object properties: reference: allOf: - $ref: '#/components/schemas/RoleExternalReference' nullable: true description: Matching reference, or null if none exists. required: - reference RoleMembership: type: object properties: id: type: string format: uuid readOnly: true role_id: type: string format: uuid readOnly: true organization_member: allOf: - $ref: '#/components/schemas/OrganizationMember' readOnly: true user: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true joined_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true user_uuid: type: string format: uuid writeOnly: true required: - id - joined_at - organization_member - role_id - updated_at - user - user_uuid RuleTypeEnum: enum: - severity_sampling - path_drop - rate_limit type: string description: '* `severity_sampling` - Severity-based reduction * `path_drop` - Path exclusion * `rate_limit` - Rate limit' Run: type: object properties: approved_by: allOf: - $ref: '#/components/schemas/UserBasicInfo' nullable: true id: type: string format: uuid repo_id: type: string format: uuid status: type: string run_type: type: string commit_sha: type: string branch: type: string pr_number: type: integer nullable: true approved: type: boolean approved_at: type: string format: date-time nullable: true summary: $ref: '#/components/schemas/RunSummary' error_message: type: string nullable: true created_at: type: string format: date-time completed_at: type: string format: date-time nullable: true is_stale: type: boolean superseded_by_id: type: string format: uuid nullable: true metadata: type: object additionalProperties: true required: - approved - approved_at - branch - commit_sha - completed_at - created_at - error_message - id - pr_number - repo_id - run_type - status - summary RunInsightsResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/DashboardTileResult' description: Results for each insight tile on the dashboard. required: - results RunSourceEnum: enum: - manual - signal_report type: string description: '* `manual` - manual * `signal_report` - signal_report' RunSummary: type: object properties: total: type: integer changed: type: integer new: type: integer removed: type: integer unchanged: type: integer unresolved: type: integer tolerated_matched: type: integer required: - changed - new - removed - total - unchanged RuntimeAdapterEnum: enum: - claude - codex type: string description: '* `claude` - claude * `codex` - codex' S3PresignedPost: type: object properties: url: type: string format: uri description: Presigned S3 POST URL fields: type: object additionalProperties: type: string description: Form fields that must be submitted verbatim with the file upload required: - fields - url SampleRatioMismatch: additionalProperties: false properties: expected: additionalProperties: type: number title: Expected type: object p_value: title: P Value type: number required: - expected - p_value title: SampleRatioMismatch type: object SamplingRate: additionalProperties: false properties: denominator: default: null title: Denominator type: number nullable: true numerator: title: Numerator type: number required: - numerator title: SamplingRate type: object SandboxEnvironment: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 network_access_level: $ref: '#/components/schemas/NetworkAccessLevelEnum' allowed_domains: type: array items: type: string maxLength: 255 description: List of allowed domains for custom network access include_default_domains: type: boolean description: Whether to include default trusted domains (GitHub, npm, PyPI) repositories: type: array items: type: string maxLength: 255 description: 'List of repositories this environment applies to (format: org/repo)' environment_variables: writeOnly: true description: Encrypted environment variables (write-only, never returned in responses) has_environment_variables: type: boolean readOnly: true description: Whether this environment has any environment variables set private: type: boolean description: If true, only the creator can see this environment. Otherwise visible to whole team. internal: type: boolean readOnly: true description: If true, this environment is for internal use (e.g. signals pipeline) and should not be exposed to end users. effective_domains: type: array items: type: string readOnly: true description: Computed domain allowlist based on network_access_level and allowed_domains created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - created_by - effective_domains - has_environment_variables - id - internal - name - updated_at SandboxEnvironmentList: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 network_access_level: $ref: '#/components/schemas/NetworkAccessLevelEnum' allowed_domains: type: array items: type: string maxLength: 255 description: List of allowed domains for custom network access repositories: type: array items: type: string maxLength: 255 description: 'List of repositories this environment applies to (format: org/repo)' private: type: boolean description: If true, only the creator can see this environment. Otherwise visible to whole team. internal: type: boolean description: If true, this environment is for internal use (e.g. signals pipeline) and should not be exposed to end users. created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - created_by - id - name - updated_at SavedInsightNode: additionalProperties: false properties: allowSorting: default: null description: 'Can the user click on column headers to sort the table? (default: true)' title: Allowsorting type: boolean nullable: true context: default: null description: Context for the table, used by components like ColumnConfigurator allOf: - $ref: '#/components/schemas/DataTableNodeViewPropsContext' nullable: true contextKey: default: null description: Context key for universal column configuration (e.g., "survey:123") title: Contextkey type: string nullable: true defaultColumns: default: null description: Default columns to use when resetting column configuration title: Defaultcolumns items: type: string type: array nullable: true embedded: default: null description: Query is embedded inside another bordered component title: Embedded type: boolean nullable: true expandable: default: null description: 'Can expand row to show raw event data (default: true)' title: Expandable type: boolean nullable: true full: default: null description: Show with most visual options enabled. Used in insight scene. title: Full type: boolean nullable: true hidePersonsModal: default: null title: Hidepersonsmodal type: boolean nullable: true hideTooltipOnScroll: default: null title: Hidetooltiponscroll type: boolean nullable: true kind: default: SavedInsightNode title: Kind type: string enum: - SavedInsightNode propertiesViaUrl: default: null description: 'Link properties via the URL (default: false)' title: Propertiesviaurl type: boolean nullable: true shortId: title: Shortid type: string showActions: default: null description: Show the kebab menu at the end of the row title: Showactions type: boolean nullable: true showColumnConfigurator: default: null description: Show a button to configure the table's columns if possible title: Showcolumnconfigurator type: boolean nullable: true showCorrelationTable: default: null title: Showcorrelationtable type: boolean nullable: true showCount: default: null description: Show count of total and filtered results title: Showcount type: boolean nullable: true showDateRange: default: null description: Show date range selector title: Showdaterange type: boolean nullable: true showElapsedTime: default: null description: Show the time it takes to run a query title: Showelapsedtime type: boolean nullable: true showEventFilter: default: null description: Include an event filter above the table (EventsNode only) title: Showeventfilter type: boolean nullable: true showEventsFilter: default: null description: Include an events filter above the table to filter by multiple events (EventsQuery only) title: Showeventsfilter type: boolean nullable: true showExport: default: null description: Show the export button title: Showexport type: boolean nullable: true showFilters: default: null title: Showfilters type: boolean nullable: true showHeader: default: null title: Showheader type: boolean nullable: true showHogQLEditor: default: null description: Include a HogQL query editor above HogQL tables title: Showhogqleditor type: boolean nullable: true showLastComputation: default: null title: Showlastcomputation type: boolean nullable: true showLastComputationRefresh: default: null title: Showlastcomputationrefresh type: boolean nullable: true showOpenEditorButton: default: null description: 'Show a button to open the current query as a new insight. (default: true)' title: Showopeneditorbutton type: boolean nullable: true showPersistentColumnConfigurator: default: null description: Show a button to configure and persist the table's default columns if possible title: Showpersistentcolumnconfigurator type: boolean nullable: true showPropertyFilter: default: null description: Include a property filter above the table title: Showpropertyfilter anyOf: - type: boolean - items: $ref: '#/components/schemas/TaxonomicFilterGroupType' type: array nullable: true showRecordingColumn: default: null description: Show a recording column for events with session recordings title: Showrecordingcolumn type: boolean nullable: true showReload: default: null description: Show a reload button title: Showreload type: boolean nullable: true showResults: default: null title: Showresults type: boolean nullable: true showResultsTable: default: null description: Show a results table title: Showresultstable type: boolean nullable: true showSavedFilters: default: null description: Show saved filters feature for this table (requires uniqueKey) title: Showsavedfilters type: boolean nullable: true showSavedQueries: default: null description: Shows a list of saved queries title: Showsavedqueries type: boolean nullable: true showSearch: default: null description: Include a free text search field (PersonsNode only) title: Showsearch type: boolean nullable: true showSourceQueryOptions: default: null description: Show actors query options and back to source title: Showsourcequeryoptions type: boolean nullable: true showTable: default: null title: Showtable type: boolean nullable: true showTableViews: default: null description: Show table views feature for this table (requires uniqueKey) title: Showtableviews type: boolean nullable: true showTestAccountFilters: default: null description: Show filter to exclude test accounts title: Showtestaccountfilters type: boolean nullable: true showTimings: default: null description: Show a detailed query timing breakdown title: Showtimings type: boolean nullable: true suppressSessionAnalysisWarning: default: null title: Suppresssessionanalysiswarning type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true vizSpecificOptions: default: null allOf: - $ref: '#/components/schemas/VizSpecificOptions' nullable: true required: - shortId title: SavedInsightNode type: object SavedQueryStatusEnum: enum: - Cancelled - Modified - Completed - Failed - Running type: string description: '* `Cancelled` - Cancelled * `Modified` - Modified * `Completed` - Completed * `Failed` - Failed * `Running` - Running' Scale: enum: - linear - logarithmic title: Scale type: string ScanEvidence: type: object properties: filesScanned: type: integer description: Number of files scanned detectedFilesCount: type: integer description: Total candidate files detected eventNameCount: type: integer description: Number of distinct event names found foundPosthogInit: type: boolean description: Whether posthog.init() was found in scanned files foundPosthogCapture: type: boolean description: Whether posthog.capture() was found in scanned files foundErrorSignal: type: boolean description: Whether error tracking signals were found in scanned files required: - detectedFilesCount - eventNameCount - filesScanned - foundErrorSignal - foundPosthogCapture - foundPosthogInit ScenePersonalisationBasic: type: object properties: scene: type: string maxLength: 200 dashboard: type: integer nullable: true required: - scene ScheduleEnum: enum: - once - recurring - always type: string description: '* `once` - once * `recurring` - recurring * `always` - always' SchemaPropertyGroup: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string properties: type: array items: $ref: '#/components/schemas/SchemaPropertyGroupProperty' events: type: array items: $ref: '#/components/schemas/EventDefinitionBasic' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true required: - created_at - created_by - events - id - name - updated_at SchemaPropertyGroupProperty: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 property_type: $ref: '#/components/schemas/SchemaPropertyGroupPropertyPropertyTypeEnum' is_required: type: boolean is_optional_in_types: type: boolean description: type: string created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - id - name - property_type - updated_at SchemaPropertyGroupPropertyPropertyTypeEnum: enum: - DateTime - String - Numeric - Boolean - Object type: string description: '* `DateTime` - DateTime * `String` - String * `Numeric` - Numeric * `Boolean` - Boolean * `Object` - Object' ScoreDefinition: type: object properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true description: type: string readOnly: true kind: allOf: - $ref: '#/components/schemas/ExperimentMetricKindEnum' readOnly: true archived: type: boolean readOnly: true current_version: type: integer readOnly: true description: Current immutable configuration version number. config: allOf: - $ref: '#/components/schemas/ScoreDefinitionConfig' readOnly: true description: Current immutable scorer configuration. created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true nullable: true description: User who created the scorer. created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true team: type: integer readOnly: true required: - archived - config - created_at - created_by - current_version - description - id - kind - name - team - updated_at ScoreDefinitionConfig: oneOf: - $ref: '#/components/schemas/CategoricalScoreDefinitionConfig' - $ref: '#/components/schemas/NumericScoreDefinitionConfig' - $ref: '#/components/schemas/BooleanScoreDefinitionConfig' ScoreDefinitionCreate: type: object properties: name: type: string description: Human-readable scorer name. maxLength: 255 description: type: string nullable: true description: Optional human-readable description. kind: allOf: - $ref: '#/components/schemas/ExperimentMetricKindEnum' description: 'Scorer kind. This cannot be changed after creation. * `categorical` - categorical * `numeric` - numeric * `boolean` - boolean' archived: type: boolean default: false description: New scorers are always created as active. config: allOf: - $ref: '#/components/schemas/ScoreDefinitionConfig' description: Initial immutable scorer configuration. required: - config - kind - name ScoreDefinitionNewVersion: type: object properties: config: allOf: - $ref: '#/components/schemas/ScoreDefinitionConfig' description: Next immutable scorer configuration. required: - config SdkAssessment: type: object properties: lib: type: string description: SDK identifier, e.g. 'web', 'posthog-python', 'posthog-node', 'posthog-ios'. readable_name: type: string description: Human-readable SDK name matching the SDK Doctor UI (e.g. 'Python', 'Node.js', 'Web', 'iOS'). latest_version: type: string description: Most recent published version of this SDK. needs_updating: type: boolean description: True if this SDK needs attention (is_outdated OR is_old). is_outdated: type: boolean description: True if the primary in-use version is flagged as outdated. is_old: type: boolean description: True if the primary in-use version is flagged as old by age alone. severity: allOf: - $ref: '#/components/schemas/SdkAssessmentSeverityEnum' description: 'UI severity badge — ''none'' when healthy, ''warning'' when outdated, ''danger'' when the majority of team SDKs are outdated. * `none` - none * `warning` - warning * `danger` - danger' reason: type: string description: Per-SDK programmatic summary (used for ranking/filtering). For user-facing copy, prefer releases[].status_reason (badge tooltip) and banners (top-level alert text) — those match the UI exactly. banners: type: array items: type: string description: Top-level alert sentences matching the SDK Doctor UI's 'Time for an update!' banner — one per outdated version with significant traffic. Quote verbatim when surfacing the headline to users. releases: type: array items: $ref: '#/components/schemas/SdkReleaseAssessment' description: Per-version assessment for all versions seen in the last 7 days. outdated_traffic_alerts: type: array items: $ref: '#/components/schemas/OutdatedTrafficAlert' description: Outdated versions that handle a significant share of traffic (above the threshold). Not populated for mobile SDKs. required: - banners - is_old - is_outdated - latest_version - lib - needs_updating - outdated_traffic_alerts - readable_name - reason - releases - severity SdkAssessmentSeverityEnum: enum: - none - warning - danger type: string description: '* `none` - none * `warning` - warning * `danger` - danger' SdkHealthReport: type: object properties: overall_health: allOf: - $ref: '#/components/schemas/OverallHealthEnum' description: '''healthy'' when no SDKs need updating, ''needs_attention'' otherwise. * `healthy` - healthy * `needs_attention` - needs_attention' health: allOf: - $ref: '#/components/schemas/HealthEnum' description: 'UI-level status — ''success'' when healthy, ''warning'' when some SDKs are outdated, ''danger'' when the majority are outdated. * `success` - success * `warning` - warning * `danger` - danger' needs_updating_count: type: integer description: Number of SDKs that need updating. team_sdk_count: type: integer description: Number of distinct PostHog SDKs the project is actively using. sdks: type: array items: $ref: '#/components/schemas/SdkAssessment' description: Per-SDK health assessments. required: - health - needs_updating_count - overall_health - sdks - team_sdk_count SdkReleaseAssessment: type: object properties: version: type: string description: In-use SDK version string, e.g. '1.298.0'. count: type: integer description: Number of events captured with this version in the last 7 days. max_timestamp: type: string description: Timestamp of the most recent event seen for this version (ISO 8601). release_date: type: string nullable: true description: When this version was published on GitHub (ISO 8601), or null if unknown. days_since_release: type: integer nullable: true description: Days since this version was released, or null if unknown. released_ago: type: string nullable: true description: Human-readable relative release age matching the UI (e.g. '5 months ago'). Null when release_date is unknown. is_outdated: type: boolean description: True when this version is flagged as outdated by smart-semver rules. is_old: type: boolean description: True when this version is flagged as old by age alone (separate from semver rules). needs_updating: type: boolean description: True if is_outdated OR is_old. is_current_or_newer: type: boolean description: True when this version equals or exceeds the latest known published version. status_reason: type: string description: 'Per-version badge tooltip text matching the SDK Doctor UI exactly. Quote verbatim when reporting to users. Varies by state: ''Released X ago. Upgrade recommended.'' for outdated versions, ''You have the latest available. Click Releases above to check for any since.'' for current versions, or ''Released X ago. Upgrading is a good idea, but it''s not urgent yet.'' for recent-but-behind versions.' sql_query: type: string description: SQL SELECT statement for drilling into events for this SDK version over the last 7 days. Suitable to pass to the execute-sql tool or to display as a copy-paste snippet. activity_page_url: type: string description: Relative URL path (starting with /project/{id}/) for the Activity > Explore page pre-filtered to events captured with this lib and lib_version over the last 7 days. Combine with the user's PostHog host (e.g. us.posthog.com) for a clickable link. required: - activity_page_url - count - days_since_release - is_current_or_newer - is_old - is_outdated - max_timestamp - needs_updating - release_date - released_ago - sql_query - status_reason - version SelectionModeEnum: enum: - single - multiple type: string description: '* `single` - single * `multiple` - multiple' SentimentBatchResponse: type: object properties: results: type: object additionalProperties: $ref: '#/components/schemas/SentimentResult' required: - results SentimentRequest: type: object properties: ids: type: array items: type: string description: Trace IDs or generation IDs to classify, depending on analysis_level. maxItems: 5 minItems: 1 analysis_level: allOf: - $ref: '#/components/schemas/SentimentRequestAnalysisLevelEnum' default: trace description: 'Whether the IDs are ''trace'' IDs or ''generation'' IDs. * `trace` - trace * `generation` - generation' force_refresh: type: boolean default: false description: If true, bypass cache and reclassify. date_from: type: string nullable: true description: Start of date range for the lookup (e.g. '-7d' or '2026-01-01'). Defaults to -30d. date_to: type: string nullable: true description: End of date range for the lookup. Defaults to now. required: - ids SentimentRequestAnalysisLevelEnum: enum: - trace - generation type: string description: '* `trace` - trace * `generation` - generation' SentimentResult: type: object properties: label: type: string score: type: number format: double scores: type: object additionalProperties: type: number format: double messages: type: object additionalProperties: $ref: '#/components/schemas/MessageSentiment' message_count: type: integer required: - label - message_count - messages - score - scores Series: additionalProperties: false properties: label: title: Label type: string value: title: Value type: integer required: - label - value title: Series type: object SessionAttributionExplorerQuery: additionalProperties: false properties: filters: default: null allOf: - $ref: '#/components/schemas/Filters' nullable: true groupBy: items: $ref: '#/components/schemas/SessionAttributionGroupBy' title: Groupby type: array kind: default: SessionAttributionExplorerQuery title: Kind type: string enum: - SessionAttributionExplorerQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/SessionAttributionExplorerQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - groupBy title: SessionAttributionExplorerQuery type: object SessionAttributionExplorerQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: SessionAttributionExplorerQueryResponse type: object SessionAttributionGroupBy: enum: - ChannelType - Medium - Source - Campaign - AdIds - ReferringDomain - InitialURL title: SessionAttributionGroupBy type: string SessionData: additionalProperties: false properties: event_uuid: title: Event Uuid type: string person_id: title: Person Id type: string session_id: title: Session Id type: string timestamp: title: Timestamp type: string required: - event_uuid - person_id - session_id - timestamp title: SessionData type: object SessionGroupSummary: type: object properties: id: type: string format: uuid readOnly: true title: type: string readOnly: true description: Title of the group session summary session_ids: type: array items: type: string maxLength: 200 readOnly: true description: List of session replay IDs included in this group summary summary: readOnly: true description: Group summary in JSON format (EnrichedSessionGroupSummaryPatternsList schema) extra_summary_context: readOnly: true nullable: true description: Additional context passed to the summary (ExtraSummaryContext schema) run_metadata: readOnly: true nullable: true description: Summary run metadata (SessionSummaryRunMeta schema) created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true team: type: integer readOnly: true required: - created_at - created_by - extra_summary_context - id - run_metadata - session_ids - summary - team - title SessionGroupSummaryMinimal: type: object properties: id: type: string format: uuid readOnly: true title: type: string readOnly: true description: Title of the group session summary session_count: type: integer readOnly: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true required: - created_at - created_by - id - session_count - title SessionPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: session title: Type type: string enum: - session value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: SessionPropertyFilter type: object SessionRecording: type: object properties: id: type: string readOnly: true distinct_id: type: string readOnly: true nullable: true viewed: type: boolean readOnly: true viewers: type: array items: type: string readOnly: true recording_duration: type: integer readOnly: true active_seconds: type: integer readOnly: true nullable: true inactive_seconds: type: integer readOnly: true nullable: true start_time: type: string format: date-time readOnly: true nullable: true end_time: type: string format: date-time readOnly: true nullable: true click_count: type: integer readOnly: true nullable: true keypress_count: type: integer readOnly: true nullable: true mouse_activity_count: type: integer readOnly: true nullable: true console_log_count: type: integer readOnly: true nullable: true console_warn_count: type: integer readOnly: true nullable: true console_error_count: type: integer readOnly: true nullable: true start_url: type: string readOnly: true nullable: true person: $ref: '#/components/schemas/MinimalPerson' retention_period_days: type: integer readOnly: true nullable: true expiry_time: type: string format: date-time readOnly: true nullable: true recording_ttl: type: integer readOnly: true nullable: true snapshot_source: type: string nullable: true readOnly: true snapshot_library: type: string nullable: true readOnly: true ongoing: type: boolean readOnly: true activity_score: type: number format: double nullable: true readOnly: true has_summary: type: boolean readOnly: true summary_outcome: allOf: - $ref: '#/components/schemas/Outcome' nullable: true readOnly: true external_references: type: array items: type: object additionalProperties: true description: Load external references (linked issues) for this recording readOnly: true required: - active_seconds - activity_score - click_count - console_error_count - console_log_count - console_warn_count - distinct_id - end_time - expiry_time - external_references - has_summary - id - inactive_seconds - keypress_count - mouse_activity_count - ongoing - recording_duration - recording_ttl - retention_period_days - snapshot_library - snapshot_source - start_time - start_url - summary_outcome - viewed - viewers SessionRecordingExternalReference: additionalProperties: false properties: external_url: title: External Url type: string id: title: Id type: string integration: $ref: '#/components/schemas/Integration' issue_id: title: Issue Id type: string metadata: default: null title: Metadata additionalProperties: type: string type: object nullable: true title: title: Title type: string required: - external_url - id - integration - issue_id - title title: SessionRecordingExternalReference type: object SessionRecordingPlaylist: type: object properties: id: type: integer readOnly: true short_id: type: string readOnly: true name: type: string nullable: true description: Human-readable name for the playlist. maxLength: 400 derived_name: type: string nullable: true maxLength: 400 description: type: string description: Optional description of the playlist's purpose or contents. pinned: type: boolean description: Whether this playlist is pinned to the top of the list. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean description: Set to true to soft-delete the playlist. filters: description: JSON object with recording filter criteria. Only used when type is 'filters'. Defines which recordings match this saved filter view. When updating a filters-type playlist, you must include the existing filters alongside any other changes — omitting filters will be treated as removing them. last_modified_at: type: string format: date-time readOnly: true last_modified_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true recordings_counts: type: object additionalProperties: type: object additionalProperties: oneOf: - type: integer - type: boolean nullable: true readOnly: true type: nullable: true description: 'Playlist type: ''collection'' for manually curated recordings, ''filters'' for saved filter views. Required on create, cannot be changed after. * `collection` - Collection * `filters` - Filters' oneOf: - $ref: '#/components/schemas/SessionRecordingPlaylistTypeEnum' - $ref: '#/components/schemas/NullEnum' is_synthetic: type: boolean description: Return whether this is a synthetic playlist readOnly: true _create_in_folder: type: string writeOnly: true title: ' create in folder' required: - created_at - created_by - id - is_synthetic - last_modified_at - last_modified_by - recordings_counts - short_id SessionRecordingPlaylistTypeEnum: enum: - collection - filters type: string description: '* `collection` - Collection * `filters` - Filters' SessionRecordingRetentionPeriodEnum: enum: - 30d - 90d - 1y - 5y type: string description: '* `30d` - 30 Days * `90d` - 90 Days * `1y` - 1 Year * `5y` - 5 Years' SessionRecordingType: additionalProperties: false properties: active_seconds: default: null title: Active Seconds type: number nullable: true activity_score: default: null description: calculated on the backend so that we can sort by it, definition may change over time title: Activity Score type: number nullable: true click_count: default: null title: Click Count type: number nullable: true console_error_count: default: null title: Console Error Count type: number nullable: true console_log_count: default: null title: Console Log Count type: number nullable: true console_warn_count: default: null title: Console Warn Count type: number nullable: true distinct_id: default: null title: Distinct Id type: string nullable: true email: default: null title: Email type: string nullable: true end_time: description: When the recording ends in ISO format. title: End Time type: string expiry_time: default: null description: When the recording expires, in ISO format. title: Expiry Time type: string nullable: true external_references: default: null description: External references to third party issues. title: External References items: $ref: '#/components/schemas/SessionRecordingExternalReference' type: array nullable: true has_summary: default: null title: Has Summary type: boolean nullable: true id: title: Id type: string inactive_seconds: default: null title: Inactive Seconds type: number nullable: true keypress_count: default: null title: Keypress Count type: number nullable: true matching_events: default: null description: List of matching events. * title: Matching Events items: $ref: '#/components/schemas/MatchedRecording' type: array nullable: true mouse_activity_count: default: null description: count of all mouse activity in the recording, not just clicks title: Mouse Activity Count type: number nullable: true ongoing: default: null description: 'whether we have received data for this recording in the last 5 minutes (assumes the recording was loaded from ClickHouse) *' title: Ongoing type: boolean nullable: true person: default: null allOf: - $ref: '#/components/schemas/PersonType' nullable: true recording_duration: description: Length of recording in seconds. title: Recording Duration type: number recording_ttl: default: null description: Number of whole days left until the recording expires. title: Recording Ttl type: number nullable: true retention_period_days: default: null description: retention period for this recording title: Retention Period Days type: number nullable: true snapshot_library: default: null title: Snapshot Library type: string nullable: true snapshot_source: $ref: '#/components/schemas/SnapshotSource' start_time: description: When the recording starts in ISO format. title: Start Time type: string start_url: default: null title: Start Url type: string nullable: true summary: default: null title: Summary type: string nullable: true summary_outcome: default: null allOf: - $ref: '#/components/schemas/SummaryOutcome' nullable: true viewed: description: Whether this recording has been viewed by you already. title: Viewed type: boolean viewers: description: user ids of other users who have viewed this recording items: type: string title: Viewers type: array required: - end_time - id - recording_duration - snapshot_source - start_time - viewed - viewers title: SessionRecordingType type: object SessionSummaries: type: object properties: session_ids: type: array items: type: string description: List of session IDs to summarize (max 300) maxItems: 300 minItems: 1 focus_area: type: string description: Optional focus area for the summarization maxLength: 500 required: - session_ids SessionSummariesConfig: type: object properties: product_context: type: string description: Free-form description of the team's product, used to tailor AI-generated single-session replay summaries. Injected into the system prompt of every summary generated for this team via the replay page. maxLength: 10000 SessionTableVersion: enum: - auto - v1 - v2 - v3 title: SessionTableVersion type: string SessionsQuery: additionalProperties: false properties: actionId: default: null description: Filter sessions by action - sessions that contain events matching this action title: Actionid type: integer nullable: true after: default: null description: Only fetch sessions that started after this timestamp title: After type: string nullable: true before: default: null description: Only fetch sessions that started before this timestamp title: Before type: string nullable: true event: default: null description: Filter sessions by event name - sessions that contain this event title: Event type: string nullable: true eventProperties: default: null description: Event property filters - filters sessions that contain events matching these properties title: Eventproperties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true filterTestAccounts: default: null description: Filter test accounts title: Filtertestaccounts type: boolean nullable: true fixedProperties: default: null description: Fixed properties in the query, can't be edited in the interface (e.g. scoping down by person) title: Fixedproperties items: anyOf: - $ref: '#/components/schemas/PropertyGroupFilter' - $ref: '#/components/schemas/PropertyGroupFilterValue' - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true kind: default: SessionsQuery title: Kind type: string enum: - SessionsQuery limit: default: null description: Number of rows to return title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null description: Number of rows to skip before returning rows title: Offset type: integer nullable: true orderBy: default: null description: Columns to order by title: Orderby items: type: string type: array nullable: true personId: default: null description: Show sessions for a given person title: Personid type: string nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/SessionsQueryResponse' nullable: true select: description: Return a limited set of data. Required. items: type: string title: Select type: array tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true where: default: null description: HogQL filters to apply on returned data title: Where items: type: string type: array nullable: true required: - select title: SessionsQuery type: object SessionsQueryResponse: additionalProperties: false properties: columns: items: {} title: Columns type: array error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: description: Generated HogQL query. title: Hogql type: string limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: items: {} type: array title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: items: type: string title: Types type: array required: - columns - hogql - results - types title: SessionsQueryResponse type: object SessionsTimelineQuery: additionalProperties: false properties: after: default: null description: 'Only fetch sessions that started after this timestamp (default: ''-24h'')' title: After type: string nullable: true before: default: null description: 'Only fetch sessions that started before this timestamp (default: ''+5s'')' title: Before type: string nullable: true kind: default: SessionsTimelineQuery title: Kind type: string enum: - SessionsTimelineQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true personId: default: null description: Fetch sessions only for a given person title: Personid type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/SessionsTimelineQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: SessionsTimelineQuery type: object SessionsTimelineQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/TimelineEntry' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: SessionsTimelineQueryResponse type: object SessionsV2JoinMode: enum: - string - uuid title: SessionsV2JoinMode type: string Settings: additionalProperties: false properties: display: default: null allOf: - $ref: '#/components/schemas/ChartSettingsDisplay' nullable: true formatting: default: null allOf: - $ref: '#/components/schemas/ChartSettingsFormatting' nullable: true title: Settings type: object SeverityLevelsEnum: enum: - trace - debug - info - warn - error - fatal type: string description: '* `trace` - trace * `debug` - debug * `info` - info * `warn` - warn * `error` - error * `fatal` - fatal' SharePassword: type: object properties: id: type: integer readOnly: true created_at: type: string format: date-time readOnly: true note: type: string nullable: true maxLength: 100 created_by_email: type: string readOnly: true is_active: type: boolean readOnly: true required: - created_at - created_by_email - id - is_active SharingConfiguration: type: object properties: created_at: type: string format: date-time readOnly: true enabled: type: boolean access_token: type: string readOnly: true nullable: true settings: nullable: true password_required: type: boolean share_passwords: type: array items: $ref: '#/components/schemas/SharePassword' readOnly: true required: - access_token - created_at - share_passwords ShipVariant: type: object properties: conclusion: nullable: true description: 'The conclusion of the experiment. * `won` - won * `lost` - lost * `inconclusive` - inconclusive * `stopped_early` - stopped_early * `invalid` - invalid' oneOf: - $ref: '#/components/schemas/ConclusionEnum' - $ref: '#/components/schemas/NullEnum' conclusion_comment: type: string nullable: true description: Optional comment about the experiment conclusion. variant_key: type: string description: The key of the variant to ship to 100% of users. required: - variant_key ShortcutPositionEnum: enum: - above - below - hidden type: string description: '* `above` - Above * `below` - Below * `hidden` - Hidden' SignalReport: type: object properties: id: type: string format: uuid readOnly: true title: type: string readOnly: true nullable: true summary: type: string readOnly: true nullable: true status: allOf: - $ref: '#/components/schemas/SignalReportStatusEnum' readOnly: true total_weight: type: number format: double readOnly: true signal_count: type: integer readOnly: true signals_at_run: type: integer readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true artefact_count: type: integer readOnly: true priority: type: string nullable: true readOnly: true description: P0–P4 from the latest priority judgment artefact (when present). actionability: type: string nullable: true readOnly: true description: Actionability choice from the latest actionability judgment artefact (when present). already_addressed: type: boolean nullable: true readOnly: true description: Whether the issue appears already fixed, from the actionability judgment artefact. is_suggested_reviewer: type: boolean readOnly: true default: false source_products: type: array items: type: string readOnly: true description: Distinct source products contributing signals to this report (from ClickHouse). implementation_pr_url: type: string nullable: true readOnly: true description: PR URL from the latest implementation task run, if available. required: - actionability - already_addressed - artefact_count - created_at - id - implementation_pr_url - is_suggested_reviewer - priority - signal_count - signals_at_run - source_products - status - summary - title - total_weight - updated_at SignalReportStatusEnum: enum: - potential - candidate - in_progress - pending_input - ready - failed - deleted - suppressed type: string description: '* `potential` - Potential * `candidate` - Candidate * `in_progress` - In Progress * `pending_input` - Pending Input * `ready` - Ready * `failed` - Failed * `deleted` - Deleted * `suppressed` - Suppressed' SignalReportTaskRelationshipEnum: enum: - implementation type: string description: '* `implementation` - Implementation' SignalSourceConfig: type: object properties: id: type: string format: uuid readOnly: true source_product: $ref: '#/components/schemas/SourceProductEnum' source_type: $ref: '#/components/schemas/SignalSourceConfigSourceTypeEnum' enabled: type: boolean config: {} created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true status: type: string nullable: true readOnly: true required: - created_at - id - source_product - source_type - status - updated_at SignalSourceConfigSourceTypeEnum: enum: - session_analysis_cluster - evaluation - issue - ticket - issue_created - issue_reopened - issue_spiking type: string description: '* `session_analysis_cluster` - Session analysis cluster * `evaluation` - Evaluation * `issue` - Issue * `ticket` - Ticket * `issue_created` - Issue created * `issue_reopened` - Issue reopened * `issue_spiking` - Issue spiking' SignalUserAutonomyConfig: type: object properties: id: type: string format: uuid readOnly: true user: allOf: - $ref: '#/components/schemas/_User' readOnly: true autostart_priority: nullable: true oneOf: - $ref: '#/components/schemas/AutostartPriorityEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - id - updated_at - user SimilarIssue: additionalProperties: false properties: description: title: Description type: string distance: title: Distance type: number first_seen: title: First Seen type: string id: title: Id type: string library: default: null title: Library type: string nullable: true name: title: Name type: string status: title: Status type: string required: - description - distance - first_seen - id - name - status title: SimilarIssue type: object SimpleExternalDataSourceSerializers: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true created_by: type: integer readOnly: true nullable: true status: type: string readOnly: true source_type: allOf: - $ref: '#/components/schemas/ExternalDataSourceTypeEnum' readOnly: true required: - created_at - created_by - id - source_type - status SimpleIntervalType: enum: - day - month title: SimpleIntervalType type: string SlackChannel: type: object properties: id: type: string description: Slack channel ID (e.g. C0123ABC) — pass to cdp-functions inputs.channel. name: type: string description: Slack channel name without the leading '#'. is_private: type: boolean description: True if the channel is private. is_member: type: boolean description: True if the PostHog Slack app is a member of the channel and can post to it. is_ext_shared: type: boolean description: True if the channel is shared with another Slack workspace. is_private_without_access: type: boolean description: True if the channel is private and the PostHog Slack app cannot access it. required: - id - is_ext_shared - is_member - is_private - is_private_without_access - name SlackChannelsResponse: type: object properties: channels: type: array items: $ref: '#/components/schemas/SlackChannel' description: Slack channels visible to the PostHog Slack app. lastRefreshedAt: type: string nullable: true description: ISO 8601 timestamp of the last full Slack API refresh (only set on full lists, not single-channel lookups). required: - channels Snapshot: type: object properties: current_artifact: allOf: - $ref: '#/components/schemas/Artifact' nullable: true baseline_artifact: allOf: - $ref: '#/components/schemas/Artifact' nullable: true diff_artifact: allOf: - $ref: '#/components/schemas/Artifact' nullable: true reviewed_by: allOf: - $ref: '#/components/schemas/UserBasicInfo' nullable: true id: type: string format: uuid identifier: type: string result: type: string classification_reason: type: string diff_percentage: type: number format: double nullable: true diff_pixel_count: type: integer nullable: true review_state: type: string reviewed_at: type: string format: date-time nullable: true approved_hash: type: string tolerated_hash_id: type: string format: uuid nullable: true is_quarantined: type: boolean metadata: type: object additionalProperties: true required: - approved_hash - classification_reason - diff_percentage - diff_pixel_count - id - identifier - result - review_state - reviewed_at SnapshotHistoryEntry: type: object properties: current_artifact: allOf: - $ref: '#/components/schemas/Artifact' nullable: true run_id: type: string format: uuid snapshot_id: type: string format: uuid result: type: string branch: type: string commit_sha: type: string created_at: type: string format: date-time pr_number: type: integer nullable: true diff_percentage: type: number format: double nullable: true review_state: type: string required: - branch - commit_sha - created_at - result - run_id - snapshot_id SnapshotManifestItem: type: object properties: identifier: type: string content_hash: type: string width: type: integer nullable: true height: type: integer nullable: true metadata: type: object additionalProperties: true required: - content_hash - identifier SnapshotSource: enum: - web - mobile - unknown title: SnapshotSource type: string SourceProductEnum: enum: - session_replay - llm_analytics - github - linear - zendesk - conversations - error_tracking type: string description: '* `session_replay` - Session replay * `llm_analytics` - LLM analytics * `github` - GitHub * `linear` - Linear * `zendesk` - Zendesk * `conversations` - Conversations * `error_tracking` - Error tracking' SpanPropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: $ref: '#/components/schemas/SpanPropertyFilterType' value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator - type title: SpanPropertyFilter type: object SpanPropertyFilterType: enum: - span - span_attribute - span_resource_attribute title: SpanPropertyFilterType type: string SparklineBreakdownByEnum: enum: - severity - service type: string description: '* `severity` - severity * `service` - service' StageEnum: enum: - draft - concept - alpha - beta - general-availability - archived type: string description: '* `draft` - draft * `concept` - concept * `alpha` - alpha * `beta` - beta * `general-availability` - general availability * `archived` - archived' StartHandling: enum: - first_seen - last_seen title: StartHandling type: string StaticFilters: type: object properties: users: type: array items: type: object additionalProperties: true description: Users who have logged activity. scopes: type: array items: type: object additionalProperties: true description: Available activity scopes. activities: type: array items: type: object additionalProperties: true description: Available activity types. clients: type: array items: type: object additionalProperties: true description: API clients that have generated activity (from x-posthog-client header). required: - activities - clients - scopes - users StatusItem: additionalProperties: false properties: label: title: Label type: string value: title: Value type: string required: - label - value title: StatusItem type: object StatusReasonEnum: enum: - trial_limit_reached - model_not_allowed - provider_key_deleted type: string description: '* `trial_limit_reached` - Trial evaluation limit reached * `model_not_allowed` - Model not available on the trial plan * `provider_key_deleted` - Provider API key was deleted' StepOrderValue: enum: - strict - unordered - ordered title: StepOrderValue type: string StickinessActorsQuery: additionalProperties: false properties: compare: default: null allOf: - $ref: '#/components/schemas/Compare' nullable: true day: default: null title: Day anyOf: - type: string - type: integer nullable: true includeRecordings: default: null title: Includerecordings type: boolean nullable: true kind: default: StickinessActorsQuery title: Kind type: string enum: - StickinessActorsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true operator: default: null allOf: - $ref: '#/components/schemas/StickinessOperator' nullable: true response: default: null allOf: - $ref: '#/components/schemas/ActorsQueryResponse' nullable: true series: default: null title: Series type: integer nullable: true source: $ref: '#/components/schemas/StickinessQuery' tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - source title: StickinessActorsQuery type: object StickinessComputationMode: enum: - non_cumulative - cumulative title: StickinessComputationMode type: string StickinessCriteria: additionalProperties: false properties: operator: $ref: '#/components/schemas/StickinessOperator' value: minimum: 1 title: Value type: integer required: - operator - value title: StickinessCriteria type: object StickinessFilter: additionalProperties: false properties: computedAs: default: null allOf: - $ref: '#/components/schemas/StickinessComputationMode' nullable: true display: default: null allOf: - $ref: '#/components/schemas/ChartDisplayType' nullable: true hiddenLegendIndexes: default: null title: Hiddenlegendindexes items: type: integer type: array nullable: true resultCustomizationBy: default: value description: Whether result datasets are associated by their values or by their order. allOf: - $ref: '#/components/schemas/ResultCustomizationBy' nullable: true resultCustomizations: default: null description: Customizations for the appearance of result datasets. title: Resultcustomizations anyOf: - additionalProperties: $ref: '#/components/schemas/ResultCustomizationByValue' type: object - additionalProperties: $ref: '#/components/schemas/ResultCustomizationByPosition' type: object nullable: true showLegend: default: null title: Showlegend type: boolean nullable: true showMultipleYAxes: default: null title: Showmultipleyaxes type: boolean nullable: true showValuesOnSeries: default: null title: Showvaluesonseries type: boolean nullable: true stickinessCriteria: default: null allOf: - $ref: '#/components/schemas/StickinessCriteria' nullable: true title: StickinessFilter type: object StickinessOperator: enum: - gte - lte - exact title: StickinessOperator type: string StickinessQuery: additionalProperties: false properties: compareFilter: default: null description: Compare to date range allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true interval: default: day description: Granularity of the response. Can be one of `hour`, `day`, `week` or `month` allOf: - $ref: '#/components/schemas/IntervalType' nullable: true intervalCount: default: null description: How many intervals comprise a period. Only used for cohorts, otherwise default 1. title: Intervalcount minimum: 1 type: integer nullable: true kind: default: StickinessQuery title: Kind type: string enum: - StickinessQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/StickinessQueryResponse' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true series: description: Events and actions to include items: anyOf: - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/DataWarehouseNode' title: Series type: array stickinessFilter: default: null description: Properties specific to the stickiness insight allOf: - $ref: '#/components/schemas/StickinessFilter' nullable: true tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - series title: StickinessQuery type: object StickinessQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: StickinessQueryResponse type: object StringMatchOperatorEnum: enum: - exact - is_not - icontains - not_icontains - regex - not_regex type: string description: '* `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex' StringPropertyFilter: type: object description: Matches string values with text-oriented operators. properties: key: type: string description: Key of the property you're filtering on. For example `email` or `$current_url`. type: allOf: - $ref: '#/components/schemas/PropertyFilterTypeEnum' default: event description: 'Property type (event, person, session, etc.). * `event` - event * `event_metadata` - event_metadata * `feature` - feature * `person` - person * `cohort` - cohort * `element` - element * `static-cohort` - static-cohort * `dynamic-cohort` - dynamic-cohort * `precalculated-cohort` - precalculated-cohort * `group` - group * `recording` - recording * `log_entry` - log_entry * `behavioral` - behavioral * `session` - session * `hogql` - hogql * `data_warehouse` - data_warehouse * `data_warehouse_person_property` - data_warehouse_person_property * `error_tracking_issue` - error_tracking_issue * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute * `span` - span * `span_attribute` - span_attribute * `span_resource_attribute` - span_resource_attribute * `revenue_analytics` - revenue_analytics * `flag` - flag * `workflow_variable` - workflow_variable' value: type: string description: String value to match against. operator: allOf: - $ref: '#/components/schemas/StringMatchOperatorEnum' default: exact description: 'String comparison operator. * `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex' required: - key - value StructuredSummary: type: object properties: title: type: string description: Concise title (no longer than 10 words) summarizing the trace/event flow_diagram: type: string description: Mermaid flowchart code showing the main flow summary_bullets: type: array items: $ref: '#/components/schemas/SummaryBullet' description: Main summary bullets interesting_notes: type: array items: $ref: '#/components/schemas/InterestingNote' description: Interesting notes (0-2 for minimal, more for detailed) required: - flow_diagram - interesting_notes - summary_bullets - title Style: enum: - none - number - short - percent title: Style type: string Subscription: type: object description: Standard Subscription serializer. properties: id: type: integer readOnly: true dashboard: type: integer nullable: true description: Dashboard ID to subscribe to (mutually exclusive with insight on create). insight: type: integer nullable: true description: Insight ID to subscribe to (mutually exclusive with dashboard on create). insight_short_id: type: string nullable: true readOnly: true resource_name: type: string nullable: true readOnly: true dashboard_export_insights: type: array items: type: integer description: List of insight IDs from the dashboard to include. Required for dashboard subscriptions, max 6. target_type: allOf: - $ref: '#/components/schemas/TargetTypeEnum' description: 'Delivery channel: email, slack, or webhook. * `email` - Email * `slack` - Slack * `webhook` - Webhook' target_value: type: string description: 'Recipient(s): comma-separated email addresses for email, Slack channel name/ID for slack, or full URL for webhook.' frequency: allOf: - $ref: '#/components/schemas/SubscriptionFrequencyEnum' description: 'How often to deliver: daily, weekly, monthly, or yearly. * `daily` - Daily * `weekly` - Weekly * `monthly` - Monthly * `yearly` - Yearly' interval: type: integer maximum: 2147483647 minimum: -2147483648 description: Interval multiplier (e.g. 2 with weekly frequency means every 2 weeks). Default 1. byweekday: type: array items: $ref: '#/components/schemas/ByweekdayEnum' nullable: true description: 'Days of week for weekly subscriptions: monday, tuesday, wednesday, thursday, friday, saturday, sunday.' bysetpos: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: Position within byweekday set for monthly frequency (e.g. 1 for first, -1 for last). count: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true description: Total number of deliveries before the subscription stops. Null for unlimited. start_date: type: string format: date-time description: When to start delivering (ISO 8601 datetime). until_date: type: string format: date-time nullable: true description: When to stop delivering (ISO 8601 datetime). Null for indefinite. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean description: Set to true to soft-delete. Subscriptions cannot be hard-deleted. title: type: string nullable: true description: Human-readable name for this subscription. maxLength: 100 summary: type: string readOnly: true description: Human-readable schedule summary, e.g. 'sent daily'. next_delivery_date: type: string format: date-time readOnly: true nullable: true integration_id: type: integer nullable: true description: ID of a connected Slack integration. Required when target_type is slack. invite_message: type: string nullable: true description: Optional message included in the invitation email when adding new recipients. summary_enabled: type: boolean summary_prompt_guide: type: string maxLength: 500 required: - created_at - created_by - frequency - id - insight_short_id - next_delivery_date - resource_name - start_date - summary - target_type - target_value SubscriptionDelivery: type: object properties: id: type: string format: uuid readOnly: true description: Primary key for this delivery row. subscription: type: integer readOnly: true description: Parent subscription id. temporal_workflow_id: type: string readOnly: true description: Temporal workflow id for this delivery run. idempotency_key: type: string readOnly: true description: Dedupes activity retries for the same logical run. trigger_type: type: string readOnly: true description: Why the run started (e.g. scheduled, manual, target_change). scheduled_at: type: string format: date-time readOnly: true nullable: true description: Planned send time when applicable. target_type: type: string readOnly: true description: Channel snapshot at send time (email, slack, webhook). target_value: type: string readOnly: true description: Destination snapshot at send time (emails, channel id, URL). exported_asset_ids: type: array items: type: integer maximum: 2147483647 minimum: -2147483648 readOnly: true description: ExportedAsset ids generated for this send. content_snapshot: readOnly: true description: 'Snapshot at send time: dashboard metadata, total_insight_count, and per-exported-insight entries (id, short_id, name, query_hash, cache_key, query_results, optional query_error).' recipient_results: readOnly: true description: Per-destination outcomes; items use status success, failed, or partial. status: allOf: - $ref: '#/components/schemas/SubscriptionDeliveryStatusEnum' readOnly: true description: 'Overall run status: starting, completed, failed, or skipped. * `starting` - Starting * `completed` - Completed * `failed` - Failed * `skipped` - Skipped' error: readOnly: true nullable: true description: Top-level failure payload when status is failed, if any. created_at: type: string format: date-time readOnly: true description: When the delivery row was created. last_updated_at: type: string format: date-time readOnly: true description: Last ORM update to this row. finished_at: type: string format: date-time readOnly: true nullable: true description: When the run finished, if applicable. change_summary: type: string readOnly: true nullable: true description: AI-generated summary included in this delivery, when one was produced. required: - change_summary - content_snapshot - created_at - error - exported_asset_ids - finished_at - id - idempotency_key - last_updated_at - recipient_results - scheduled_at - status - subscription - target_type - target_value - temporal_workflow_id - trigger_type SubscriptionDeliveryStatusEnum: enum: - starting - completed - failed - skipped type: string description: '* `starting` - Starting * `completed` - Completed * `failed` - Failed * `skipped` - Skipped' SubscriptionFrequencyEnum: enum: - daily - weekly - monthly - yearly type: string description: '* `daily` - Daily * `weekly` - Weekly * `monthly` - Monthly * `yearly` - Yearly' SuggestReplyError: type: object properties: detail: type: string error_type: type: string required: - detail SuggestReplyResponse: type: object properties: suggestion: type: string required: - suggestion SuggestedQuestionsQuery: additionalProperties: false properties: kind: default: SuggestedQuestionsQuery title: Kind type: string enum: - SuggestedQuestionsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/SuggestedQuestionsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: SuggestedQuestionsQuery type: object SuggestedQuestionsQueryResponse: additionalProperties: false properties: questions: items: type: string title: Questions type: array required: - questions title: SuggestedQuestionsQueryResponse type: object SummarizeRequest: type: object properties: summarize_type: allOf: - $ref: '#/components/schemas/SummarizeTypeEnum' description: 'Type of entity to summarize. Inferred automatically when using trace_id or generation_id. * `trace` - trace * `event` - event' mode: allOf: - $ref: '#/components/schemas/DetailModeValueEnum' default: minimal description: 'Summary detail level: ''minimal'' for 3-5 points, ''detailed'' for 5-10 points * `minimal` - minimal * `detailed` - detailed' data: description: 'Data to summarize. For traces: {trace, hierarchy}. For events: {event}. Not required when using trace_id or generation_id.' force_refresh: type: boolean default: false description: Force regenerate summary, bypassing cache model: type: string nullable: true description: LLM model to use (defaults based on provider) trace_id: type: string description: Trace ID to summarize. The backend fetches the trace data automatically. Requires date_from for efficient lookup. generation_id: type: string description: Generation event UUID to summarize. The backend fetches the event data automatically. Requires date_from for efficient lookup. date_from: type: string nullable: true description: Start of date range for ID-based lookup (e.g. '-7d' or '2026-01-01'). Defaults to -30d. date_to: type: string nullable: true description: End of date range for ID-based lookup. Defaults to now. SummarizeResponse: type: object properties: summary: allOf: - $ref: '#/components/schemas/StructuredSummary' description: Structured AI-generated summary with flow, bullets, and optional notes text_repr: type: string description: Line-numbered text representation that the summary references metadata: description: Metadata about the summarization required: - summary - text_repr SummarizeTypeEnum: enum: - trace - event type: string description: '* `trace` - trace * `event` - event' SummaryBullet: type: object properties: text: type: string line_refs: type: string required: - line_refs - text SummaryOutcome: additionalProperties: false properties: description: default: null title: Description type: string nullable: true success: default: null title: Success type: boolean nullable: true title: SummaryOutcome type: object Survey: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string type: $ref: '#/components/schemas/SurveyType' schedule: type: string nullable: true linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag_id: type: integer nullable: true linked_insight_id: type: integer nullable: true targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true questions: nullable: true description: "\n The `array` of questions included in the survey.\ \ Each question must conform to one of the defined question types: Basic,\ \ Link, Rating, or Multiple Choice.\n\n Basic (open-ended question)\n\ \ - `id`: The question ID\n - `type`: `open`\n -\ \ `question`: The text of the question.\n - `description`: Optional\ \ description of the question.\n - `descriptionContentType`: Content\ \ type of the description (`html` or `text`).\n - `optional`: Whether\ \ the question is optional (`boolean`).\n - `buttonText`: Text\ \ displayed on the submit button.\n - `branching`: Branching logic\ \ for the question. See branching types below for details.\n\n \ \ Link (a question with a link)\n - `id`: The question ID\n \ \ - `type`: `link`\n - `question`: The text of the question.\n\ \ - `description`: Optional description of the question.\n \ \ - `descriptionContentType`: Content type of the description (`html`\ \ or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `link`: The URL associated with the question.\n - `branching`:\ \ Branching logic for the question. See branching types below for details.\n\ \n Rating (a question with a rating scale)\n - `id`: The\ \ question ID\n - `type`: `rating`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `display`: Display style of the rating (`number` or `emoji`).\n\ \ - `scale`: The scale of the rating (`number`).\n - `lowerBoundLabel`:\ \ Label for the lower bound of the scale.\n - `upperBoundLabel`:\ \ Label for the upper bound of the scale.\n - `isNpsQuestion`:\ \ Whether the question is an NPS rating.\n - `branching`: Branching\ \ logic for the question. See branching types below for details.\n\n \ \ Multiple choice\n - `id`: The question ID\n - `type`:\ \ `single_choice` or `multiple_choice`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `choices`: An array of choices for the question.\n -\ \ `shuffleOptions`: Whether to shuffle the order of the choices (`boolean`).\n\ \ - `hasOpenChoice`: Whether the question allows an open-ended\ \ response (`boolean`).\n - `branching`: Branching logic for the\ \ question. See branching types below for details.\n\n Branching\ \ logic can be one of the following types:\n\n Next question: Proceeds\ \ to the next question\n ```json\n {\n \"type\"\ : \"next_question\"\n }\n ```\n\n End: Ends the survey,\ \ optionally displaying a confirmation message.\n ```json\n \ \ {\n \"type\": \"end\"\n }\n ```\n\n \ \ Response-based: Branches based on the response values. Available\ \ for the `rating` and `single_choice` question types.\n ```json\n\ \ {\n \"type\": \"response_based\",\n \"\ responseValues\": {\n \"responseKey\": \"value\"\n \ \ }\n }\n ```\n\n Specific question: Proceeds\ \ to a specific question by index.\n ```json\n {\n \ \ \"type\": \"specific_question\",\n \"index\": 2\n \ \ }\n ```\n\n Translations: Each question can include\ \ inline translations.\n - `translations`: Object mapping language\ \ codes to translated fields.\n - Language codes: Any string -\ \ allows customers to use their own language keys (e.g., \"es\", \"es-MX\"\ , \"english\", \"french\")\n - Translatable fields: `question`,\ \ `description`, `buttonText`, `choices`, `lowerBoundLabel`, `upperBoundLabel`,\ \ `link`\n\n Example with translations:\n ```json\n \ \ {\n \"id\": \"uuid\",\n \"type\": \"rating\"\ ,\n \"question\": \"How satisfied are you?\",\n \ \ \"lowerBoundLabel\": \"Not satisfied\",\n \"upperBoundLabel\"\ : \"Very satisfied\",\n \"translations\": {\n \ \ \"es\": {\n \"question\": \"¿Qué tan satisfecho\ \ estás?\",\n \"lowerBoundLabel\": \"No satisfecho\"\ ,\n \"upperBoundLabel\": \"Muy satisfecho\"\n \ \ },\n \"fr\": {\n \"question\"\ : \"Dans quelle mesure êtes-vous satisfait?\"\n }\n \ \ }\n }\n ```\n " conditions: type: object additionalProperties: true nullable: true readOnly: true appearance: nullable: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true archived: type: boolean responses_limit: type: integer maximum: 2147483647 minimum: 0 nullable: true feature_flag_keys: type: array items: type: object additionalProperties: type: string nullable: true readOnly: true iteration_count: type: integer maximum: 500 minimum: 0 nullable: true iteration_frequency_days: type: integer maximum: 2147483647 minimum: 0 nullable: true iteration_start_dates: type: array items: type: string format: date-time nullable: true nullable: true current_iteration: type: integer maximum: 2147483647 minimum: 0 nullable: true current_iteration_start_date: type: string format: date-time nullable: true response_sampling_start_date: type: string format: date-time nullable: true response_sampling_interval_type: nullable: true oneOf: - $ref: '#/components/schemas/ResponseSamplingIntervalTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' response_sampling_interval: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_limit: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_daily_limits: nullable: true enable_partial_responses: type: boolean nullable: true enable_iframe_embedding: type: boolean nullable: true translations: nullable: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object form_content: nullable: true required: - conditions - created_at - created_by - feature_flag_keys - id - internal_targeting_flag - linked_flag - name - targeting_flag - type - user_access_level SurveyAppearanceSchema: type: object properties: backgroundColor: type: string submitButtonColor: type: string textColor: type: string submitButtonText: type: string submitButtonTextColor: type: string descriptionTextColor: type: string ratingButtonColor: type: string ratingButtonActiveColor: type: string ratingButtonHoverColor: type: string whiteLabel: type: boolean autoDisappear: type: boolean displayThankYouMessage: type: boolean thankYouMessageHeader: type: string thankYouMessageDescription: type: string thankYouMessageDescriptionContentType: $ref: '#/components/schemas/DescriptionContentTypeEnum' thankYouMessageCloseButtonText: type: string borderColor: type: string placeholder: type: string shuffleQuestions: type: boolean surveyPopupDelaySeconds: type: integer widgetType: $ref: '#/components/schemas/WidgetTypeEnum' widgetSelector: type: string widgetLabel: type: string widgetColor: type: string fontFamily: type: string maxWidth: type: string zIndex: type: string disabledButtonOpacity: type: string boxPadding: type: string SurveyBranchingSchema: oneOf: - $ref: '#/components/schemas/SurveyNextQuestionBranching' - $ref: '#/components/schemas/SurveyEndBranching' - $ref: '#/components/schemas/SurveySpecificQuestionBranching' - $ref: '#/components/schemas/SurveyResponseBasedBranching' SurveyConditionEventValueSchema: type: object properties: name: type: string description: Event name that triggers the survey. required: - name SurveyConditionsSchema: type: object properties: url: type: string selector: type: string seenSurveyWaitPeriodInDays: type: integer minimum: 0 description: Don't show this survey to users who saw any survey in the last x days. urlMatchType: allOf: - $ref: '#/components/schemas/StringMatchOperatorEnum' description: 'URL/device matching types: ''regex'' (matches regex pattern), ''not_regex'' (does not match regex pattern), ''exact'' (exact string match), ''is_not'' (not exact match), ''icontains'' (case-insensitive contains), ''not_icontains'' (case-insensitive does not contain). * `regex` - regex * `not_regex` - not_regex * `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains' events: $ref: '#/components/schemas/SurveyEventsConditionSchema' deviceTypes: type: array items: $ref: '#/components/schemas/DeviceTypesEnum' description: Device types that should match for this survey to be shown. deviceTypesMatchType: allOf: - $ref: '#/components/schemas/StringMatchOperatorEnum' description: 'URL/device matching types: ''regex'' (matches regex pattern), ''not_regex'' (does not match regex pattern), ''exact'' (exact string match), ''is_not'' (not exact match), ''icontains'' (case-insensitive contains), ''not_icontains'' (case-insensitive does not contain). * `regex` - regex * `not_regex` - not_regex * `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains' linkedFlagVariant: type: string description: The variant of the feature flag linked to this survey. SurveyEndBranching: type: object properties: type: allOf: - $ref: '#/components/schemas/SurveyEndBranchingTypeEnum' description: 'End the survey. * `end` - end' required: - type SurveyEndBranchingTypeEnum: enum: - end type: string description: '* `end` - end' SurveyEventsConditionSchema: type: object properties: repeatedActivation: type: boolean description: Whether to show the survey every time one of the events is triggered (true), or just once (false). values: type: array items: $ref: '#/components/schemas/SurveyConditionEventValueSchema' description: Array of event names that trigger the survey. SurveyGlobalStatsResponse: type: object properties: stats: type: object additionalProperties: true description: Event counts keyed by event name (survey shown, survey dismissed, survey sent). rates: type: object additionalProperties: true description: Calculated response and dismissal rates. required: - rates - stats SurveyLinkQuestionSchema: type: object properties: type: $ref: '#/components/schemas/SurveyLinkQuestionSchemaTypeEnum' question: type: string description: Question text shown to respondents. description: type: string description: Optional helper text. descriptionContentType: allOf: - $ref: '#/components/schemas/DescriptionContentTypeEnum' description: 'Format for the description field. * `text` - text * `html` - html' optional: type: boolean description: Whether respondents may skip this question. buttonText: type: string description: Custom button label. link: type: string description: HTTPS or mailto URL for link questions. required: - link - question - type SurveyLinkQuestionSchemaTypeEnum: enum: - link type: string description: '* `link` - link' SurveyMultipleChoiceQuestionSchema: type: object properties: type: $ref: '#/components/schemas/SurveyMultipleChoiceQuestionSchemaTypeEnum' question: type: string description: Question text shown to respondents. description: type: string description: Optional helper text. descriptionContentType: allOf: - $ref: '#/components/schemas/DescriptionContentTypeEnum' description: 'Format for the description field. * `text` - text * `html` - html' optional: type: boolean description: Whether respondents may skip this question. buttonText: type: string description: Custom button label. choices: type: array items: type: string description: Array of choice options. Multiple selections allowed. No branching logic supported. maxItems: 20 minItems: 2 shuffleOptions: type: boolean description: Whether to randomize the order of choices for each respondent. hasOpenChoice: type: boolean description: Whether the final option should be an open-text choice (for example, 'Other'). required: - choices - question - type SurveyMultipleChoiceQuestionSchemaTypeEnum: enum: - multiple_choice type: string description: '* `multiple_choice` - multiple_choice' SurveyNextQuestionBranching: type: object properties: type: allOf: - $ref: '#/components/schemas/SurveyNextQuestionBranchingTypeEnum' description: 'Continue to the next question in sequence. * `next_question` - next_question' required: - type SurveyNextQuestionBranchingTypeEnum: enum: - next_question type: string description: '* `next_question` - next_question' SurveyOpenQuestionSchema: type: object properties: type: $ref: '#/components/schemas/SurveyOpenQuestionSchemaTypeEnum' question: type: string description: Question text shown to respondents. description: type: string description: Optional helper text. descriptionContentType: allOf: - $ref: '#/components/schemas/DescriptionContentTypeEnum' description: 'Format for the description field. * `text` - text * `html` - html' optional: type: boolean description: Whether respondents may skip this question. buttonText: type: string description: Custom button label. required: - question - type SurveyOpenQuestionSchemaTypeEnum: enum: - open type: string description: '* `open` - open' SurveyQuestionInputSchema: oneOf: - $ref: '#/components/schemas/SurveyOpenQuestionSchema' - $ref: '#/components/schemas/SurveyLinkQuestionSchema' - $ref: '#/components/schemas/SurveyRatingQuestionSchema' - $ref: '#/components/schemas/SurveySingleChoiceQuestionSchema' - $ref: '#/components/schemas/SurveyMultipleChoiceQuestionSchema' SurveyRatingQuestionSchema: type: object properties: type: $ref: '#/components/schemas/SurveyRatingQuestionSchemaTypeEnum' question: type: string description: Question text shown to respondents. description: type: string description: Optional helper text. descriptionContentType: allOf: - $ref: '#/components/schemas/DescriptionContentTypeEnum' description: 'Format for the description field. * `text` - text * `html` - html' optional: type: boolean description: Whether respondents may skip this question. buttonText: type: string description: Custom button label. display: allOf: - $ref: '#/components/schemas/SurveyRatingQuestionSchemaDisplayEnum' description: 'Display format: ''number'' shows numeric scale, ''emoji'' shows emoji scale. * `number` - number * `emoji` - emoji' scale: type: integer minimum: 1 description: Rating scale can be one of 3, 5, or 7 lowerBoundLabel: type: string description: Label for the lowest rating (e.g., 'Very Poor') upperBoundLabel: type: string description: Label for the highest rating (e.g., 'Excellent') branching: allOf: - $ref: '#/components/schemas/SurveyBranchingSchema' nullable: true required: - question - type SurveyRatingQuestionSchemaDisplayEnum: enum: - number - emoji type: string description: '* `number` - number * `emoji` - emoji' SurveyRatingQuestionSchemaTypeEnum: enum: - rating type: string description: '* `rating` - rating' SurveyResponseBasedBranching: type: object properties: type: allOf: - $ref: '#/components/schemas/SurveyResponseBasedBranchingTypeEnum' description: 'Branch based on the selected or entered response. * `response_based` - response_based' responseValues: type: object additionalProperties: oneOf: - type: integer minimum: 0 - type: string enum: - end description: Response-based branching map. Values can be a question index or 'end'. required: - responseValues - type SurveyResponseBasedBranchingTypeEnum: enum: - response_based type: string description: '* `response_based` - response_based' SurveySerializerCreateUpdateOnly: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string type: $ref: '#/components/schemas/SurveyType' schedule: type: string nullable: true linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag_id: type: integer writeOnly: true nullable: true linked_insight_id: type: integer writeOnly: true nullable: true targeting_flag_id: type: integer writeOnly: true targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true targeting_flag_filters: writeOnly: true nullable: true remove_targeting_flag: type: boolean writeOnly: true nullable: true questions: nullable: true description: "\n The `array` of questions included in the survey.\ \ Each question must conform to one of the defined question types: Basic,\ \ Link, Rating, or Multiple Choice.\n\n Basic (open-ended question)\n\ \ - `id`: The question ID\n - `type`: `open`\n -\ \ `question`: The text of the question.\n - `description`: Optional\ \ description of the question.\n - `descriptionContentType`: Content\ \ type of the description (`html` or `text`).\n - `optional`: Whether\ \ the question is optional (`boolean`).\n - `buttonText`: Text\ \ displayed on the submit button.\n - `branching`: Branching logic\ \ for the question. See branching types below for details.\n\n \ \ Link (a question with a link)\n - `id`: The question ID\n \ \ - `type`: `link`\n - `question`: The text of the question.\n\ \ - `description`: Optional description of the question.\n \ \ - `descriptionContentType`: Content type of the description (`html`\ \ or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `link`: The URL associated with the question.\n - `branching`:\ \ Branching logic for the question. See branching types below for details.\n\ \n Rating (a question with a rating scale)\n - `id`: The\ \ question ID\n - `type`: `rating`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `display`: Display style of the rating (`number` or `emoji`).\n\ \ - `scale`: The scale of the rating (`number`).\n - `lowerBoundLabel`:\ \ Label for the lower bound of the scale.\n - `upperBoundLabel`:\ \ Label for the upper bound of the scale.\n - `isNpsQuestion`:\ \ Whether the question is an NPS rating.\n - `branching`: Branching\ \ logic for the question. See branching types below for details.\n\n \ \ Multiple choice\n - `id`: The question ID\n - `type`:\ \ `single_choice` or `multiple_choice`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `choices`: An array of choices for the question.\n -\ \ `shuffleOptions`: Whether to shuffle the order of the choices (`boolean`).\n\ \ - `hasOpenChoice`: Whether the question allows an open-ended\ \ response (`boolean`).\n - `branching`: Branching logic for the\ \ question. See branching types below for details.\n\n Branching\ \ logic can be one of the following types:\n\n Next question: Proceeds\ \ to the next question\n ```json\n {\n \"type\"\ : \"next_question\"\n }\n ```\n\n End: Ends the survey,\ \ optionally displaying a confirmation message.\n ```json\n \ \ {\n \"type\": \"end\"\n }\n ```\n\n \ \ Response-based: Branches based on the response values. Available\ \ for the `rating` and `single_choice` question types.\n ```json\n\ \ {\n \"type\": \"response_based\",\n \"\ responseValues\": {\n \"responseKey\": \"value\"\n \ \ }\n }\n ```\n\n Specific question: Proceeds\ \ to a specific question by index.\n ```json\n {\n \ \ \"type\": \"specific_question\",\n \"index\": 2\n \ \ }\n ```\n\n Translations: Each question can include\ \ inline translations.\n - `translations`: Object mapping language\ \ codes to translated fields.\n - Language codes: Any string -\ \ allows customers to use their own language keys (e.g., \"es\", \"es-MX\"\ , \"english\", \"french\")\n - Translatable fields: `question`,\ \ `description`, `buttonText`, `choices`, `lowerBoundLabel`, `upperBoundLabel`,\ \ `link`\n\n Example with translations:\n ```json\n \ \ {\n \"id\": \"uuid\",\n \"type\": \"rating\"\ ,\n \"question\": \"How satisfied are you?\",\n \ \ \"lowerBoundLabel\": \"Not satisfied\",\n \"upperBoundLabel\"\ : \"Very satisfied\",\n \"translations\": {\n \ \ \"es\": {\n \"question\": \"¿Qué tan satisfecho\ \ estás?\",\n \"lowerBoundLabel\": \"No satisfecho\"\ ,\n \"upperBoundLabel\": \"Muy satisfecho\"\n \ \ },\n \"fr\": {\n \"question\"\ : \"Dans quelle mesure êtes-vous satisfait?\"\n }\n \ \ }\n }\n ```\n " conditions: nullable: true appearance: nullable: true created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true start_date: type: string format: date-time nullable: true end_date: type: string format: date-time nullable: true archived: type: boolean responses_limit: type: integer maximum: 2147483647 minimum: 0 nullable: true iteration_count: type: integer maximum: 500 minimum: 0 nullable: true iteration_frequency_days: type: integer maximum: 2147483647 minimum: 0 nullable: true iteration_start_dates: type: array items: type: string format: date-time nullable: true nullable: true current_iteration: type: integer maximum: 2147483647 minimum: 0 nullable: true current_iteration_start_date: type: string format: date-time nullable: true response_sampling_start_date: type: string format: date-time nullable: true response_sampling_interval_type: nullable: true oneOf: - $ref: '#/components/schemas/ResponseSamplingIntervalTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' response_sampling_interval: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_limit: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_daily_limits: nullable: true enable_partial_responses: type: boolean nullable: true enable_iframe_embedding: type: boolean nullable: true translations: nullable: true _create_in_folder: type: string writeOnly: true title: ' create in folder' form_content: nullable: true required: - created_at - created_by - id - internal_targeting_flag - linked_flag - name - targeting_flag - type SurveySerializerCreateUpdateOnlySchema: type: object properties: id: type: string format: uuid readOnly: true name: type: string description: Survey name. maxLength: 400 minLength: 1 description: type: string description: Survey description. type: allOf: - $ref: '#/components/schemas/SurveyType' description: 'Survey type. * `popover` - popover * `widget` - widget * `external_survey` - external survey * `api` - api' schedule: nullable: true description: 'Survey scheduling behavior: ''once'' = show once per user (default), ''recurring'' = repeat based on iteration_count and iteration_frequency_days settings, ''always'' = show every time conditions are met (mainly for widget surveys) * `once` - once * `recurring` - recurring * `always` - always' oneOf: - $ref: '#/components/schemas/ScheduleEnum' - $ref: '#/components/schemas/NullEnum' linked_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true linked_flag_id: type: integer writeOnly: true nullable: true description: The feature flag linked to this survey. linked_insight_id: type: integer writeOnly: true nullable: true targeting_flag_id: type: integer writeOnly: true description: An existing targeting flag to use for this survey. targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true internal_targeting_flag: allOf: - $ref: '#/components/schemas/MinimalFeatureFlag' readOnly: true targeting_flag_filters: allOf: - $ref: '#/components/schemas/FeatureFlagFiltersSchema' writeOnly: true nullable: true description: 'Target specific users based on their properties. Example: {groups: [{properties: [{key: ''email'', value: [''@company.com''], operator: ''icontains''}], rollout_percentage: 100}]}' remove_targeting_flag: type: boolean writeOnly: true nullable: true description: Set to true to completely remove all targeting filters from the survey, making it visible to all users (subject to other display conditions like URL matching). questions: type: array items: $ref: '#/components/schemas/SurveyQuestionInputSchema' nullable: true description: "\n The `array` of questions included in the survey.\ \ Each question must conform to one of the defined question types: Basic,\ \ Link, Rating, or Multiple Choice.\n\n Basic (open-ended question)\n\ \ - `id`: The question ID\n - `type`: `open`\n -\ \ `question`: The text of the question.\n - `description`: Optional\ \ description of the question.\n - `descriptionContentType`: Content\ \ type of the description (`html` or `text`).\n - `optional`: Whether\ \ the question is optional (`boolean`).\n - `buttonText`: Text\ \ displayed on the submit button.\n - `branching`: Branching logic\ \ for the question. See branching types below for details.\n\n \ \ Link (a question with a link)\n - `id`: The question ID\n \ \ - `type`: `link`\n - `question`: The text of the question.\n\ \ - `description`: Optional description of the question.\n \ \ - `descriptionContentType`: Content type of the description (`html`\ \ or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `link`: The URL associated with the question.\n - `branching`:\ \ Branching logic for the question. See branching types below for details.\n\ \n Rating (a question with a rating scale)\n - `id`: The\ \ question ID\n - `type`: `rating`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `display`: Display style of the rating (`number` or `emoji`).\n\ \ - `scale`: The scale of the rating (`number`).\n - `lowerBoundLabel`:\ \ Label for the lower bound of the scale.\n - `upperBoundLabel`:\ \ Label for the upper bound of the scale.\n - `isNpsQuestion`:\ \ Whether the question is an NPS rating.\n - `branching`: Branching\ \ logic for the question. See branching types below for details.\n\n \ \ Multiple choice\n - `id`: The question ID\n - `type`:\ \ `single_choice` or `multiple_choice`\n - `question`: The text\ \ of the question.\n - `description`: Optional description of the\ \ question.\n - `descriptionContentType`: Content type of the description\ \ (`html` or `text`).\n - `optional`: Whether the question is optional\ \ (`boolean`).\n - `buttonText`: Text displayed on the submit button.\n\ \ - `choices`: An array of choices for the question.\n -\ \ `shuffleOptions`: Whether to shuffle the order of the choices (`boolean`).\n\ \ - `hasOpenChoice`: Whether the question allows an open-ended\ \ response (`boolean`).\n - `branching`: Branching logic for the\ \ question. See branching types below for details.\n\n Branching\ \ logic can be one of the following types:\n\n Next question: Proceeds\ \ to the next question\n ```json\n {\n \"type\"\ : \"next_question\"\n }\n ```\n\n End: Ends the survey,\ \ optionally displaying a confirmation message.\n ```json\n \ \ {\n \"type\": \"end\"\n }\n ```\n\n \ \ Response-based: Branches based on the response values. Available\ \ for the `rating` and `single_choice` question types.\n ```json\n\ \ {\n \"type\": \"response_based\",\n \"\ responseValues\": {\n \"responseKey\": \"value\"\n \ \ }\n }\n ```\n\n Specific question: Proceeds\ \ to a specific question by index.\n ```json\n {\n \ \ \"type\": \"specific_question\",\n \"index\": 2\n \ \ }\n ```\n\n Translations: Each question can include\ \ inline translations.\n - `translations`: Object mapping language\ \ codes to translated fields.\n - Language codes: Any string -\ \ allows customers to use their own language keys (e.g., \"es\", \"es-MX\"\ , \"english\", \"french\")\n - Translatable fields: `question`,\ \ `description`, `buttonText`, `choices`, `lowerBoundLabel`, `upperBoundLabel`,\ \ `link`\n\n Example with translations:\n ```json\n \ \ {\n \"id\": \"uuid\",\n \"type\": \"rating\"\ ,\n \"question\": \"How satisfied are you?\",\n \ \ \"lowerBoundLabel\": \"Not satisfied\",\n \"upperBoundLabel\"\ : \"Very satisfied\",\n \"translations\": {\n \ \ \"es\": {\n \"question\": \"¿Qué tan satisfecho\ \ estás?\",\n \"lowerBoundLabel\": \"No satisfecho\"\ ,\n \"upperBoundLabel\": \"Muy satisfecho\"\n \ \ },\n \"fr\": {\n \"question\"\ : \"Dans quelle mesure êtes-vous satisfait?\"\n }\n \ \ }\n }\n ```\n " conditions: allOf: - $ref: '#/components/schemas/SurveyConditionsSchema' nullable: true description: Display and targeting conditions for the survey. appearance: allOf: - $ref: '#/components/schemas/SurveyAppearanceSchema' nullable: true description: Survey appearance customization. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true start_date: type: string format: date-time nullable: true description: Setting this will launch the survey immediately. Don't add a start_date unless explicitly requested to do so. end_date: type: string format: date-time nullable: true description: When the survey stopped being shown to users. Setting this will complete the survey. archived: type: boolean description: Archive state for the survey. responses_limit: type: integer nullable: true description: The maximum number of responses before automatically stopping the survey. iteration_count: type: integer maximum: 500 minimum: 1 nullable: true description: For a recurring schedule, this field specifies the number of times the survey should be shown to the user. Use 1 for 'once every X days', higher numbers for multiple repetitions. Works together with iteration_frequency_days to determine the overall survey schedule. iteration_frequency_days: type: integer maximum: 365 minimum: 1 nullable: true description: For a recurring schedule, this field specifies the interval in days between each survey instance shown to the user, used alongside iteration_count for precise scheduling. iteration_start_dates: type: array items: type: string format: date-time nullable: true nullable: true current_iteration: type: integer maximum: 2147483647 minimum: 0 nullable: true current_iteration_start_date: type: string format: date-time nullable: true response_sampling_start_date: type: string format: date-time nullable: true response_sampling_interval_type: nullable: true oneOf: - $ref: '#/components/schemas/ResponseSamplingIntervalTypeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' response_sampling_interval: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_limit: type: integer maximum: 2147483647 minimum: 0 nullable: true response_sampling_daily_limits: nullable: true enable_partial_responses: type: boolean nullable: true description: When at least one question is answered, the response is stored (true). The response is stored when all questions are answered (false). enable_iframe_embedding: type: boolean nullable: true translations: nullable: true _create_in_folder: type: string writeOnly: true title: ' create in folder' form_content: nullable: true required: - created_at - created_by - id - internal_targeting_flag - linked_flag - name - targeting_flag - type SurveySingleChoiceQuestionSchema: type: object properties: type: $ref: '#/components/schemas/SurveySingleChoiceQuestionSchemaTypeEnum' question: type: string description: Question text shown to respondents. description: type: string description: Optional helper text. descriptionContentType: allOf: - $ref: '#/components/schemas/DescriptionContentTypeEnum' description: 'Format for the description field. * `text` - text * `html` - html' optional: type: boolean description: Whether respondents may skip this question. buttonText: type: string description: Custom button label. choices: type: array items: type: string description: Array of choice options. Choice indices (0, 1, 2, ...) are used for branching logic. maxItems: 20 minItems: 2 shuffleOptions: type: boolean description: Whether to randomize the order of choices for each respondent. hasOpenChoice: type: boolean description: Whether the final option should be an open-text choice (for example, 'Other'). branching: allOf: - $ref: '#/components/schemas/SurveyBranchingSchema' nullable: true required: - choices - question - type SurveySingleChoiceQuestionSchemaTypeEnum: enum: - single_choice type: string description: '* `single_choice` - single_choice' SurveySpecificQuestionBranching: type: object properties: type: allOf: - $ref: '#/components/schemas/SurveySpecificQuestionBranchingTypeEnum' description: 'Jump to a specific question index. * `specific_question` - specific_question' index: type: integer minimum: 0 description: 0-based index of the next question. required: - index - type SurveySpecificQuestionBranchingTypeEnum: enum: - specific_question type: string description: '* `specific_question` - specific_question' SurveyStatsResponse: type: object properties: survey_id: type: string description: The survey ID these stats belong to. start_date: type: string format: date-time nullable: true description: When the survey started collecting responses. end_date: type: string format: date-time nullable: true description: When the survey stopped collecting responses. stats: type: object additionalProperties: true description: Event counts keyed by event name (survey shown, survey dismissed, survey sent). rates: type: object additionalProperties: true description: Calculated response and dismissal rates. required: - end_date - rates - start_date - stats - survey_id SurveyType: enum: - popover - widget - external_survey - api type: string description: '* `popover` - popover * `widget` - widget * `external_survey` - external survey * `api` - api' SyncFrequencyEnum: enum: - never - 1min - 5min - 15min - 30min - 1hour - 6hour - 12hour - 24hour - 7day - 30day type: string description: '* `never` - never * `1min` - 1min * `5min` - 5min * `15min` - 15min * `30min` - 30min * `1hour` - 1hour * `6hour` - 6hour * `12hour` - 12hour * `24hour` - 24hour * `7day` - 7day * `30day` - 30day' SyncTypeEnum: enum: - full_refresh - incremental - append - webhook - cdc type: string description: '* `full_refresh` - full_refresh * `incremental` - incremental * `append` - append * `webhook` - webhook * `cdc` - cdc' Table: type: object description: Mixin for serializers to add user access control fields properties: id: type: string format: uuid readOnly: true deleted: type: boolean nullable: true name: type: string maxLength: 128 format: $ref: '#/components/schemas/TableFormatEnum' created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true url_pattern: type: string maxLength: 500 credential: $ref: '#/components/schemas/Credential' columns: type: array items: type: object additionalProperties: true readOnly: true external_data_source: allOf: - $ref: '#/components/schemas/SimpleExternalDataSourceSerializers' readOnly: true external_schema: type: object additionalProperties: true nullable: true readOnly: true options: type: object additionalProperties: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object required: - columns - created_at - created_by - credential - external_data_source - external_schema - format - id - name - url_pattern - user_access_level TableFormatEnum: enum: - CSV - CSVWithNames - Parquet - JSONEachRow - Delta - DeltaS3Wrapper type: string description: '* `CSV` - CSV * `CSVWithNames` - CSVWithNames * `Parquet` - Parquet * `JSONEachRow` - JSON * `Delta` - Delta * `DeltaS3Wrapper` - DeltaS3Wrapper' TableSettings: additionalProperties: false properties: columns: default: null title: Columns items: $ref: '#/components/schemas/ChartAxis' type: array nullable: true conditionalFormatting: default: null title: Conditionalformatting items: $ref: '#/components/schemas/ConditionalFormattingRule' type: array nullable: true pinnedColumns: default: null title: Pinnedcolumns items: type: string type: array nullable: true transpose: default: null title: Transpose type: boolean nullable: true title: TableSettings type: object Tagger: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 400 description: type: string enabled: type: boolean tagger_type: allOf: - $ref: '#/components/schemas/TaggerTypeEnum' default: llm tagger_config: description: Tagger configuration (varies by tagger_type) conditions: type: array items: $ref: '#/components/schemas/TaggerCondition' description: Conditions that scope when the tagger runs model_configuration: allOf: - $ref: '#/components/schemas/TaggerModelConfiguration' nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true deleted: type: boolean required: - created_at - created_by - id - name - tagger_config - updated_at TaggerCondition: type: object properties: id: type: string description: Stable identifier for this condition maxLength: 100 rollout_percentage: type: integer maximum: 100 minimum: 0 default: 100 description: Percentage of matching events to apply this condition to properties: type: array items: type: object additionalProperties: true description: Property filters that scope when this condition fires required: - id TaggerModelConfiguration: type: object description: Nested serializer for model configuration. properties: provider: $ref: '#/components/schemas/LLMProviderEnum' model: type: string maxLength: 100 provider_key_id: type: string format: uuid nullable: true provider_key_name: type: string nullable: true readOnly: true required: - model - provider - provider_key_name TaggerTypeEnum: enum: - llm - hog type: string description: '* `llm` - LLM * `hog` - Hog' TargetTypeEnum: enum: - email - slack - webhook type: string description: '* `email` - Email * `slack` - Slack * `webhook` - Webhook' Task: type: object properties: id: type: string format: uuid readOnly: true task_number: type: integer readOnly: true nullable: true slug: type: string readOnly: true title: type: string maxLength: 255 title_manually_set: type: boolean description: type: string origin_product: $ref: '#/components/schemas/OriginProductEnum' repository: type: string nullable: true maxLength: 255 github_integration: type: integer nullable: true description: GitHub integration for this task github_user_integration: type: string format: uuid nullable: true description: User-scoped GitHub integration to use for user-authored cloud runs. signal_report: type: string format: uuid nullable: true signal_report_task_relationship: allOf: - $ref: '#/components/schemas/SignalReportTaskRelationshipEnum' writeOnly: true json_schema: nullable: true description: JSON schema for the task. This is used to validate the output of the task. internal: type: boolean description: If true, this task is for internal use and should not be exposed to end users. latest_run: type: object additionalProperties: true nullable: true description: Latest run details for this task readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true ci_prompt: type: string nullable: true description: Custom prompt for CI fixes. If blank, a default prompt will be used. required: - created_at - created_by - id - latest_run - slug - task_number - updated_at TaskAutomation: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 prompt: type: string repository: type: string maxLength: 255 github_integration: type: integer nullable: true cron_expression: type: string maxLength: 100 timezone: type: string maxLength: 128 template_id: type: string nullable: true maxLength: 255 enabled: type: boolean last_run_at: type: string format: date-time nullable: true readOnly: true last_run_status: type: string nullable: true readOnly: true last_task_id: type: string nullable: true readOnly: true last_task_run_id: type: string nullable: true readOnly: true last_error: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true required: - created_at - cron_expression - id - last_error - last_run_at - last_run_status - last_task_id - last_task_run_id - name - prompt - repository - updated_at TaskExecutionModeEnum: enum: - interactive - background type: string description: '* `interactive` - interactive * `background` - background' TaskRepositoriesResponse: type: object properties: repositories: type: array items: type: string description: Distinct repositories in use by non-deleted, non-internal tasks for the current team. required: - repositories TaskRunAppendLogRequest: type: object properties: entries: type: array items: type: object additionalProperties: true description: Array of log entry dictionaries to append required: - entries TaskRunArtifactFinalizeUpload: type: object properties: id: type: string description: Stable identifier returned by the prepare upload endpoint name: type: string description: File name associated with the artifact maxLength: 255 type: allOf: - $ref: '#/components/schemas/TaskRunArtifactTypeEnum' description: 'Classification for the artifact * `plan` - plan * `context` - context * `reference` - reference * `output` - output * `artifact` - artifact * `tree_snapshot` - tree_snapshot * `user_attachment` - user_attachment' source: type: string default: '' description: Optional source label for the artifact, such as agent_output or user_attachment maxLength: 64 storage_path: type: string description: S3 object key returned by the prepare step maxLength: 500 content_type: type: string description: Optional MIME type recorded for the artifact maxLength: 255 required: - id - name - storage_path - type TaskRunArtifactPrepareUpload: type: object properties: name: type: string description: File name to associate with the artifact maxLength: 255 type: allOf: - $ref: '#/components/schemas/TaskRunArtifactTypeEnum' description: 'Classification for the artifact * `plan` - plan * `context` - context * `reference` - reference * `output` - output * `artifact` - artifact * `tree_snapshot` - tree_snapshot * `user_attachment` - user_attachment' source: type: string default: '' description: Optional source label for the artifact, such as agent_output or user_attachment maxLength: 64 size: type: integer maximum: 31457280 minimum: 1 description: Expected upload size in bytes (max 31457280 bytes) content_type: type: string description: Optional MIME type for the artifact upload maxLength: 255 required: - name - size - type TaskRunArtifactPrepareUploadResponse: type: object properties: id: type: string description: Stable identifier for the prepared artifact within this run name: type: string description: Artifact file name type: type: string description: Artifact classification (plan, context, etc.) source: type: string description: Source of the artifact, such as agent_output or user_attachment size: type: integer description: Expected upload size in bytes content_type: type: string description: Optional MIME type storage_path: type: string description: S3 object key reserved for the artifact expires_in: type: integer description: Presigned POST expiry in seconds presigned_post: allOf: - $ref: '#/components/schemas/S3PresignedPost' description: Presigned S3 POST configuration for uploading the file required: - expires_in - id - name - presigned_post - size - storage_path - type TaskRunArtifactPresignRequest: type: object properties: storage_path: type: string description: S3 storage path returned in the artifact manifest maxLength: 500 required: - storage_path TaskRunArtifactPresignResponse: type: object properties: url: type: string format: uri description: Presigned URL for downloading the artifact expires_in: type: integer description: URL expiry in seconds required: - expires_in - url TaskRunArtifactResponse: type: object properties: id: type: string description: Stable identifier for the artifact within this run name: type: string description: Artifact file name type: type: string description: Artifact classification (plan, context, etc.) source: type: string description: Source of the artifact, such as agent_output or user_attachment size: type: integer description: Artifact size in bytes content_type: type: string description: Optional MIME type storage_path: type: string description: S3 object key for the artifact uploaded_at: type: string description: Timestamp when the artifact was uploaded required: - name - storage_path - type - uploaded_at TaskRunArtifactTypeEnum: enum: - plan - context - reference - output - artifact - tree_snapshot - user_attachment type: string description: '* `plan` - plan * `context` - context * `reference` - reference * `output` - output * `artifact` - artifact * `tree_snapshot` - tree_snapshot * `user_attachment` - user_attachment' TaskRunArtifactUpload: type: object properties: name: type: string description: File name to associate with the artifact maxLength: 255 type: allOf: - $ref: '#/components/schemas/TaskRunArtifactTypeEnum' description: 'Classification for the artifact * `plan` - plan * `context` - context * `reference` - reference * `output` - output * `artifact` - artifact * `tree_snapshot` - tree_snapshot * `user_attachment` - user_attachment' source: type: string default: '' description: Optional source label for the artifact, such as agent_output or user_attachment maxLength: 64 content: type: string description: Artifact contents encoded according to content_encoding content_encoding: allOf: - $ref: '#/components/schemas/ContentEncodingEnum' default: utf-8 description: 'Encoding used for content. Use base64 for binary files and utf-8 for text payloads. * `utf-8` - utf-8 * `base64` - base64' content_type: type: string description: Optional MIME type for the artifact maxLength: 255 required: - content - name - type TaskRunArtifactsFinalizeUploadRequest: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactFinalizeUpload' description: Array of uploaded artifacts to finalize required: - artifacts TaskRunArtifactsFinalizeUploadResponse: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactResponse' description: Updated list of artifacts on the run required: - artifacts TaskRunArtifactsPrepareUploadRequest: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactPrepareUpload' description: Array of artifacts to prepare required: - artifacts TaskRunArtifactsPrepareUploadResponse: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactPrepareUploadResponse' description: Prepared uploads for the requested artifacts required: - artifacts TaskRunArtifactsUploadRequest: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactUpload' description: Array of artifacts to upload required: - artifacts TaskRunArtifactsUploadResponse: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactResponse' description: Updated list of artifacts on the run required: - artifacts TaskRunBootstrapCreateRequest: type: object description: Request body for creating a task run without starting execution yet. properties: environment: allOf: - $ref: '#/components/schemas/TaskRunBootstrapCreateRequestEnvironmentEnum' default: local description: 'Execution environment for the new run. Use ''cloud'' for remote sandbox runs and ''local'' for desktop sessions. * `local` - local * `cloud` - cloud' mode: allOf: - $ref: '#/components/schemas/TaskExecutionModeEnum' default: background description: 'Execution mode: ''interactive'' for user-connected runs, ''background'' for autonomous runs * `interactive` - interactive * `background` - background' branch: type: string nullable: true description: Git branch to checkout in the sandbox maxLength: 255 sandbox_environment_id: type: string format: uuid description: Optional sandbox environment to apply for this cloud run. pr_authorship_mode: allOf: - $ref: '#/components/schemas/PrAuthorshipModeEnum' description: 'Whether pull requests for this run should be authored by the user or the bot. * `user` - user * `bot` - bot' run_source: allOf: - $ref: '#/components/schemas/RunSourceEnum' description: 'High-level source that triggered this run, used to distinguish manual and signal-based cloud runs. * `manual` - manual * `signal_report` - signal_report' signal_report_id: type: string description: Optional signal report identifier when this run was started from Inbox. runtime_adapter: allOf: - $ref: '#/components/schemas/RuntimeAdapterEnum' description: 'Agent runtime adapter to launch for this run. Use ''claude'' for the Claude runtime or ''codex'' for the Codex runtime. * `claude` - claude * `codex` - codex' model: type: string description: LLM model identifier to run in the selected runtime. reasoning_effort: allOf: - $ref: '#/components/schemas/ReasoningEffortEnum' description: 'Reasoning effort to request for models that expose an effort control. * `low` - low * `medium` - medium * `high` - high * `xhigh` - xhigh * `max` - max' github_user_token: type: string writeOnly: true description: Ephemeral GitHub user token from PostHog Code for user-authored cloud pull requests. initial_permission_mode: allOf: - $ref: '#/components/schemas/TaskRunBootstrapCreateRequestInitialPermissionModeEnum' description: 'Initial permission mode for the agent session. Claude runtimes accept PostHog permission presets like ''plan''. Codex runtimes accept native Codex modes like ''auto'' and ''read-only''. * `default` - default * `acceptEdits` - acceptEdits * `plan` - plan * `bypassPermissions` - bypassPermissions * `auto` - auto * `read-only` - read-only * `full-access` - full-access' TaskRunBootstrapCreateRequestEnvironmentEnum: enum: - local - cloud type: string description: '* `local` - local * `cloud` - cloud' TaskRunBootstrapCreateRequestInitialPermissionModeEnum: enum: - default - acceptEdits - plan - bypassPermissions - auto - read-only - full-access type: string description: '* `default` - default * `acceptEdits` - acceptEdits * `plan` - plan * `bypassPermissions` - bypassPermissions * `auto` - auto * `read-only` - read-only * `full-access` - full-access' TaskRunCommandRequest: type: object description: JSON-RPC request to send a command to the agent server in the sandbox. properties: jsonrpc: allOf: - $ref: '#/components/schemas/JsonrpcEnum' description: 'JSON-RPC version, must be ''2.0'' * `2.0` - 2.0' method: allOf: - $ref: '#/components/schemas/MethodEnum' description: 'Command method to execute on the agent server * `user_message` - user_message * `cancel` - cancel * `close` - close * `permission_response` - permission_response * `set_config_option` - set_config_option' params: type: object additionalProperties: true description: Parameters for the command id: description: Optional JSON-RPC request ID (string or number) required: - jsonrpc - method TaskRunCommandResponse: type: object description: Response from the agent server command endpoint. properties: jsonrpc: type: string description: JSON-RPC version id: description: Request ID echoed back (string or number) result: type: object additionalProperties: true description: Command result on success error: type: object additionalProperties: true description: Error details on failure required: - jsonrpc TaskRunCreateRequestSchema: oneOf: - $ref: '#/components/schemas/ClaudeTaskRunCreateSchema' - $ref: '#/components/schemas/CodexTaskRunCreateSchema' - $ref: '#/components/schemas/TaskRunResumeRequestSchema' TaskRunDetail: type: object properties: id: type: string format: uuid readOnly: true task: type: string format: uuid readOnly: true stage: type: string nullable: true description: Current stage for this run (e.g., 'research', 'plan', 'build') maxLength: 100 branch: type: string nullable: true description: Branch name for the run maxLength: 255 status: $ref: '#/components/schemas/TaskRunDetailStatusEnum' environment: allOf: - $ref: '#/components/schemas/TaskRunDetailEnvironmentEnum' description: 'Execution environment * `local` - Local * `cloud` - Cloud' runtime_adapter: nullable: true description: Configured runtime adapter for this run, such as 'claude' or 'codex'. readOnly: true oneOf: - $ref: '#/components/schemas/RuntimeAdapterEnum' - $ref: '#/components/schemas/NullEnum' provider: nullable: true description: Configured LLM provider for this run, such as 'anthropic' or 'openai'. readOnly: true oneOf: - $ref: '#/components/schemas/TaskRunDetailProviderEnum' - $ref: '#/components/schemas/NullEnum' model: type: string nullable: true description: Configured LLM model identifier for this run. readOnly: true reasoning_effort: nullable: true description: Configured reasoning effort for this run when the selected model supports it. readOnly: true oneOf: - $ref: '#/components/schemas/ReasoningEffortEnum' - $ref: '#/components/schemas/NullEnum' log_url: type: string format: uri nullable: true description: Presigned S3 URL for log access (valid for 1 hour). readOnly: true error_message: type: string nullable: true description: Error message if execution failed output: nullable: true description: Run output data (e.g., PR URL, commit SHA, etc.) state: description: Run state data for resuming or tracking execution state artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactResponse' readOnly: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true completed_at: type: string format: date-time readOnly: true nullable: true required: - artifacts - completed_at - created_at - id - log_url - model - provider - reasoning_effort - runtime_adapter - task - updated_at TaskRunDetailEnvironmentEnum: enum: - local - cloud type: string description: '* `local` - Local * `cloud` - Cloud' TaskRunDetailProviderEnum: enum: - anthropic - openai type: string TaskRunDetailStatusEnum: enum: - not_started - queued - in_progress - completed - failed - cancelled type: string description: '* `not_started` - Not Started * `queued` - Queued * `in_progress` - In Progress * `completed` - Completed * `failed` - Failed * `cancelled` - Cancelled' TaskRunErrorResponse: type: object properties: detail: type: string description: Human-readable validation error error: type: string description: Human-readable error message type: type: string description: Machine-readable error type code: type: string description: Machine-readable error code attr: type: string description: Request field associated with the error missing_artifact_ids: type: array items: type: string description: Artifact ids that could not be resolved for the run TaskRunRelayMessageRequest: type: object properties: text: type: string maxLength: 10000 required: - text TaskRunRelayMessageResponse: type: object properties: status: type: string description: 'Relay status: ''accepted'' or ''skipped''' relay_id: type: string description: Relay workflow ID when accepted required: - status TaskRunResumeRequestSchema: type: object properties: mode: allOf: - $ref: '#/components/schemas/TaskExecutionModeEnum' default: background description: 'Execution mode: ''interactive'' for user-connected runs, ''background'' for autonomous runs * `interactive` - interactive * `background` - background' branch: type: string nullable: true description: Git branch to checkout in the sandbox maxLength: 255 resume_from_run_id: type: string format: uuid description: ID of a previous run to resume from. Must belong to the same task. pending_user_message: type: string description: Initial or follow-up user message to include in the run prompt. sandbox_environment_id: type: string format: uuid description: Optional sandbox environment to apply for this cloud run. pr_authorship_mode: allOf: - $ref: '#/components/schemas/PrAuthorshipModeEnum' description: 'Whether pull requests for this run should be authored by the user or the bot. * `user` - user * `bot` - bot' run_source: allOf: - $ref: '#/components/schemas/RunSourceEnum' description: 'High-level source that triggered this run, used to distinguish manual and signal-based cloud runs. * `manual` - manual * `signal_report` - signal_report' signal_report_id: type: string description: Optional signal report identifier when this run was started from Inbox. github_user_token: type: string writeOnly: true description: Optional GitHub user token from PostHog Code for user-authored cloud pull requests. Prefer linking GitHub from Settings → Linked accounts so the server can manage tokens; this field remains supported for callers that still manage their own tokens. TaskRunStartRequest: type: object properties: pending_user_message: type: string description: Initial or follow-up user message to include in the run prompt. pending_user_artifact_ids: type: array items: type: string maxLength: 128 description: Identifiers for run artifacts that should be attached to the next user message delivered to the sandbox. TaskRunUpdateEnvironmentEnum: enum: - local type: string description: '* `local` - local' TaskRunUpdateStatusEnum: enum: - not_started - queued - in_progress - completed - failed - cancelled type: string description: '* `not_started` - not_started * `queued` - queued * `in_progress` - in_progress * `completed` - completed * `failed` - failed * `cancelled` - cancelled' TaskStagedArtifactFinalizeUpload: type: object properties: id: type: string description: Stable identifier returned by the staged prepare upload endpoint name: type: string description: File name associated with the staged artifact maxLength: 255 type: allOf: - $ref: '#/components/schemas/TaskRunArtifactTypeEnum' description: 'Classification for the artifact * `plan` - plan * `context` - context * `reference` - reference * `output` - output * `artifact` - artifact * `tree_snapshot` - tree_snapshot * `user_attachment` - user_attachment' source: type: string default: '' description: Optional source label for the artifact, such as agent_output or user_attachment maxLength: 64 storage_path: type: string description: S3 object key returned by the prepare step maxLength: 500 content_type: type: string description: Optional MIME type recorded for the artifact maxLength: 255 required: - id - name - storage_path - type TaskStagedArtifactPrepareUpload: type: object properties: name: type: string description: File name to associate with the staged artifact maxLength: 255 type: allOf: - $ref: '#/components/schemas/TaskRunArtifactTypeEnum' description: 'Classification for the artifact * `plan` - plan * `context` - context * `reference` - reference * `output` - output * `artifact` - artifact * `tree_snapshot` - tree_snapshot * `user_attachment` - user_attachment' source: type: string default: '' description: Optional source label for the artifact, such as agent_output or user_attachment maxLength: 64 size: type: integer maximum: 31457280 minimum: 1 description: Expected upload size in bytes (max 31457280 bytes) content_type: type: string description: Optional MIME type for the artifact upload maxLength: 255 required: - name - size - type TaskStagedArtifactPrepareUploadResponse: type: object properties: id: type: string description: Stable identifier for the prepared staged artifact within this task name: type: string description: Artifact file name type: type: string description: Artifact classification (plan, context, etc.) source: type: string description: Source of the artifact, such as agent_output or user_attachment size: type: integer description: Expected upload size in bytes content_type: type: string description: Optional MIME type storage_path: type: string description: S3 object key reserved for the staged artifact expires_in: type: integer description: Presigned POST expiry in seconds presigned_post: allOf: - $ref: '#/components/schemas/S3PresignedPost' description: Presigned S3 POST configuration for uploading the file required: - expires_in - id - name - presigned_post - size - storage_path - type TaskStagedArtifactsFinalizeUploadRequest: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskStagedArtifactFinalizeUpload' description: Array of staged artifacts to finalize after upload required: - artifacts TaskStagedArtifactsFinalizeUploadResponse: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskRunArtifactResponse' description: Finalized staged artifacts available for attachment to a new run required: - artifacts TaskStagedArtifactsPrepareUploadRequest: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskStagedArtifactPrepareUpload' description: Array of staged artifacts to prepare before creating a run required: - artifacts TaskStagedArtifactsPrepareUploadResponse: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/TaskStagedArtifactPrepareUploadResponse' description: Prepared staged uploads for the requested artifacts required: - artifacts TaxonomicFilterGroupType: enum: - metadata - actions - cohorts - cohorts_with_all - data_warehouse - data_warehouse_properties - data_warehouse_person_properties - elements - events - internal_events - internal_event_properties - event_properties - event_feature_flags - event_metadata - numerical_event_properties - person_properties - pageview_urls - pageview_events - screens - screen_events - email_addresses - autocapture_events - custom_events - wildcard - groups - persons - feature_flags - insights - experiments - plugins - dashboards - name_groups - session_properties - hogql_expression - notebooks - log_entries - error_tracking_issues - logs - log_attributes - log_resource_attributes - spans - span_attributes - span_resource_attributes - replay - replay_saved_filters - revenue_analytics_properties - resources - error_tracking_properties - activity_log_properties - max_ai_context - workflow_variables - suggested_filters - recent_filters - pinned_filters - empty title: TaxonomicFilterGroupType type: string Team: type: object properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true name: type: string maxLength: 200 minLength: 1 access_control: type: boolean organization: type: string format: uuid readOnly: true project_id: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 readOnly: true api_token: type: string readOnly: true secret_api_token: type: string readOnly: true nullable: true secret_api_token_backup: type: string readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true ingested_event: type: boolean readOnly: true default_modifiers: type: object additionalProperties: true readOnly: true person_on_events_querying_enabled: type: boolean readOnly: true user_access_level: type: string nullable: true readOnly: true description: The effective access level the user has for this object app_urls: type: array items: type: string nullable: true maxLength: 200 anonymize_ips: type: boolean completed_snippet_onboarding: type: boolean test_account_filters: {} test_account_filters_default_checked: type: boolean nullable: true path_cleaning_filters: nullable: true is_demo: type: boolean timezone: $ref: '#/components/schemas/TimezoneEnum' data_attributes: {} person_display_name_properties: type: array items: type: string maxLength: 400 nullable: true correlation_config: nullable: true autocapture_opt_out: type: boolean nullable: true autocapture_exceptions_opt_in: type: boolean nullable: true autocapture_web_vitals_opt_in: type: boolean nullable: true autocapture_web_vitals_allowed_metrics: nullable: true autocapture_exceptions_errors_to_ignore: nullable: true capture_console_log_opt_in: type: boolean nullable: true logs_settings: nullable: true capture_performance_opt_in: type: boolean nullable: true session_recording_opt_in: type: boolean session_recording_sample_rate: type: string format: decimal pattern: ^-?\d{0,1}(?:\.\d{0,2})?$ nullable: true session_recording_minimum_duration_milliseconds: type: integer maximum: 30000 minimum: 0 nullable: true session_recording_linked_flag: nullable: true session_recording_network_payload_capture_config: nullable: true session_recording_masking_config: nullable: true session_recording_url_trigger_config: type: array items: nullable: true nullable: true session_recording_url_blocklist_config: type: array items: nullable: true nullable: true session_recording_event_trigger_config: type: array items: type: string nullable: true nullable: true session_recording_trigger_match_type_config: type: string nullable: true maxLength: 24 session_recording_trigger_groups: nullable: true description: V2 trigger groups configuration for session recording. If present, takes precedence over legacy trigger fields. session_recording_retention_period: $ref: '#/components/schemas/SessionRecordingRetentionPeriodEnum' session_replay_config: nullable: true survey_config: nullable: true week_start_day: nullable: true oneOf: - $ref: '#/components/schemas/WeekStartDayEnum' - $ref: '#/components/schemas/NullEnum' primary_dashboard: type: integer nullable: true live_events_columns: type: array items: type: string nullable: true recording_domains: type: array items: type: string nullable: true maxLength: 200 nullable: true cookieless_server_hash_mode: nullable: true oneOf: - $ref: '#/components/schemas/CookielessServerHashModeEnum' - $ref: '#/components/schemas/NullEnum' human_friendly_comparison_periods: type: boolean nullable: true inject_web_apps: type: boolean nullable: true extra_settings: nullable: true modifiers: nullable: true has_completed_onboarding_for: nullable: true surveys_opt_in: type: boolean nullable: true heatmaps_opt_in: type: boolean nullable: true flags_persistence_default: type: boolean nullable: true feature_flag_confirmation_enabled: type: boolean nullable: true feature_flag_confirmation_message: type: string nullable: true default_evaluation_contexts_enabled: type: boolean nullable: true description: Whether to automatically apply default evaluation contexts to new feature flags require_evaluation_contexts: type: boolean nullable: true description: Whether to require at least one evaluation context tag when creating new feature flags capture_dead_clicks: type: boolean nullable: true default_data_theme: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true revenue_analytics_config: $ref: '#/components/schemas/TeamRevenueAnalyticsConfig' marketing_analytics_config: $ref: '#/components/schemas/TeamMarketingAnalyticsConfig' customer_analytics_config: $ref: '#/components/schemas/TeamCustomerAnalyticsConfig' onboarding_tasks: nullable: true base_currency: allOf: - $ref: '#/components/schemas/BaseCurrencyEnum' default: USD web_analytics_pre_aggregated_tables_enabled: type: boolean nullable: true receive_org_level_activity_logs: type: boolean nullable: true business_model: nullable: true description: 'Whether this project serves B2B or B2C customers, used to optimize the UI layout. * `b2b` - B2B * `b2c` - B2C * `other` - Other' oneOf: - $ref: '#/components/schemas/BusinessModelEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' conversations_enabled: type: boolean nullable: true conversations_settings: nullable: true proactive_tasks_enabled: type: boolean nullable: true effective_membership_level: allOf: - $ref: '#/components/schemas/EffectiveMembershipLevelEnum' nullable: true readOnly: true has_group_types: type: boolean readOnly: true group_types: type: array items: type: object additionalProperties: true readOnly: true live_events_token: type: string nullable: true readOnly: true product_intents: type: array items: type: object additionalProperties: true readOnly: true managed_viewsets: type: object additionalProperties: type: boolean readOnly: true available_setup_task_ids: type: array items: $ref: '#/components/schemas/AvailableSetupTaskIdsEnum' readOnly: true required: - api_token - available_setup_task_ids - created_at - default_modifiers - effective_membership_level - group_types - has_group_types - id - ingested_event - live_events_token - managed_viewsets - organization - person_on_events_querying_enabled - product_intents - project_id - secret_api_token - secret_api_token_backup - updated_at - user_access_level - uuid TeamBasic: type: object description: 'Serializer for `Team` model with minimal attributes to speeed up loading and transfer times. Also used for nested serializers.' properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true organization: type: string format: uuid readOnly: true project_id: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 readOnly: true api_token: type: string readOnly: true name: type: string readOnly: true completed_snippet_onboarding: type: boolean readOnly: true has_completed_onboarding_for: readOnly: true nullable: true ingested_event: type: boolean readOnly: true is_demo: type: boolean readOnly: true timezone: allOf: - $ref: '#/components/schemas/TimezoneEnum' readOnly: true access_control: type: boolean readOnly: true required: - access_control - api_token - completed_snippet_onboarding - has_completed_onboarding_for - id - ingested_event - is_demo - name - organization - project_id - timezone - uuid TeamCustomerAnalyticsConfig: type: object properties: activity_event: {} signup_pageview_event: {} signup_event: {} subscription_event: {} payment_event: {} TeamMarketingAnalyticsConfig: type: object properties: sources_map: {} conversion_goals: {} attribution_window_days: type: integer maximum: 90 minimum: 1 attribution_mode: $ref: '#/components/schemas/AttributionModeEnum' campaign_name_mappings: {} custom_source_mappings: {} campaign_field_preferences: {} TeamRevenueAnalyticsConfig: type: object properties: base_currency: $ref: '#/components/schemas/BaseCurrencyEnum' events: {} goals: {} filter_test_accounts: type: boolean TeamTaxonomyItem: additionalProperties: false properties: count: title: Count type: integer event: title: Event type: string required: - count - event title: TeamTaxonomyItem type: object TeamTaxonomyQuery: additionalProperties: false properties: kind: default: TeamTaxonomyQuery title: Kind type: string enum: - TeamTaxonomyQuery limit: default: null description: Number of rows to return title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null description: Number of rows to skip before returning rows title: Offset type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/TeamTaxonomyQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: TeamTaxonomyQuery type: object TeamTaxonomyQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/TeamTaxonomyItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: TeamTaxonomyQueryResponse type: object TestHogRequest: type: object properties: source: type: string description: Hog source code to test. Must return a boolean (true = pass, false = fail) or null for N/A. minLength: 1 sample_count: type: integer maximum: 10 minimum: 1 default: 5 description: Number of recent $ai_generation events to test against (1–10, default 5). allows_na: type: boolean default: false description: Whether the evaluation can return N/A for non-applicable generations. conditions: type: array items: type: object additionalProperties: true description: Optional trigger conditions to filter which events are sampled. required: - source TestHogResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/TestHogResultItem' message: type: string description: Optional message, e.g. when no recent events were found. required: - results TestHogResultItem: type: object properties: event_uuid: type: string description: UUID of the $ai_generation event. trace_id: type: string nullable: true description: Trace ID if available. input_preview: type: string description: First 200 chars of the generation input. output_preview: type: string description: First 200 chars of the generation output. result: type: boolean nullable: true description: True = pass, False = fail, null = N/A or error. reasoning: type: string nullable: true description: Hog evaluation reasoning string, if any. error: type: string nullable: true description: Error message if the Hog code raised an exception. required: - error - event_uuid - input_preview - output_preview - reasoning - result TextMatching: enum: - contains - exact - regex - null title: TextMatching TextReprMetadata: type: object properties: event_type: type: string event_id: type: string trace_id: type: string rendering: type: string char_count: type: integer truncated: type: boolean error: type: string required: - char_count - rendering - truncated TextReprOptions: type: object properties: max_length: type: integer description: 'Maximum length of generated text (default: 2000000)' truncated: type: boolean description: 'Use truncation for long content within events (default: true)' truncate_buffer: type: integer description: 'Characters to show at start/end when truncating (default: 1000)' include_markers: type: boolean description: 'Use interactive markers for frontend vs plain text for backend/LLM (default: true)' collapsed: type: boolean description: 'Show summary vs full tree hierarchy for traces (default: false)' include_metadata: type: boolean description: Include metadata in response include_hierarchy: type: boolean description: Include hierarchy information (for traces) max_depth: type: integer description: Maximum depth for hierarchical rendering tools_collapse_threshold: type: integer description: 'Number of tools before collapsing the list (default: 5)' include_line_numbers: type: boolean description: 'Prefix each line with line number (default: false)' TextReprRequest: type: object properties: event_type: allOf: - $ref: '#/components/schemas/EventTypeEnum' description: 'Type of LLM event to stringify * `$ai_generation` - $ai_generation * `$ai_span` - $ai_span * `$ai_embedding` - $ai_embedding * `$ai_trace` - $ai_trace' data: description: Event data to stringify. For traces, should include 'trace' and 'hierarchy' fields. options: allOf: - $ref: '#/components/schemas/TextReprOptions' description: Optional configuration for text generation required: - data - event_type TextReprResponse: type: object properties: text: type: string description: Generated text representation of the event metadata: allOf: - $ref: '#/components/schemas/TextReprMetadata' description: Metadata about the text representation required: - metadata - text ThemeModeEnum: enum: - light - dark - system type: string description: '* `light` - Light * `dark` - Dark * `system` - System' Threshold: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true name: type: string description: Optional name for the threshold. configuration: allOf: - $ref: '#/components/schemas/InsightThreshold' description: Threshold bounds and type. Includes bounds (lower/upper floats) and type (absolute or percentage). required: - configuration - created_at - id ThresholdDetectorConfig: additionalProperties: false properties: lower_bound: default: null description: Lower bound - values below this are anomalies title: Lower Bound type: number nullable: true preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true type: default: threshold title: Type type: string enum: - threshold upper_bound: default: null description: Upper bound - values above this are anomalies title: Upper Bound type: number nullable: true title: ThresholdDetectorConfig type: object ThresholdOperatorEnum: enum: - above - below type: string description: '* `above` - Above * `below` - Below' ThresholdWithAlert: type: object properties: id: type: string format: uuid readOnly: true created_at: type: string format: date-time readOnly: true name: type: string description: Optional name for the threshold. configuration: allOf: - $ref: '#/components/schemas/InsightThreshold' description: Threshold bounds and type. Includes bounds (lower/upper floats) and type (absolute or percentage). alerts: type: array items: $ref: '#/components/schemas/Alert' readOnly: true required: - alerts - configuration - created_at - id Ticket: type: object description: Serializer mixin that handles tags for objects. properties: id: type: string format: uuid readOnly: true ticket_number: type: integer readOnly: true channel_source: allOf: - $ref: '#/components/schemas/ChannelSourceEnum' readOnly: true channel_detail: readOnly: true nullable: true oneOf: - $ref: '#/components/schemas/ChannelDetailEnum' - $ref: '#/components/schemas/NullEnum' distinct_id: type: string readOnly: true status: allOf: - $ref: '#/components/schemas/TicketStatusEnum' description: 'Ticket status: new, open, pending, on_hold, or resolved * `new` - New * `open` - Open * `pending` - Pending * `on_hold` - On hold * `resolved` - Resolved' priority: nullable: true description: 'Ticket priority: low, medium, or high. Null if unset. * `low` - Low * `medium` - Medium * `high` - High' oneOf: - $ref: '#/components/schemas/PriorityEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' assignee: allOf: - $ref: '#/components/schemas/TicketAssignment' readOnly: true anonymous_traits: description: Customer-provided traits such as name and email ai_resolved: type: boolean escalation_reason: type: string nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true message_count: type: integer readOnly: true last_message_at: type: string format: date-time readOnly: true nullable: true last_message_text: type: string readOnly: true nullable: true unread_team_count: type: integer readOnly: true unread_customer_count: type: integer readOnly: true session_id: type: string readOnly: true nullable: true session_context: readOnly: true sla_due_at: type: string format: date-time nullable: true description: SLA deadline set via workflows. Null means no SLA. snoozed_until: type: string format: date-time nullable: true slack_channel_id: type: string readOnly: true nullable: true slack_thread_ts: type: string readOnly: true nullable: true slack_team_id: type: string readOnly: true nullable: true email_subject: type: string readOnly: true nullable: true email_from: type: string format: email readOnly: true nullable: true email_to: type: string nullable: true readOnly: true cc_participants: readOnly: true person: allOf: - $ref: '#/components/schemas/TicketPerson' readOnly: true nullable: true tags: type: array items: {} required: - assignee - cc_participants - channel_detail - channel_source - created_at - distinct_id - email_from - email_subject - email_to - id - last_message_at - last_message_text - message_count - person - session_context - session_id - slack_channel_id - slack_team_id - slack_thread_ts - ticket_number - unread_customer_count - unread_team_count - updated_at TicketAssignment: type: object description: Serializer for ticket assignment (user or role). properties: id: type: string nullable: true readOnly: true type: type: string readOnly: true user: type: object additionalProperties: type: string nullable: true readOnly: true role: type: object additionalProperties: type: string nullable: true readOnly: true required: - id - role - type - user TicketPerson: type: object description: Minimal person serializer for embedding in ticket responses. properties: id: type: string format: uuid readOnly: true name: type: string readOnly: true distinct_ids: type: array items: type: string readOnly: true properties: type: object additionalProperties: true readOnly: true created_at: type: string format: date-time readOnly: true is_identified: type: boolean readOnly: true required: - created_at - distinct_ids - id - is_identified - name - properties TicketStatusEnum: enum: - new - open - pending - on_hold - resolved type: string description: '* `new` - New * `open` - Open * `pending` - Pending * `on_hold` - On hold * `resolved` - Resolved' TicketView: type: object properties: id: type: string format: uuid readOnly: true short_id: type: string readOnly: true name: type: string maxLength: 400 filters: type: object additionalProperties: true description: Saved ticket filter criteria. May contain status, priority, channel, sla, assignee, tags, dateFrom, dateTo, and sorting keys. created_at: type: string format: date-time readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true required: - created_at - created_by - id - name - short_id TimeWindowMode: enum: - strict_calendar_dates - 24_hour_windows title: TimeWindowMode type: string TimelineEntry: additionalProperties: false properties: events: items: $ref: '#/components/schemas/EventType' title: Events type: array recording_duration_s: default: null description: Duration of the recording in seconds. title: Recording Duration S type: number nullable: true sessionId: default: null description: Session ID. None means out-of-session events title: Sessionid type: string nullable: true required: - events title: TimelineEntry type: object TimezoneEnum: enum: - Africa/Abidjan - Africa/Accra - Africa/Addis_Ababa - Africa/Algiers - Africa/Asmara - Africa/Asmera - Africa/Bamako - Africa/Bangui - Africa/Banjul - Africa/Bissau - Africa/Blantyre - Africa/Brazzaville - Africa/Bujumbura - Africa/Cairo - Africa/Casablanca - Africa/Ceuta - Africa/Conakry - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Douala - Africa/El_Aaiun - Africa/Freetown - Africa/Gaborone - Africa/Harare - Africa/Johannesburg - Africa/Juba - Africa/Kampala - Africa/Khartoum - Africa/Kigali - Africa/Kinshasa - Africa/Lagos - Africa/Libreville - Africa/Lome - Africa/Luanda - Africa/Lubumbashi - Africa/Lusaka - Africa/Malabo - Africa/Maputo - Africa/Maseru - Africa/Mbabane - Africa/Mogadishu - Africa/Monrovia - Africa/Nairobi - Africa/Ndjamena - Africa/Niamey - Africa/Nouakchott - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Timbuktu - Africa/Tripoli - Africa/Tunis - Africa/Windhoek - America/Adak - America/Anchorage - America/Anguilla - America/Antigua - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/ComodRivadavia - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Aruba - America/Asuncion - America/Atikokan - America/Atka - America/Bahia - America/Bahia_Banderas - America/Barbados - America/Belem - America/Belize - America/Blanc-Sablon - America/Boa_Vista - America/Bogota - America/Boise - America/Buenos_Aires - America/Cambridge_Bay - America/Campo_Grande - America/Cancun - America/Caracas - America/Catamarca - America/Cayenne - America/Cayman - America/Chicago - America/Chihuahua - America/Ciudad_Juarez - America/Coral_Harbour - America/Cordoba - America/Costa_Rica - America/Creston - America/Cuiaba - America/Curacao - America/Danmarkshavn - America/Dawson - America/Dawson_Creek - America/Denver - America/Detroit - America/Dominica - America/Edmonton - America/Eirunepe - America/El_Salvador - America/Ensenada - America/Fort_Nelson - America/Fort_Wayne - America/Fortaleza - America/Glace_Bay - America/Godthab - America/Goose_Bay - America/Grand_Turk - America/Grenada - America/Guadeloupe - America/Guatemala - America/Guayaquil - America/Guyana - America/Halifax - America/Havana - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Indianapolis - America/Inuvik - America/Iqaluit - America/Jamaica - America/Jujuy - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Knox_IN - America/Kralendijk - America/La_Paz - America/Lima - America/Los_Angeles - America/Louisville - America/Lower_Princes - America/Maceio - America/Managua - America/Manaus - America/Marigot - America/Martinique - America/Matamoros - America/Mazatlan - America/Mendoza - America/Menominee - America/Merida - America/Metlakatla - America/Mexico_City - America/Miquelon - America/Moncton - America/Monterrey - America/Montevideo - America/Montreal - America/Montserrat - America/Nassau - America/New_York - America/Nipigon - America/Nome - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/Nuuk - America/Ojinaga - America/Panama - America/Pangnirtung - America/Paramaribo - America/Phoenix - America/Port-au-Prince - America/Port_of_Spain - America/Porto_Acre - America/Porto_Velho - America/Puerto_Rico - America/Punta_Arenas - America/Rainy_River - America/Rankin_Inlet - America/Recife - America/Regina - America/Resolute - America/Rio_Branco - America/Rosario - America/Santa_Isabel - America/Santarem - America/Santiago - America/Santo_Domingo - America/Sao_Paulo - America/Scoresbysund - America/Shiprock - America/Sitka - America/St_Barthelemy - America/St_Johns - America/St_Kitts - America/St_Lucia - America/St_Thomas - America/St_Vincent - America/Swift_Current - America/Tegucigalpa - America/Thule - America/Thunder_Bay - America/Tijuana - America/Toronto - America/Tortola - America/Vancouver - America/Virgin - America/Whitehorse - America/Winnipeg - America/Yakutat - America/Yellowknife - Antarctica/Casey - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Rothera - Antarctica/South_Pole - Antarctica/Syowa - Antarctica/Troll - Antarctica/Vostok - Arctic/Longyearbyen - Asia/Aden - Asia/Almaty - Asia/Amman - Asia/Anadyr - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Ashkhabad - Asia/Atyrau - Asia/Baghdad - Asia/Bahrain - Asia/Baku - Asia/Bangkok - Asia/Barnaul - Asia/Beirut - Asia/Bishkek - Asia/Brunei - Asia/Calcutta - Asia/Chita - Asia/Choibalsan - Asia/Chongqing - Asia/Chungking - Asia/Colombo - Asia/Dacca - Asia/Damascus - Asia/Dhaka - Asia/Dili - Asia/Dubai - Asia/Dushanbe - Asia/Famagusta - Asia/Gaza - Asia/Harbin - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hovd - Asia/Irkutsk - Asia/Istanbul - Asia/Jakarta - Asia/Jayapura - Asia/Jerusalem - Asia/Kabul - Asia/Kamchatka - Asia/Karachi - Asia/Kashgar - Asia/Kathmandu - Asia/Katmandu - Asia/Khandyga - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuwait - Asia/Macao - Asia/Macau - Asia/Magadan - Asia/Makassar - Asia/Manila - Asia/Muscat - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Omsk - Asia/Oral - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pyongyang - Asia/Qatar - Asia/Qostanay - Asia/Qyzylorda - Asia/Rangoon - Asia/Riyadh - Asia/Saigon - Asia/Sakhalin - Asia/Samarkand - Asia/Seoul - Asia/Shanghai - Asia/Singapore - Asia/Srednekolymsk - Asia/Taipei - Asia/Tashkent - Asia/Tbilisi - Asia/Tehran - Asia/Tel_Aviv - Asia/Thimbu - Asia/Thimphu - Asia/Tokyo - Asia/Tomsk - Asia/Ujung_Pandang - Asia/Ulaanbaatar - Asia/Ulan_Bator - Asia/Urumqi - Asia/Ust-Nera - Asia/Vientiane - Asia/Vladivostok - Asia/Yakutsk - Asia/Yangon - Asia/Yekaterinburg - Asia/Yerevan - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Faeroe - Atlantic/Faroe - Atlantic/Jan_Mayen - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/Stanley - Australia/ACT - Australia/Adelaide - Australia/Brisbane - Australia/Broken_Hill - Australia/Canberra - Australia/Currie - Australia/Darwin - Australia/Eucla - Australia/Hobart - Australia/LHI - Australia/Lindeman - Australia/Lord_Howe - Australia/Melbourne - Australia/NSW - Australia/North - Australia/Perth - Australia/Queensland - Australia/South - Australia/Sydney - Australia/Tasmania - Australia/Victoria - Australia/West - Australia/Yancowinna - Brazil/Acre - Brazil/DeNoronha - Brazil/East - Brazil/West - CET - CST6CDT - Canada/Atlantic - Canada/Central - Canada/Eastern - Canada/Mountain - Canada/Newfoundland - Canada/Pacific - Canada/Saskatchewan - Canada/Yukon - Chile/Continental - Chile/EasterIsland - Cuba - EET - EST - EST5EDT - Egypt - Eire - Etc/GMT - Etc/GMT+0 - Etc/GMT+1 - Etc/GMT+10 - Etc/GMT+11 - Etc/GMT+12 - Etc/GMT+2 - Etc/GMT+3 - Etc/GMT+4 - Etc/GMT+5 - Etc/GMT+6 - Etc/GMT+7 - Etc/GMT+8 - Etc/GMT+9 - Etc/GMT-0 - Etc/GMT-1 - Etc/GMT-10 - Etc/GMT-11 - Etc/GMT-12 - Etc/GMT-13 - Etc/GMT-14 - Etc/GMT-2 - Etc/GMT-3 - Etc/GMT-4 - Etc/GMT-5 - Etc/GMT-6 - Etc/GMT-7 - Etc/GMT-8 - Etc/GMT-9 - Etc/GMT0 - Etc/Greenwich - Etc/UCT - Etc/UTC - Etc/Universal - Etc/Zulu - Europe/Amsterdam - Europe/Andorra - Europe/Astrakhan - Europe/Athens - Europe/Belfast - Europe/Belgrade - Europe/Berlin - Europe/Bratislava - Europe/Brussels - Europe/Bucharest - Europe/Budapest - Europe/Busingen - Europe/Chisinau - Europe/Copenhagen - Europe/Dublin - Europe/Gibraltar - Europe/Guernsey - Europe/Helsinki - Europe/Isle_of_Man - Europe/Istanbul - Europe/Jersey - Europe/Kaliningrad - Europe/Kiev - Europe/Kirov - Europe/Kyiv - Europe/Lisbon - Europe/Ljubljana - Europe/London - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Mariehamn - Europe/Minsk - Europe/Monaco - Europe/Moscow - Europe/Nicosia - Europe/Oslo - Europe/Paris - Europe/Podgorica - Europe/Prague - Europe/Riga - Europe/Rome - Europe/Samara - Europe/San_Marino - Europe/Sarajevo - Europe/Saratov - Europe/Simferopol - Europe/Skopje - Europe/Sofia - Europe/Stockholm - Europe/Tallinn - Europe/Tirane - Europe/Tiraspol - Europe/Ulyanovsk - Europe/Uzhgorod - Europe/Vaduz - Europe/Vatican - Europe/Vienna - Europe/Vilnius - Europe/Volgograd - Europe/Warsaw - Europe/Zagreb - Europe/Zaporozhye - Europe/Zurich - GB - GB-Eire - GMT - GMT+0 - GMT-0 - GMT0 - Greenwich - HST - Hongkong - Iceland - Indian/Antananarivo - Indian/Chagos - Indian/Christmas - Indian/Cocos - Indian/Comoro - Indian/Kerguelen - Indian/Mahe - Indian/Maldives - Indian/Mauritius - Indian/Mayotte - Indian/Reunion - Iran - Israel - Jamaica - Japan - Kwajalein - Libya - MET - MST - MST7MDT - Mexico/BajaNorte - Mexico/BajaSur - Mexico/General - NZ - NZ-CHAT - Navajo - PRC - PST8PDT - Pacific/Apia - Pacific/Auckland - Pacific/Bougainville - Pacific/Chatham - Pacific/Chuuk - Pacific/Easter - Pacific/Efate - Pacific/Enderbury - Pacific/Fakaofo - Pacific/Fiji - Pacific/Funafuti - Pacific/Galapagos - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guam - Pacific/Honolulu - Pacific/Johnston - Pacific/Kanton - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Majuro - Pacific/Marquesas - Pacific/Midway - Pacific/Nauru - Pacific/Niue - Pacific/Norfolk - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Palau - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Ponape - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Saipan - Pacific/Samoa - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Truk - Pacific/Wake - Pacific/Wallis - Pacific/Yap - Poland - Portugal - ROC - ROK - Singapore - Turkey - UCT - US/Alaska - US/Aleutian - US/Arizona - US/Central - US/East-Indiana - US/Eastern - US/Hawaii - US/Indiana-Starke - US/Michigan - US/Mountain - US/Pacific - US/Samoa - UTC - Universal - W-SU - WET - Zulu type: string description: '* `Africa/Abidjan` - Africa/Abidjan * `Africa/Accra` - Africa/Accra * `Africa/Addis_Ababa` - Africa/Addis_Ababa * `Africa/Algiers` - Africa/Algiers * `Africa/Asmara` - Africa/Asmara * `Africa/Asmera` - Africa/Asmera * `Africa/Bamako` - Africa/Bamako * `Africa/Bangui` - Africa/Bangui * `Africa/Banjul` - Africa/Banjul * `Africa/Bissau` - Africa/Bissau * `Africa/Blantyre` - Africa/Blantyre * `Africa/Brazzaville` - Africa/Brazzaville * `Africa/Bujumbura` - Africa/Bujumbura * `Africa/Cairo` - Africa/Cairo * `Africa/Casablanca` - Africa/Casablanca * `Africa/Ceuta` - Africa/Ceuta * `Africa/Conakry` - Africa/Conakry * `Africa/Dakar` - Africa/Dakar * `Africa/Dar_es_Salaam` - Africa/Dar_es_Salaam * `Africa/Djibouti` - Africa/Djibouti * `Africa/Douala` - Africa/Douala * `Africa/El_Aaiun` - Africa/El_Aaiun * `Africa/Freetown` - Africa/Freetown * `Africa/Gaborone` - Africa/Gaborone * `Africa/Harare` - Africa/Harare * `Africa/Johannesburg` - Africa/Johannesburg * `Africa/Juba` - Africa/Juba * `Africa/Kampala` - Africa/Kampala * `Africa/Khartoum` - Africa/Khartoum * `Africa/Kigali` - Africa/Kigali * `Africa/Kinshasa` - Africa/Kinshasa * `Africa/Lagos` - Africa/Lagos * `Africa/Libreville` - Africa/Libreville * `Africa/Lome` - Africa/Lome * `Africa/Luanda` - Africa/Luanda * `Africa/Lubumbashi` - Africa/Lubumbashi * `Africa/Lusaka` - Africa/Lusaka * `Africa/Malabo` - Africa/Malabo * `Africa/Maputo` - Africa/Maputo * `Africa/Maseru` - Africa/Maseru * `Africa/Mbabane` - Africa/Mbabane * `Africa/Mogadishu` - Africa/Mogadishu * `Africa/Monrovia` - Africa/Monrovia * `Africa/Nairobi` - Africa/Nairobi * `Africa/Ndjamena` - Africa/Ndjamena * `Africa/Niamey` - Africa/Niamey * `Africa/Nouakchott` - Africa/Nouakchott * `Africa/Ouagadougou` - Africa/Ouagadougou * `Africa/Porto-Novo` - Africa/Porto-Novo * `Africa/Sao_Tome` - Africa/Sao_Tome * `Africa/Timbuktu` - Africa/Timbuktu * `Africa/Tripoli` - Africa/Tripoli * `Africa/Tunis` - Africa/Tunis * `Africa/Windhoek` - Africa/Windhoek * `America/Adak` - America/Adak * `America/Anchorage` - America/Anchorage * `America/Anguilla` - America/Anguilla * `America/Antigua` - America/Antigua * `America/Araguaina` - America/Araguaina * `America/Argentina/Buenos_Aires` - America/Argentina/Buenos_Aires * `America/Argentina/Catamarca` - America/Argentina/Catamarca * `America/Argentina/ComodRivadavia` - America/Argentina/ComodRivadavia * `America/Argentina/Cordoba` - America/Argentina/Cordoba * `America/Argentina/Jujuy` - America/Argentina/Jujuy * `America/Argentina/La_Rioja` - America/Argentina/La_Rioja * `America/Argentina/Mendoza` - America/Argentina/Mendoza * `America/Argentina/Rio_Gallegos` - America/Argentina/Rio_Gallegos * `America/Argentina/Salta` - America/Argentina/Salta * `America/Argentina/San_Juan` - America/Argentina/San_Juan * `America/Argentina/San_Luis` - America/Argentina/San_Luis * `America/Argentina/Tucuman` - America/Argentina/Tucuman * `America/Argentina/Ushuaia` - America/Argentina/Ushuaia * `America/Aruba` - America/Aruba * `America/Asuncion` - America/Asuncion * `America/Atikokan` - America/Atikokan * `America/Atka` - America/Atka * `America/Bahia` - America/Bahia * `America/Bahia_Banderas` - America/Bahia_Banderas * `America/Barbados` - America/Barbados * `America/Belem` - America/Belem * `America/Belize` - America/Belize * `America/Blanc-Sablon` - America/Blanc-Sablon * `America/Boa_Vista` - America/Boa_Vista * `America/Bogota` - America/Bogota * `America/Boise` - America/Boise * `America/Buenos_Aires` - America/Buenos_Aires * `America/Cambridge_Bay` - America/Cambridge_Bay * `America/Campo_Grande` - America/Campo_Grande * `America/Cancun` - America/Cancun * `America/Caracas` - America/Caracas * `America/Catamarca` - America/Catamarca * `America/Cayenne` - America/Cayenne * `America/Cayman` - America/Cayman * `America/Chicago` - America/Chicago * `America/Chihuahua` - America/Chihuahua * `America/Ciudad_Juarez` - America/Ciudad_Juarez * `America/Coral_Harbour` - America/Coral_Harbour * `America/Cordoba` - America/Cordoba * `America/Costa_Rica` - America/Costa_Rica * `America/Creston` - America/Creston * `America/Cuiaba` - America/Cuiaba * `America/Curacao` - America/Curacao * `America/Danmarkshavn` - America/Danmarkshavn * `America/Dawson` - America/Dawson * `America/Dawson_Creek` - America/Dawson_Creek * `America/Denver` - America/Denver * `America/Detroit` - America/Detroit * `America/Dominica` - America/Dominica * `America/Edmonton` - America/Edmonton * `America/Eirunepe` - America/Eirunepe * `America/El_Salvador` - America/El_Salvador * `America/Ensenada` - America/Ensenada * `America/Fort_Nelson` - America/Fort_Nelson * `America/Fort_Wayne` - America/Fort_Wayne * `America/Fortaleza` - America/Fortaleza * `America/Glace_Bay` - America/Glace_Bay * `America/Godthab` - America/Godthab * `America/Goose_Bay` - America/Goose_Bay * `America/Grand_Turk` - America/Grand_Turk * `America/Grenada` - America/Grenada * `America/Guadeloupe` - America/Guadeloupe * `America/Guatemala` - America/Guatemala * `America/Guayaquil` - America/Guayaquil * `America/Guyana` - America/Guyana * `America/Halifax` - America/Halifax * `America/Havana` - America/Havana * `America/Hermosillo` - America/Hermosillo * `America/Indiana/Indianapolis` - America/Indiana/Indianapolis * `America/Indiana/Knox` - America/Indiana/Knox * `America/Indiana/Marengo` - America/Indiana/Marengo * `America/Indiana/Petersburg` - America/Indiana/Petersburg * `America/Indiana/Tell_City` - America/Indiana/Tell_City * `America/Indiana/Vevay` - America/Indiana/Vevay * `America/Indiana/Vincennes` - America/Indiana/Vincennes * `America/Indiana/Winamac` - America/Indiana/Winamac * `America/Indianapolis` - America/Indianapolis * `America/Inuvik` - America/Inuvik * `America/Iqaluit` - America/Iqaluit * `America/Jamaica` - America/Jamaica * `America/Jujuy` - America/Jujuy * `America/Juneau` - America/Juneau * `America/Kentucky/Louisville` - America/Kentucky/Louisville * `America/Kentucky/Monticello` - America/Kentucky/Monticello * `America/Knox_IN` - America/Knox_IN * `America/Kralendijk` - America/Kralendijk * `America/La_Paz` - America/La_Paz * `America/Lima` - America/Lima * `America/Los_Angeles` - America/Los_Angeles * `America/Louisville` - America/Louisville * `America/Lower_Princes` - America/Lower_Princes * `America/Maceio` - America/Maceio * `America/Managua` - America/Managua * `America/Manaus` - America/Manaus * `America/Marigot` - America/Marigot * `America/Martinique` - America/Martinique * `America/Matamoros` - America/Matamoros * `America/Mazatlan` - America/Mazatlan * `America/Mendoza` - America/Mendoza * `America/Menominee` - America/Menominee * `America/Merida` - America/Merida * `America/Metlakatla` - America/Metlakatla * `America/Mexico_City` - America/Mexico_City * `America/Miquelon` - America/Miquelon * `America/Moncton` - America/Moncton * `America/Monterrey` - America/Monterrey * `America/Montevideo` - America/Montevideo * `America/Montreal` - America/Montreal * `America/Montserrat` - America/Montserrat * `America/Nassau` - America/Nassau * `America/New_York` - America/New_York * `America/Nipigon` - America/Nipigon * `America/Nome` - America/Nome * `America/Noronha` - America/Noronha * `America/North_Dakota/Beulah` - America/North_Dakota/Beulah * `America/North_Dakota/Center` - America/North_Dakota/Center * `America/North_Dakota/New_Salem` - America/North_Dakota/New_Salem * `America/Nuuk` - America/Nuuk * `America/Ojinaga` - America/Ojinaga * `America/Panama` - America/Panama * `America/Pangnirtung` - America/Pangnirtung * `America/Paramaribo` - America/Paramaribo * `America/Phoenix` - America/Phoenix * `America/Port-au-Prince` - America/Port-au-Prince * `America/Port_of_Spain` - America/Port_of_Spain * `America/Porto_Acre` - America/Porto_Acre * `America/Porto_Velho` - America/Porto_Velho * `America/Puerto_Rico` - America/Puerto_Rico * `America/Punta_Arenas` - America/Punta_Arenas * `America/Rainy_River` - America/Rainy_River * `America/Rankin_Inlet` - America/Rankin_Inlet * `America/Recife` - America/Recife * `America/Regina` - America/Regina * `America/Resolute` - America/Resolute * `America/Rio_Branco` - America/Rio_Branco * `America/Rosario` - America/Rosario * `America/Santa_Isabel` - America/Santa_Isabel * `America/Santarem` - America/Santarem * `America/Santiago` - America/Santiago * `America/Santo_Domingo` - America/Santo_Domingo * `America/Sao_Paulo` - America/Sao_Paulo * `America/Scoresbysund` - America/Scoresbysund * `America/Shiprock` - America/Shiprock * `America/Sitka` - America/Sitka * `America/St_Barthelemy` - America/St_Barthelemy * `America/St_Johns` - America/St_Johns * `America/St_Kitts` - America/St_Kitts * `America/St_Lucia` - America/St_Lucia * `America/St_Thomas` - America/St_Thomas * `America/St_Vincent` - America/St_Vincent * `America/Swift_Current` - America/Swift_Current * `America/Tegucigalpa` - America/Tegucigalpa * `America/Thule` - America/Thule * `America/Thunder_Bay` - America/Thunder_Bay * `America/Tijuana` - America/Tijuana * `America/Toronto` - America/Toronto * `America/Tortola` - America/Tortola * `America/Vancouver` - America/Vancouver * `America/Virgin` - America/Virgin * `America/Whitehorse` - America/Whitehorse * `America/Winnipeg` - America/Winnipeg * `America/Yakutat` - America/Yakutat * `America/Yellowknife` - America/Yellowknife * `Antarctica/Casey` - Antarctica/Casey * `Antarctica/Davis` - Antarctica/Davis * `Antarctica/DumontDUrville` - Antarctica/DumontDUrville * `Antarctica/Macquarie` - Antarctica/Macquarie * `Antarctica/Mawson` - Antarctica/Mawson * `Antarctica/McMurdo` - Antarctica/McMurdo * `Antarctica/Palmer` - Antarctica/Palmer * `Antarctica/Rothera` - Antarctica/Rothera * `Antarctica/South_Pole` - Antarctica/South_Pole * `Antarctica/Syowa` - Antarctica/Syowa * `Antarctica/Troll` - Antarctica/Troll * `Antarctica/Vostok` - Antarctica/Vostok * `Arctic/Longyearbyen` - Arctic/Longyearbyen * `Asia/Aden` - Asia/Aden * `Asia/Almaty` - Asia/Almaty * `Asia/Amman` - Asia/Amman * `Asia/Anadyr` - Asia/Anadyr * `Asia/Aqtau` - Asia/Aqtau * `Asia/Aqtobe` - Asia/Aqtobe * `Asia/Ashgabat` - Asia/Ashgabat * `Asia/Ashkhabad` - Asia/Ashkhabad * `Asia/Atyrau` - Asia/Atyrau * `Asia/Baghdad` - Asia/Baghdad * `Asia/Bahrain` - Asia/Bahrain * `Asia/Baku` - Asia/Baku * `Asia/Bangkok` - Asia/Bangkok * `Asia/Barnaul` - Asia/Barnaul * `Asia/Beirut` - Asia/Beirut * `Asia/Bishkek` - Asia/Bishkek * `Asia/Brunei` - Asia/Brunei * `Asia/Calcutta` - Asia/Calcutta * `Asia/Chita` - Asia/Chita * `Asia/Choibalsan` - Asia/Choibalsan * `Asia/Chongqing` - Asia/Chongqing * `Asia/Chungking` - Asia/Chungking * `Asia/Colombo` - Asia/Colombo * `Asia/Dacca` - Asia/Dacca * `Asia/Damascus` - Asia/Damascus * `Asia/Dhaka` - Asia/Dhaka * `Asia/Dili` - Asia/Dili * `Asia/Dubai` - Asia/Dubai * `Asia/Dushanbe` - Asia/Dushanbe * `Asia/Famagusta` - Asia/Famagusta * `Asia/Gaza` - Asia/Gaza * `Asia/Harbin` - Asia/Harbin * `Asia/Hebron` - Asia/Hebron * `Asia/Ho_Chi_Minh` - Asia/Ho_Chi_Minh * `Asia/Hong_Kong` - Asia/Hong_Kong * `Asia/Hovd` - Asia/Hovd * `Asia/Irkutsk` - Asia/Irkutsk * `Asia/Istanbul` - Asia/Istanbul * `Asia/Jakarta` - Asia/Jakarta * `Asia/Jayapura` - Asia/Jayapura * `Asia/Jerusalem` - Asia/Jerusalem * `Asia/Kabul` - Asia/Kabul * `Asia/Kamchatka` - Asia/Kamchatka * `Asia/Karachi` - Asia/Karachi * `Asia/Kashgar` - Asia/Kashgar * `Asia/Kathmandu` - Asia/Kathmandu * `Asia/Katmandu` - Asia/Katmandu * `Asia/Khandyga` - Asia/Khandyga * `Asia/Kolkata` - Asia/Kolkata * `Asia/Krasnoyarsk` - Asia/Krasnoyarsk * `Asia/Kuala_Lumpur` - Asia/Kuala_Lumpur * `Asia/Kuching` - Asia/Kuching * `Asia/Kuwait` - Asia/Kuwait * `Asia/Macao` - Asia/Macao * `Asia/Macau` - Asia/Macau * `Asia/Magadan` - Asia/Magadan * `Asia/Makassar` - Asia/Makassar * `Asia/Manila` - Asia/Manila * `Asia/Muscat` - Asia/Muscat * `Asia/Nicosia` - Asia/Nicosia * `Asia/Novokuznetsk` - Asia/Novokuznetsk * `Asia/Novosibirsk` - Asia/Novosibirsk * `Asia/Omsk` - Asia/Omsk * `Asia/Oral` - Asia/Oral * `Asia/Phnom_Penh` - Asia/Phnom_Penh * `Asia/Pontianak` - Asia/Pontianak * `Asia/Pyongyang` - Asia/Pyongyang * `Asia/Qatar` - Asia/Qatar * `Asia/Qostanay` - Asia/Qostanay * `Asia/Qyzylorda` - Asia/Qyzylorda * `Asia/Rangoon` - Asia/Rangoon * `Asia/Riyadh` - Asia/Riyadh * `Asia/Saigon` - Asia/Saigon * `Asia/Sakhalin` - Asia/Sakhalin * `Asia/Samarkand` - Asia/Samarkand * `Asia/Seoul` - Asia/Seoul * `Asia/Shanghai` - Asia/Shanghai * `Asia/Singapore` - Asia/Singapore * `Asia/Srednekolymsk` - Asia/Srednekolymsk * `Asia/Taipei` - Asia/Taipei * `Asia/Tashkent` - Asia/Tashkent * `Asia/Tbilisi` - Asia/Tbilisi * `Asia/Tehran` - Asia/Tehran * `Asia/Tel_Aviv` - Asia/Tel_Aviv * `Asia/Thimbu` - Asia/Thimbu * `Asia/Thimphu` - Asia/Thimphu * `Asia/Tokyo` - Asia/Tokyo * `Asia/Tomsk` - Asia/Tomsk * `Asia/Ujung_Pandang` - Asia/Ujung_Pandang * `Asia/Ulaanbaatar` - Asia/Ulaanbaatar * `Asia/Ulan_Bator` - Asia/Ulan_Bator * `Asia/Urumqi` - Asia/Urumqi * `Asia/Ust-Nera` - Asia/Ust-Nera * `Asia/Vientiane` - Asia/Vientiane * `Asia/Vladivostok` - Asia/Vladivostok * `Asia/Yakutsk` - Asia/Yakutsk * `Asia/Yangon` - Asia/Yangon * `Asia/Yekaterinburg` - Asia/Yekaterinburg * `Asia/Yerevan` - Asia/Yerevan * `Atlantic/Azores` - Atlantic/Azores * `Atlantic/Bermuda` - Atlantic/Bermuda * `Atlantic/Canary` - Atlantic/Canary * `Atlantic/Cape_Verde` - Atlantic/Cape_Verde * `Atlantic/Faeroe` - Atlantic/Faeroe * `Atlantic/Faroe` - Atlantic/Faroe * `Atlantic/Jan_Mayen` - Atlantic/Jan_Mayen * `Atlantic/Madeira` - Atlantic/Madeira * `Atlantic/Reykjavik` - Atlantic/Reykjavik * `Atlantic/South_Georgia` - Atlantic/South_Georgia * `Atlantic/St_Helena` - Atlantic/St_Helena * `Atlantic/Stanley` - Atlantic/Stanley * `Australia/ACT` - Australia/ACT * `Australia/Adelaide` - Australia/Adelaide * `Australia/Brisbane` - Australia/Brisbane * `Australia/Broken_Hill` - Australia/Broken_Hill * `Australia/Canberra` - Australia/Canberra * `Australia/Currie` - Australia/Currie * `Australia/Darwin` - Australia/Darwin * `Australia/Eucla` - Australia/Eucla * `Australia/Hobart` - Australia/Hobart * `Australia/LHI` - Australia/LHI * `Australia/Lindeman` - Australia/Lindeman * `Australia/Lord_Howe` - Australia/Lord_Howe * `Australia/Melbourne` - Australia/Melbourne * `Australia/NSW` - Australia/NSW * `Australia/North` - Australia/North * `Australia/Perth` - Australia/Perth * `Australia/Queensland` - Australia/Queensland * `Australia/South` - Australia/South * `Australia/Sydney` - Australia/Sydney * `Australia/Tasmania` - Australia/Tasmania * `Australia/Victoria` - Australia/Victoria * `Australia/West` - Australia/West * `Australia/Yancowinna` - Australia/Yancowinna * `Brazil/Acre` - Brazil/Acre * `Brazil/DeNoronha` - Brazil/DeNoronha * `Brazil/East` - Brazil/East * `Brazil/West` - Brazil/West * `CET` - CET * `CST6CDT` - CST6CDT * `Canada/Atlantic` - Canada/Atlantic * `Canada/Central` - Canada/Central * `Canada/Eastern` - Canada/Eastern * `Canada/Mountain` - Canada/Mountain * `Canada/Newfoundland` - Canada/Newfoundland * `Canada/Pacific` - Canada/Pacific * `Canada/Saskatchewan` - Canada/Saskatchewan * `Canada/Yukon` - Canada/Yukon * `Chile/Continental` - Chile/Continental * `Chile/EasterIsland` - Chile/EasterIsland * `Cuba` - Cuba * `EET` - EET * `EST` - EST * `EST5EDT` - EST5EDT * `Egypt` - Egypt * `Eire` - Eire * `Etc/GMT` - Etc/GMT * `Etc/GMT+0` - Etc/GMT+0 * `Etc/GMT+1` - Etc/GMT+1 * `Etc/GMT+10` - Etc/GMT+10 * `Etc/GMT+11` - Etc/GMT+11 * `Etc/GMT+12` - Etc/GMT+12 * `Etc/GMT+2` - Etc/GMT+2 * `Etc/GMT+3` - Etc/GMT+3 * `Etc/GMT+4` - Etc/GMT+4 * `Etc/GMT+5` - Etc/GMT+5 * `Etc/GMT+6` - Etc/GMT+6 * `Etc/GMT+7` - Etc/GMT+7 * `Etc/GMT+8` - Etc/GMT+8 * `Etc/GMT+9` - Etc/GMT+9 * `Etc/GMT-0` - Etc/GMT-0 * `Etc/GMT-1` - Etc/GMT-1 * `Etc/GMT-10` - Etc/GMT-10 * `Etc/GMT-11` - Etc/GMT-11 * `Etc/GMT-12` - Etc/GMT-12 * `Etc/GMT-13` - Etc/GMT-13 * `Etc/GMT-14` - Etc/GMT-14 * `Etc/GMT-2` - Etc/GMT-2 * `Etc/GMT-3` - Etc/GMT-3 * `Etc/GMT-4` - Etc/GMT-4 * `Etc/GMT-5` - Etc/GMT-5 * `Etc/GMT-6` - Etc/GMT-6 * `Etc/GMT-7` - Etc/GMT-7 * `Etc/GMT-8` - Etc/GMT-8 * `Etc/GMT-9` - Etc/GMT-9 * `Etc/GMT0` - Etc/GMT0 * `Etc/Greenwich` - Etc/Greenwich * `Etc/UCT` - Etc/UCT * `Etc/UTC` - Etc/UTC * `Etc/Universal` - Etc/Universal * `Etc/Zulu` - Etc/Zulu * `Europe/Amsterdam` - Europe/Amsterdam * `Europe/Andorra` - Europe/Andorra * `Europe/Astrakhan` - Europe/Astrakhan * `Europe/Athens` - Europe/Athens * `Europe/Belfast` - Europe/Belfast * `Europe/Belgrade` - Europe/Belgrade * `Europe/Berlin` - Europe/Berlin * `Europe/Bratislava` - Europe/Bratislava * `Europe/Brussels` - Europe/Brussels * `Europe/Bucharest` - Europe/Bucharest * `Europe/Budapest` - Europe/Budapest * `Europe/Busingen` - Europe/Busingen * `Europe/Chisinau` - Europe/Chisinau * `Europe/Copenhagen` - Europe/Copenhagen * `Europe/Dublin` - Europe/Dublin * `Europe/Gibraltar` - Europe/Gibraltar * `Europe/Guernsey` - Europe/Guernsey * `Europe/Helsinki` - Europe/Helsinki * `Europe/Isle_of_Man` - Europe/Isle_of_Man * `Europe/Istanbul` - Europe/Istanbul * `Europe/Jersey` - Europe/Jersey * `Europe/Kaliningrad` - Europe/Kaliningrad * `Europe/Kiev` - Europe/Kiev * `Europe/Kirov` - Europe/Kirov * `Europe/Kyiv` - Europe/Kyiv * `Europe/Lisbon` - Europe/Lisbon * `Europe/Ljubljana` - Europe/Ljubljana * `Europe/London` - Europe/London * `Europe/Luxembourg` - Europe/Luxembourg * `Europe/Madrid` - Europe/Madrid * `Europe/Malta` - Europe/Malta * `Europe/Mariehamn` - Europe/Mariehamn * `Europe/Minsk` - Europe/Minsk * `Europe/Monaco` - Europe/Monaco * `Europe/Moscow` - Europe/Moscow * `Europe/Nicosia` - Europe/Nicosia * `Europe/Oslo` - Europe/Oslo * `Europe/Paris` - Europe/Paris * `Europe/Podgorica` - Europe/Podgorica * `Europe/Prague` - Europe/Prague * `Europe/Riga` - Europe/Riga * `Europe/Rome` - Europe/Rome * `Europe/Samara` - Europe/Samara * `Europe/San_Marino` - Europe/San_Marino * `Europe/Sarajevo` - Europe/Sarajevo * `Europe/Saratov` - Europe/Saratov * `Europe/Simferopol` - Europe/Simferopol * `Europe/Skopje` - Europe/Skopje * `Europe/Sofia` - Europe/Sofia * `Europe/Stockholm` - Europe/Stockholm * `Europe/Tallinn` - Europe/Tallinn * `Europe/Tirane` - Europe/Tirane * `Europe/Tiraspol` - Europe/Tiraspol * `Europe/Ulyanovsk` - Europe/Ulyanovsk * `Europe/Uzhgorod` - Europe/Uzhgorod * `Europe/Vaduz` - Europe/Vaduz * `Europe/Vatican` - Europe/Vatican * `Europe/Vienna` - Europe/Vienna * `Europe/Vilnius` - Europe/Vilnius * `Europe/Volgograd` - Europe/Volgograd * `Europe/Warsaw` - Europe/Warsaw * `Europe/Zagreb` - Europe/Zagreb * `Europe/Zaporozhye` - Europe/Zaporozhye * `Europe/Zurich` - Europe/Zurich * `GB` - GB * `GB-Eire` - GB-Eire * `GMT` - GMT * `GMT+0` - GMT+0 * `GMT-0` - GMT-0 * `GMT0` - GMT0 * `Greenwich` - Greenwich * `HST` - HST * `Hongkong` - Hongkong * `Iceland` - Iceland * `Indian/Antananarivo` - Indian/Antananarivo * `Indian/Chagos` - Indian/Chagos * `Indian/Christmas` - Indian/Christmas * `Indian/Cocos` - Indian/Cocos * `Indian/Comoro` - Indian/Comoro * `Indian/Kerguelen` - Indian/Kerguelen * `Indian/Mahe` - Indian/Mahe * `Indian/Maldives` - Indian/Maldives * `Indian/Mauritius` - Indian/Mauritius * `Indian/Mayotte` - Indian/Mayotte * `Indian/Reunion` - Indian/Reunion * `Iran` - Iran * `Israel` - Israel * `Jamaica` - Jamaica * `Japan` - Japan * `Kwajalein` - Kwajalein * `Libya` - Libya * `MET` - MET * `MST` - MST * `MST7MDT` - MST7MDT * `Mexico/BajaNorte` - Mexico/BajaNorte * `Mexico/BajaSur` - Mexico/BajaSur * `Mexico/General` - Mexico/General * `NZ` - NZ * `NZ-CHAT` - NZ-CHAT * `Navajo` - Navajo * `PRC` - PRC * `PST8PDT` - PST8PDT * `Pacific/Apia` - Pacific/Apia * `Pacific/Auckland` - Pacific/Auckland * `Pacific/Bougainville` - Pacific/Bougainville * `Pacific/Chatham` - Pacific/Chatham * `Pacific/Chuuk` - Pacific/Chuuk * `Pacific/Easter` - Pacific/Easter * `Pacific/Efate` - Pacific/Efate * `Pacific/Enderbury` - Pacific/Enderbury * `Pacific/Fakaofo` - Pacific/Fakaofo * `Pacific/Fiji` - Pacific/Fiji * `Pacific/Funafuti` - Pacific/Funafuti * `Pacific/Galapagos` - Pacific/Galapagos * `Pacific/Gambier` - Pacific/Gambier * `Pacific/Guadalcanal` - Pacific/Guadalcanal * `Pacific/Guam` - Pacific/Guam * `Pacific/Honolulu` - Pacific/Honolulu * `Pacific/Johnston` - Pacific/Johnston * `Pacific/Kanton` - Pacific/Kanton * `Pacific/Kiritimati` - Pacific/Kiritimati * `Pacific/Kosrae` - Pacific/Kosrae * `Pacific/Kwajalein` - Pacific/Kwajalein * `Pacific/Majuro` - Pacific/Majuro * `Pacific/Marquesas` - Pacific/Marquesas * `Pacific/Midway` - Pacific/Midway * `Pacific/Nauru` - Pacific/Nauru * `Pacific/Niue` - Pacific/Niue * `Pacific/Norfolk` - Pacific/Norfolk * `Pacific/Noumea` - Pacific/Noumea * `Pacific/Pago_Pago` - Pacific/Pago_Pago * `Pacific/Palau` - Pacific/Palau * `Pacific/Pitcairn` - Pacific/Pitcairn * `Pacific/Pohnpei` - Pacific/Pohnpei * `Pacific/Ponape` - Pacific/Ponape * `Pacific/Port_Moresby` - Pacific/Port_Moresby * `Pacific/Rarotonga` - Pacific/Rarotonga * `Pacific/Saipan` - Pacific/Saipan * `Pacific/Samoa` - Pacific/Samoa * `Pacific/Tahiti` - Pacific/Tahiti * `Pacific/Tarawa` - Pacific/Tarawa * `Pacific/Tongatapu` - Pacific/Tongatapu * `Pacific/Truk` - Pacific/Truk * `Pacific/Wake` - Pacific/Wake * `Pacific/Wallis` - Pacific/Wallis * `Pacific/Yap` - Pacific/Yap * `Poland` - Poland * `Portugal` - Portugal * `ROC` - ROC * `ROK` - ROK * `Singapore` - Singapore * `Turkey` - Turkey * `UCT` - UCT * `US/Alaska` - US/Alaska * `US/Aleutian` - US/Aleutian * `US/Arizona` - US/Arizona * `US/Central` - US/Central * `US/East-Indiana` - US/East-Indiana * `US/Eastern` - US/Eastern * `US/Hawaii` - US/Hawaii * `US/Indiana-Starke` - US/Indiana-Starke * `US/Michigan` - US/Michigan * `US/Mountain` - US/Mountain * `US/Pacific` - US/Pacific * `US/Samoa` - US/Samoa * `UTC` - UTC * `Universal` - Universal * `W-SU` - W-SU * `WET` - WET * `Zulu` - Zulu' ToleratedHashEntry: type: object properties: id: type: string format: uuid alternate_hash: type: string baseline_hash: type: string reason: type: string diff_percentage: type: number format: double nullable: true created_at: type: string format: date-time source_run_id: type: string format: uuid nullable: true required: - alternate_hash - baseline_hash - created_at - diff_percentage - id - reason - source_run_id ToolApprovalUpdateApprovalStateEnum: enum: - approved - needs_approval - do_not_use type: string description: '* `approved` - approved * `needs_approval` - needs_approval * `do_not_use` - do_not_use' ToolbarModeEnum: enum: - disabled - toolbar type: string description: '* `disabled` - disabled * `toolbar` - toolbar' TopPage: type: object properties: host: type: string description: Host for the page, if recorded. path: type: string description: URL path. visitors: type: integer description: Unique visitors in the period. change: allOf: - $ref: '#/components/schemas/WoWChange' nullable: true description: Period-over-period change in visitors, null when not meaningful. required: - change - host - path - visitors TopSource: type: object properties: name: type: string description: Initial referring domain. visitors: type: integer description: Unique visitors from this source. change: allOf: - $ref: '#/components/schemas/WoWChange' nullable: true description: Period-over-period change in visitors, null when not meaningful. required: - change - name - visitors TraceNeighborsQuery: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterSupportTraces: default: null title: Filtersupporttraces type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true kind: default: TraceNeighborsQuery title: Kind type: string enum: - TraceNeighborsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/TraceNeighborsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true timestamp: description: Timestamp of the current trace to find neighbors for title: Timestamp type: string traceId: description: ID of the current trace to find neighbors for title: Traceid type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - timestamp - traceId title: TraceNeighborsQuery type: object TraceNeighborsQueryResponse: additionalProperties: false properties: newerTimestamp: default: null description: Timestamp of the newer trace title: Newertimestamp type: string nullable: true newerTraceId: default: null description: ID of the newer trace (chronologically after current) title: Newertraceid type: string nullable: true olderTimestamp: default: null description: Timestamp of the older trace title: Oldertimestamp type: string nullable: true olderTraceId: default: null description: ID of the older trace (chronologically before current) title: Oldertraceid type: string nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true title: TraceNeighborsQueryResponse type: object TraceQuery: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true kind: default: TraceQuery title: Kind type: string enum: - TraceQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true response: default: null allOf: - $ref: '#/components/schemas/TraceQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true traceId: title: Traceid type: string version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - traceId title: TraceQuery type: object TraceQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LLMTrace' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: TraceQueryResponse type: object TraceReview: type: object properties: id: type: string format: uuid readOnly: true trace_id: type: string readOnly: true description: Trace ID for the review. comment: type: string readOnly: true nullable: true description: Optional comment or reasoning for the review. created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true reviewed_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true description: User who last saved this review. scores: type: array items: $ref: '#/components/schemas/TraceReviewScore' readOnly: true description: Saved scorer values for this review. team: type: integer readOnly: true required: - comment - created_at - created_by - id - reviewed_by - scores - team - trace_id - updated_at TraceReviewCreate: type: object properties: trace_id: type: string description: Trace ID for the review. Only one active review can exist per trace and team. maxLength: 255 comment: type: string nullable: true description: Optional comment or reasoning for the review. scores: type: array items: $ref: '#/components/schemas/TraceReviewScoreWrite' description: Full desired score set for this review. Omit scorers you want to leave blank. queue_id: type: string format: uuid nullable: true description: Optional review queue ID for queue-context saves. When provided, the matching pending queue item is cleared after the review is saved. If omitted, any pending queue item for the same trace is cleared. required: - trace_id TraceReviewScore: type: object properties: id: type: string format: uuid readOnly: true definition_id: type: string format: uuid readOnly: true description: Stable scorer definition ID. definition_name: type: string readOnly: true description: Human-readable scorer name. definition_kind: type: string readOnly: true description: Scorer kind for this saved score. definition_archived: type: boolean readOnly: true description: Whether the scorer is currently archived. definition_version_id: type: string format: uuid readOnly: true description: Immutable scorer version ID used to validate this score. definition_version: type: integer readOnly: true description: Immutable scorer version number used to validate this score. definition_config: allOf: - $ref: '#/components/schemas/ScoreDefinitionConfig' readOnly: true description: Immutable scorer configuration snapshot used to validate this score. categorical_values: type: array items: type: string readOnly: true nullable: true description: Categorical option keys selected for this score. numeric_value: type: string format: decimal pattern: ^-?\d{0,6}(?:\.\d{0,6})?$ readOnly: true nullable: true boolean_value: type: boolean readOnly: true nullable: true created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true nullable: true required: - boolean_value - categorical_values - created_at - definition_archived - definition_config - definition_id - definition_kind - definition_name - definition_version - definition_version_id - id - numeric_value - updated_at TraceReviewScoreWrite: type: object properties: definition_id: type: string format: uuid description: Stable scorer definition ID. definition_version_id: type: string format: uuid nullable: true description: Optional immutable scorer version ID. Defaults to the scorer's current version. categorical_values: type: array items: type: string maxLength: 128 nullable: true description: Categorical option keys selected for this score. minItems: 1 numeric_value: type: string format: decimal pattern: ^-?\d{0,6}(?:\.\d{0,6})?$ nullable: true description: Numeric value selected for this score. boolean_value: type: boolean nullable: true description: Boolean value selected for this score. required: - definition_id TraceSpansQuery: additionalProperties: false properties: after: default: null description: Cursor for fetching the next page of results title: After type: string nullable: true dateRange: $ref: '#/components/schemas/DateRange' filterGroup: default: null allOf: - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true kind: default: TraceSpansQuery title: Kind type: string enum: - TraceSpansQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null allOf: - $ref: '#/components/schemas/LogsOrderBy' nullable: true prefetchSpans: default: null description: Prefetch up to this many spans per trace and include them in results title: Prefetchspans type: integer nullable: true response: default: null allOf: - $ref: '#/components/schemas/TraceSpansQueryResponse' nullable: true rootSpans: default: null title: Rootspans type: boolean nullable: true serviceNames: default: null title: Servicenames items: type: string type: array nullable: true statusCodes: default: null title: Statuscodes items: type: integer type: array nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true traceId: default: null title: Traceid type: string nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - dateRange title: TraceSpansQuery type: object TraceSpansQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true nextCursor: default: null description: Cursor for fetching the next page of results title: Nextcursor type: string nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: title: Results timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: TraceSpansQueryResponse type: object TracesQuery: additionalProperties: false properties: dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterSupportTraces: default: null title: Filtersupporttraces type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true groupKey: default: null title: Groupkey type: string nullable: true groupTypeIndex: default: null title: Grouptypeindex type: integer nullable: true kind: default: TracesQuery title: Kind type: string enum: - TracesQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true personId: default: null description: Person who performed the event title: Personid type: string nullable: true properties: default: null description: Properties configurable in the interface title: Properties items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array nullable: true randomOrder: default: null description: Use random ordering instead of timestamp DESC. Useful for representative sampling to avoid recency bias. title: Randomorder type: boolean nullable: true response: default: null allOf: - $ref: '#/components/schemas/TracesQueryResponse' nullable: true showColumnConfigurator: default: null title: Showcolumnconfigurator type: boolean nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: TracesQuery type: object TracesQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: type: string type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/LLMTrace' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: TracesQueryResponse type: object TranscriptSegment: type: object description: Serializer for individual transcript segments from AssemblyAI properties: timestamp: type: number format: double nullable: true description: Milliseconds from recording start speaker: type: string nullable: true text: type: string confidence: type: number format: double nullable: true description: Transcription confidence score is_final: type: boolean nullable: true description: Whether this is the final version required: - text TranslateRequest: type: object properties: text: type: string description: The text to translate maxLength: 10000 target_language: type: string default: en description: 'Target language code (default: ''en'' for English)' maxLength: 10 required: - text TrendsAlertConfig: additionalProperties: false properties: check_ongoing_interval: default: null description: When true, evaluate the current (still incomplete) time interval in addition to completed ones. title: Check Ongoing Interval type: boolean nullable: true series_index: description: Zero-based index of the series in the insight's query to monitor. title: Series Index type: integer type: default: TrendsAlertConfig title: Type type: string enum: - TrendsAlertConfig required: - series_index title: TrendsAlertConfig type: object TrendsFilter: additionalProperties: false properties: aggregationAxisFormat: default: numeric allOf: - $ref: '#/components/schemas/AggregationAxisFormat' nullable: true aggregationAxisPostfix: default: null title: Aggregationaxispostfix type: string nullable: true aggregationAxisPrefix: default: null title: Aggregationaxisprefix type: string nullable: true breakdown_histogram_bin_count: default: null title: Breakdown Histogram Bin Count type: number nullable: true confidenceLevel: default: null title: Confidencelevel type: number nullable: true decimalPlaces: default: null title: Decimalplaces type: number nullable: true detailedResultsAggregationType: default: null description: detailed results table allOf: - $ref: '#/components/schemas/DetailedResultsAggregationType' nullable: true display: default: ActionsLineGraph allOf: - $ref: '#/components/schemas/ChartDisplayType' nullable: true excludeBoxPlotOutliers: default: true title: Excludeboxplotoutliers type: boolean nullable: true formula: default: null title: Formula type: string nullable: true formulaNodes: default: null description: List of formulas with optional custom names. Takes precedence over formula/formulas if set. title: Formulanodes items: $ref: '#/components/schemas/TrendsFormulaNode' type: array nullable: true formulas: default: null title: Formulas items: type: string type: array nullable: true goalLines: default: null description: Goal Lines title: Goallines items: $ref: '#/components/schemas/GoalLine' type: array nullable: true hiddenLegendIndexes: default: null title: Hiddenlegendindexes items: type: integer type: array nullable: true hideWeekends: default: false title: Hideweekends type: boolean nullable: true minDecimalPlaces: default: null title: Mindecimalplaces type: number nullable: true movingAverageIntervals: default: null title: Movingaverageintervals type: number nullable: true resultCustomizationBy: default: value description: Wether result datasets are associated by their values or by their order. allOf: - $ref: '#/components/schemas/ResultCustomizationBy' nullable: true resultCustomizations: default: null description: Customizations for the appearance of result datasets. title: Resultcustomizations anyOf: - additionalProperties: $ref: '#/components/schemas/ResultCustomizationByValue' type: object - additionalProperties: $ref: '#/components/schemas/ResultCustomizationByPosition' type: object nullable: true showAlertThresholdLines: default: false title: Showalertthresholdlines type: boolean nullable: true showConfidenceIntervals: default: null title: Showconfidenceintervals type: boolean nullable: true showLabelsOnSeries: default: null title: Showlabelsonseries type: boolean nullable: true showLegend: default: false title: Showlegend type: boolean nullable: true showMovingAverage: default: null title: Showmovingaverage type: boolean nullable: true showMultipleYAxes: default: false title: Showmultipleyaxes type: boolean nullable: true showPercentStackView: default: false title: Showpercentstackview type: boolean nullable: true showTrendLines: default: null title: Showtrendlines type: boolean nullable: true showValuesOnSeries: default: false title: Showvaluesonseries type: boolean nullable: true smoothingIntervals: default: 1 title: Smoothingintervals type: integer nullable: true yAxisScaleType: default: linear allOf: - $ref: '#/components/schemas/YAxisScaleType' nullable: true title: TrendsFilter type: object TrendsFormulaNode: additionalProperties: false properties: custom_name: default: null description: Optional user-defined name for the formula title: Custom Name type: string nullable: true formula: title: Formula type: string required: - formula title: TrendsFormulaNode type: object TrendsQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation title: Aggregation Group Type Index type: integer nullable: true breakdownFilter: default: null description: Breakdown of the events and actions allOf: - $ref: '#/components/schemas/BreakdownFilter' nullable: true compareFilter: default: null description: Compare to date range allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null description: Whether we should be comparing against a specific conversion goal title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization title: Datacolortheme type: number nullable: true dateRange: default: null description: Date range for the query allOf: - $ref: '#/components/schemas/DateRange' nullable: true filterTestAccounts: default: false description: Exclude internal and test users by applying the respective filters title: Filtertestaccounts type: boolean nullable: true interval: default: day description: Granularity of the response. Can be one of `hour`, `day`, `week` or `month` allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: TrendsQuery title: Kind type: string enum: - TrendsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true properties: default: [] description: Property filters for all series title: Properties anyOf: - items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/ElementPropertyFilter' - $ref: '#/components/schemas/EventMetadataPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' - $ref: '#/components/schemas/RecordingPropertyFilter' - $ref: '#/components/schemas/LogEntryPropertyFilter' - $ref: '#/components/schemas/GroupPropertyFilter' - $ref: '#/components/schemas/FeaturePropertyFilter' - $ref: '#/components/schemas/FlagPropertyFilter' - $ref: '#/components/schemas/HogQLPropertyFilter' - $ref: '#/components/schemas/EmptyPropertyFilter' - $ref: '#/components/schemas/DataWarehousePropertyFilter' - $ref: '#/components/schemas/DataWarehousePersonPropertyFilter' - $ref: '#/components/schemas/ErrorTrackingIssueFilter' - $ref: '#/components/schemas/LogPropertyFilter' - $ref: '#/components/schemas/SpanPropertyFilter' - $ref: '#/components/schemas/RevenueAnalyticsPropertyFilter' - $ref: '#/components/schemas/WorkflowVariablePropertyFilter' type: array - $ref: '#/components/schemas/PropertyGroupFilter' nullable: true response: default: null allOf: - $ref: '#/components/schemas/TrendsQueryResponse' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true series: description: Events and actions to include items: anyOf: - $ref: '#/components/schemas/GroupNode' - $ref: '#/components/schemas/EventsNode' - $ref: '#/components/schemas/ActionsNode' - $ref: '#/components/schemas/DataWarehouseNode' title: Series type: array tags: default: null description: Tags that will be added to the Query log comment allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true trendsFilter: default: null description: Properties specific to the trends insight allOf: - $ref: '#/components/schemas/TrendsFilter' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - series title: TrendsQuery type: object TrendsQueryResponse: additionalProperties: false properties: boxplot_data: default: null title: Boxplot Data items: $ref: '#/components/schemas/BoxPlotDatum' type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null description: Wether more breakdown values are available. title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: additionalProperties: true type: object title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: TrendsQueryResponse type: object Trigger: type: object properties: job_type: type: string readOnly: true job_id: type: string readOnly: true payload: readOnly: true required: - job_id - job_type - payload UploadTarget: type: object properties: content_hash: type: string url: type: string fields: type: object additionalProperties: type: string required: - content_hash - fields - url UrlMatching: enum: - contains - exact - regex - null title: UrlMatching UsageMetric: additionalProperties: false properties: change_from_previous_pct: default: null title: Change From Previous Pct type: number nullable: true display: $ref: '#/components/schemas/UsageMetricDisplay' format: $ref: '#/components/schemas/UsageMetricFormat' id: title: Id type: string interval: title: Interval type: integer name: title: Name type: string previous: title: Previous type: number timeseries: default: null description: Daily values over the current interval period. Only populated when display is 'sparkline'. title: Timeseries items: type: number type: array nullable: true timeseries_labels: default: null description: ISO date strings for sparkline tooltip labels. Only populated when display is 'sparkline'. title: Timeseries Labels items: type: string type: array nullable: true value: title: Value type: number required: - display - format - id - interval - name - previous - value title: UsageMetric type: object UsageMetricDisplay: enum: - number - sparkline title: UsageMetricDisplay type: string UsageMetricFormat: enum: - numeric - currency title: UsageMetricFormat type: string UsageMetricsQuery: additionalProperties: false properties: group_key: default: null description: Group key. Required with group_type_index for group queries. title: Group Key type: string nullable: true group_type_index: default: null description: Group type index. Required with group_key for group queries. title: Group Type Index type: integer nullable: true kind: default: UsageMetricsQuery title: Kind type: string enum: - UsageMetricsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true person_id: default: null description: Person ID to fetch metrics for. Mutually exclusive with group parameters. title: Person Id type: string nullable: true response: default: null allOf: - $ref: '#/components/schemas/UsageMetricsQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true title: UsageMetricsQuery type: object UsageMetricsQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/UsageMetric' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: UsageMetricsQueryResponse type: object User: type: object properties: date_joined: type: string format: date-time readOnly: true uuid: type: string format: uuid readOnly: true distinct_id: type: string readOnly: true nullable: true first_name: type: string maxLength: 150 last_name: type: string maxLength: 150 email: type: string format: email title: Email address maxLength: 254 pending_email: type: string format: email readOnly: true nullable: true title: Pending email address awaiting verification is_email_verified: type: boolean readOnly: true nullable: true notification_settings: type: object additionalProperties: true description: Map of notification preferences. Keys include `plugin_disabled`, `all_weekly_report_disabled`, `project_weekly_digest_disabled`, `error_tracking_weekly_digest_project_enabled`, `web_analytics_weekly_digest_project_enabled`, `organization_member_join_email_disabled`, `data_pipeline_error_threshold` (number between 0.0 and 1.0), and other per-topic switches. Values are either booleans, or (for per-project/per-resource keys) a map of IDs to booleans. Only the keys you send are updated — other preferences stay as-is. anonymize_data: type: boolean nullable: true description: Whether PostHog should anonymize events captured for this user when identified. allow_impersonation: type: boolean nullable: true toolbar_mode: nullable: true oneOf: - $ref: '#/components/schemas/ToolbarModeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' has_password: type: boolean readOnly: true id: type: integer readOnly: true is_staff: type: boolean title: Staff status description: Designates whether the user can log into this admin site. is_impersonated: type: boolean nullable: true readOnly: true is_impersonated_until: type: string nullable: true readOnly: true is_impersonated_read_only: type: boolean nullable: true readOnly: true sensitive_session_expires_at: type: string nullable: true readOnly: true team: allOf: - $ref: '#/components/schemas/TeamBasic' readOnly: true organization: allOf: - $ref: '#/components/schemas/Organization' readOnly: true organizations: type: array items: $ref: '#/components/schemas/OrganizationBasic' readOnly: true set_current_organization: type: string writeOnly: true set_current_team: type: string writeOnly: true password: type: string writeOnly: true maxLength: 128 current_password: type: string writeOnly: true description: The user's current password. Required when changing `password` if the user already has a usable password set. events_column_config: {} is_2fa_enabled: type: boolean readOnly: true has_social_auth: type: boolean readOnly: true has_sso_enforcement: type: boolean readOnly: true has_seen_product_intro_for: nullable: true scene_personalisation: type: array items: $ref: '#/components/schemas/ScenePersonalisationBasic' readOnly: true theme_mode: nullable: true oneOf: - $ref: '#/components/schemas/ThemeModeEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' hedgehog_config: nullable: true allow_sidebar_suggestions: type: boolean nullable: true shortcut_position: nullable: true oneOf: - $ref: '#/components/schemas/ShortcutPositionEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' role_at_organization: $ref: '#/components/schemas/RoleAtOrganizationEnum' passkeys_enabled_for_2fa: type: boolean nullable: true description: Whether passkeys are enabled for 2FA authentication. Users can disable this to use only TOTP for 2FA while keeping passkeys for login. is_organization_first_user: type: boolean nullable: true readOnly: true pending_invites: type: array items: $ref: '#/components/schemas/PendingInvite' readOnly: true required: - date_joined - distinct_id - email - has_password - has_social_auth - has_sso_enforcement - id - is_2fa_enabled - is_email_verified - is_impersonated - is_impersonated_read_only - is_impersonated_until - is_organization_first_user - organization - organizations - password - pending_email - pending_invites - scene_personalisation - sensitive_session_expires_at - team - uuid UserBasic: type: object properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true distinct_id: type: string nullable: true maxLength: 200 first_name: type: string maxLength: 150 last_name: type: string maxLength: 150 email: type: string format: email title: Email address maxLength: 254 is_email_verified: type: boolean nullable: true hedgehog_config: type: object additionalProperties: true nullable: true readOnly: true role_at_organization: nullable: true oneOf: - $ref: '#/components/schemas/RoleAtOrganizationEnum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' required: - email - hedgehog_config - id - uuid UserBasicInfo: type: object properties: id: type: integer first_name: type: string email: type: string required: - email - first_name - id UserBasicType: additionalProperties: false properties: distinct_id: title: Distinct Id type: string email: title: Email type: string first_name: title: First Name type: string hedgehog_config: default: null allOf: - $ref: '#/components/schemas/MinimalHedgehogConfig' nullable: true id: title: Id type: number is_email_verified: default: null title: Is Email Verified nullable: true last_name: default: null title: Last Name type: string nullable: true role_at_organization: default: null title: Role At Organization type: string nullable: true uuid: title: Uuid type: string required: - distinct_id - email - first_name - id - uuid title: UserBasicType type: object UserBlastRadiusRequest: type: object properties: condition: type: object additionalProperties: true description: The release condition to evaluate group_type_index: type: integer nullable: true description: Group type index for group-based flags (null for person-based flags) required: - condition UserBlastRadiusResponse: type: object properties: affected: type: integer description: Number of entities matching the condition (users or groups depending on group_type_index) total: type: integer description: Total number of entities of this type in the project required: - affected - total UserGitHubAccount: type: object properties: type: type: string nullable: true description: GitHub account type for the installation (e.g. User or Organization). name: type: string nullable: true description: GitHub login or organization name tied to the installation. UserGitHubIntegrationItem: type: object properties: id: type: string format: uuid description: PostHog UserIntegration row id. kind: type: string description: Integration kind; always `github` for this API. installation_id: type: string description: GitHub App installation id. repository_selection: type: string nullable: true description: Repository selection mode from GitHub (e.g. selected or all). account: allOf: - $ref: '#/components/schemas/UserGitHubAccount' nullable: true description: Installation account metadata from GitHub. uses_shared_installation: type: boolean description: True when this installation id matches a team-level GitHub integration on the active project. created_at: type: string format: date-time description: When this integration row was created. required: - created_at - id - installation_id - kind - uses_shared_installation UserGitHubIntegrationListResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/UserGitHubIntegrationItem' description: GitHub personal integrations for the authenticated user. required: - results UserGitHubLinkStartRequest: type: object properties: team_id: type: integer nullable: true description: Optional team/project id (e.g. PostHog Code); web UI uses the session's current team. connect_from: type: string description: Optional client hint (e.g. posthog_code) for return routing after OAuth. UserGitHubLinkStartResponse: type: object properties: install_url: type: string description: URL to open in the browser to install or authorize the GitHub App for this user. connect_flow: type: string description: OAuth or install flow used for this GitHub connection. required: - connect_flow - install_url UserInterview: type: object properties: id: type: string format: uuid readOnly: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true interviewee_emails: type: array items: type: string maxLength: 254 transcript: type: string readOnly: true summary: type: string audio: type: string format: uri writeOnly: true required: - audio - created_at - created_by - id - transcript ValidationStatusEnum: enum: - valid - invalid - expired - stale type: string description: '* `valid` - Valid * `invalid` - Invalid * `expired` - Expired * `stale` - Stale (resource changed)' VectorSearchQuery: additionalProperties: false properties: embedding: items: type: number title: Embedding type: array embeddingVersion: default: null title: Embeddingversion type: number nullable: true kind: default: VectorSearchQuery title: Kind type: string enum: - VectorSearchQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true response: default: null allOf: - $ref: '#/components/schemas/VectorSearchQueryResponse' nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - embedding title: VectorSearchQuery type: object VectorSearchQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/VectorSearchResponseItem' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: VectorSearchQueryResponse type: object VectorSearchResponseItem: additionalProperties: false properties: distance: title: Distance type: number id: title: Id type: string required: - distance - id title: VectorSearchResponseItem type: object ViewLink: type: object properties: id: type: string format: uuid readOnly: true deleted: type: boolean nullable: true created_by: allOf: - $ref: '#/components/schemas/UserBasic' readOnly: true created_at: type: string format: date-time readOnly: true source_table_name: type: string maxLength: 400 source_table_key: type: string maxLength: 400 joining_table_name: type: string maxLength: 400 joining_table_key: type: string maxLength: 400 field_name: type: string maxLength: 400 configuration: nullable: true required: - created_at - created_by - field_name - id - joining_table_key - joining_table_name - source_table_key - source_table_name ViewLinkValidation: type: object properties: joining_table_name: type: string maxLength: 255 joining_table_key: type: string maxLength: 255 source_table_name: type: string maxLength: 255 source_table_key: type: string maxLength: 255 required: - joining_table_key - joining_table_name - source_table_key - source_table_name VizSpecificOptions: additionalProperties: false properties: ActionsPie: default: null allOf: - $ref: '#/components/schemas/ActionsPie' nullable: true RETENTION: default: null allOf: - $ref: '#/components/schemas/RETENTION' nullable: true title: VizSpecificOptions type: object VolumeBucket: additionalProperties: false properties: label: title: Label type: string value: title: Value type: number required: - label - value title: VolumeBucket type: object WarehouseStatusResponse: type: object properties: team_name: type: string state: $ref: '#/components/schemas/WarehouseStatusResponseStateEnum' status_message: type: string ready_at: type: string format: date-time nullable: true failed_at: type: string format: date-time nullable: true required: - failed_at - ready_at - state - status_message - team_name WarehouseStatusResponseStateEnum: enum: - pending - provisioning - ready - failed - deleting - deleted type: string description: '* `pending` - pending * `provisioning` - provisioning * `ready` - ready * `failed` - failed * `deleting` - deleting * `deleted` - deleted' WebAnalyticsExternalSummaryQuery: additionalProperties: false properties: dateRange: $ref: '#/components/schemas/DateRange' kind: default: WebAnalyticsExternalSummaryQuery title: Kind type: string enum: - WebAnalyticsExternalSummaryQuery properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsExternalSummaryQueryResponse' nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - dateRange - properties title: WebAnalyticsExternalSummaryQuery type: object WebAnalyticsExternalSummaryQueryResponse: additionalProperties: false properties: data: additionalProperties: true title: Data type: object error: default: null allOf: - $ref: '#/components/schemas/ExternalQueryError' nullable: true status: $ref: '#/components/schemas/ExternalQueryStatus' required: - data - status title: WebAnalyticsExternalSummaryQueryResponse type: object WebAnalyticsItemKind: enum: - unit - duration_s - percentage - currency title: WebAnalyticsItemKind type: string WebAnalyticsOrderByDirection: enum: - ASC - DESC title: WebAnalyticsOrderByDirection type: string WebAnalyticsOrderByFields: enum: - Visitors - Views - AvgTimeOnPage - Clicks - BounceRate - AverageScrollPercentage - ScrollGt80Percentage - TotalConversions - UniqueConversions - ConversionRate - ConvertingUsers - RageClicks - DeadClicks - Errors title: WebAnalyticsOrderByFields type: string WebAnalyticsSampling: additionalProperties: false properties: enabled: default: null title: Enabled type: boolean nullable: true forceSamplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true title: WebAnalyticsSampling type: object WebExperimentsAPI: type: object description: Serializer for the exposed /api/web_experiments endpoint, to be used in posthog-js and for headless APIs. properties: id: type: integer readOnly: true name: type: string maxLength: 400 created_at: type: string format: date-time feature_flag_key: type: string readOnly: true variants: description: "Variants for the web experiment. Example:\n\n {\n \ \ \"control\": {\n \"transforms\": [\n \ \ {\n \"text\": \"Here comes Superman!\"\ ,\n \"html\": \"\",\n \"\ selector\": \"#page > #body > .header h1\"\n }\n \ \ ],\n \"conditions\": \"None\",\n \ \ \"rollout_percentage\": 50\n },\n }" required: - feature_flag_key - id - name - variants WebExternalClicksTableQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebExternalClicksTableQuery title: Kind type: string enum: - WebExternalClicksTableQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebExternalClicksTableQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true stripQueryParams: default: null title: Stripqueryparams type: boolean nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: WebExternalClicksTableQuery type: object WebExternalClicksTableQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: WebExternalClicksTableQueryResponse type: object WebGoalsQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebGoalsQuery title: Kind type: string enum: - WebGoalsQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebGoalsQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: WebGoalsQuery type: object WebGoalsQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true required: - results title: WebGoalsQueryResponse type: object WebNotableChangeItem: additionalProperties: false properties: current_value: title: Current Value type: number dimension_type: title: Dimension Type type: string dimension_value: title: Dimension Value type: string impact_score: title: Impact Score type: number metric: title: Metric type: string percent_change: title: Percent Change type: number previous_value: title: Previous Value type: number required: - current_value - dimension_type - dimension_value - impact_score - metric - percent_change - previous_value title: WebNotableChangeItem type: object WebNotableChangesQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebNotableChangesQuery title: Kind type: string enum: - WebNotableChangesQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebNotableChangesQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: WebNotableChangesQuery type: object WebNotableChangesQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebNotableChangeItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: WebNotableChangesQueryResponse type: object WebOverviewItem: additionalProperties: false properties: changeFromPreviousPct: default: null title: Changefrompreviouspct type: number nullable: true isIncreaseBad: default: null title: Isincreasebad type: boolean nullable: true key: title: Key type: string kind: $ref: '#/components/schemas/WebAnalyticsItemKind' previous: default: null title: Previous type: number nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true value: default: null title: Value type: number nullable: true required: - key - kind title: WebOverviewItem type: object WebOverviewQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebOverviewQuery title: Kind type: string enum: - WebOverviewQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebOverviewQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: WebOverviewQuery type: object WebOverviewQueryResponse: additionalProperties: false properties: dateFrom: default: null title: Datefrom type: string nullable: true dateTo: default: null title: Dateto type: string nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebOverviewItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: WebOverviewQueryResponse type: object WebPageURLSearchQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebPageURLSearchQuery title: Kind type: string enum: - WebPageURLSearchQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebPageURLSearchQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true searchTerm: default: null title: Searchterm type: string nullable: true stripQueryParams: default: null title: Stripqueryparams type: boolean nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties title: WebPageURLSearchQuery type: object WebPageURLSearchQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/PageURL' title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: WebPageURLSearchQueryResponse type: object WebStatsBreakdown: enum: - Page - InitialPage - ExitPage - ExitClick - PreviousPage - ScreenName - InitialChannelType - InitialReferringDomain - InitialReferringURL - InitialUTMSource - InitialUTMCampaign - InitialUTMMedium - InitialUTMTerm - InitialUTMContent - InitialUTMSourceMediumCampaign - Browser - OS - Viewport - DeviceType - Country - Region - City - Timezone - Language - FrustrationMetrics title: WebStatsBreakdown type: string WebStatsTableQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true breakdownBy: $ref: '#/components/schemas/WebStatsBreakdown' compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeAvgTimeOnPage: default: null title: Includeavgtimeonpage type: boolean nullable: true includeBounceRate: default: null title: Includebouncerate type: boolean nullable: true includeHost: default: null title: Includehost type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true includeScrollDepth: default: null title: Includescrolldepth type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebStatsTableQuery title: Kind type: string enum: - WebStatsTableQuery limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebStatsTableQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - breakdownBy - properties title: WebStatsTableQuery type: object WebStatsTableQueryResponse: additionalProperties: false properties: columns: default: null title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: {} title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null title: Types items: {} type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: WebStatsTableQueryResponse type: object WebTrendsItem: additionalProperties: false properties: bucket: title: Bucket type: string metrics: $ref: '#/components/schemas/Metrics' required: - bucket - metrics title: WebTrendsItem type: object WebTrendsMetric: enum: - UniqueUsers - PageViews - Sessions - Bounces - SessionDuration - TotalSessions title: WebTrendsMetric type: string WebTrendsQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' kind: default: WebTrendsQuery title: Kind type: string enum: - WebTrendsQuery limit: default: null title: Limit type: integer nullable: true metrics: items: $ref: '#/components/schemas/WebTrendsMetric' title: Metrics type: array modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebTrendsQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - interval - metrics - properties title: WebTrendsQuery type: object WebTrendsQueryResponse: additionalProperties: false properties: clickhouse: default: null description: Executed ClickHouse query title: Clickhouse type: string nullable: true columns: default: null description: Returned columns title: Columns items: {} type: array nullable: true error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true explain: default: null description: Query explanation output title: Explain items: type: string type: array nullable: true hasMore: default: null title: Hasmore type: boolean nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true limit: default: null title: Limit type: integer nullable: true metadata: default: null description: Query metadata output allOf: - $ref: '#/components/schemas/HogQLMetadataResponse' nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true offset: default: null title: Offset type: integer nullable: true query: default: null description: Input query string title: Query type: string nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebTrendsItem' title: Results type: array samplingRate: default: null allOf: - $ref: '#/components/schemas/SamplingRate' nullable: true timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true types: default: null description: Types of returned columns title: Types items: {} type: array nullable: true usedPreAggregatedTables: default: null title: Usedpreaggregatedtables type: boolean nullable: true required: - results title: WebTrendsQueryResponse type: object WebVitalsMetric: enum: - INP - LCP - CLS - FCP title: WebVitalsMetric type: string WebVitalsPathBreakdownQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebVitalsPathBreakdownQuery title: Kind type: string enum: - WebVitalsPathBreakdownQuery metric: $ref: '#/components/schemas/WebVitalsMetric' modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true percentile: $ref: '#/components/schemas/WebVitalsPercentile' properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebVitalsPathBreakdownQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true thresholds: items: type: number maxItems: 2 minItems: 2 title: Thresholds type: array useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - metric - percentile - properties - thresholds title: WebVitalsPathBreakdownQuery type: object WebVitalsPathBreakdownQueryResponse: additionalProperties: false properties: error: default: null description: Query error. Returned only if 'explain' or `modifiers.debug` is true. Throws an error otherwise. title: Error type: string nullable: true hogql: default: null description: Generated HogQL query. title: Hogql type: string nullable: true modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true query_status: default: null description: Query status indicates whether next to the provided data, a query is still running. allOf: - $ref: '#/components/schemas/QueryStatus' nullable: true resolved_date_range: default: null description: The date range used for the query allOf: - $ref: '#/components/schemas/ResolvedDateRangeResponse' nullable: true results: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResult' maxItems: 1 minItems: 1 title: Results type: array timings: default: null description: Measured timings for different parts of the query generation process title: Timings items: $ref: '#/components/schemas/QueryTiming' type: array nullable: true required: - results title: WebVitalsPathBreakdownQueryResponse type: object WebVitalsPathBreakdownResult: additionalProperties: false properties: good: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResultItem' title: Good type: array needs_improvements: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResultItem' title: Needs Improvements type: array poor: items: $ref: '#/components/schemas/WebVitalsPathBreakdownResultItem' title: Poor type: array required: - good - needs_improvements - poor title: WebVitalsPathBreakdownResult type: object WebVitalsPathBreakdownResultItem: additionalProperties: false properties: path: title: Path type: string value: title: Value type: number required: - path - value title: WebVitalsPathBreakdownResultItem type: object WebVitalsPercentile: enum: - p75 - p90 - p99 title: WebVitalsPercentile type: string WebVitalsQuery: additionalProperties: false properties: aggregation_group_type_index: default: null description: Groups aggregation - not used in Web Analytics but required for type compatibility title: Aggregation Group Type Index type: integer nullable: true compareFilter: default: null allOf: - $ref: '#/components/schemas/CompareFilter' nullable: true conversionGoal: default: null title: Conversiongoal anyOf: - $ref: '#/components/schemas/ActionConversionGoal' - $ref: '#/components/schemas/CustomEventConversionGoal' nullable: true dataColorTheme: default: null description: Colors used in the insight's visualization - not used in Web Analytics but required for type compatibility title: Datacolortheme type: number nullable: true dateRange: default: null allOf: - $ref: '#/components/schemas/DateRange' nullable: true doPathCleaning: default: null title: Dopathcleaning type: boolean nullable: true filterTestAccounts: default: null title: Filtertestaccounts type: boolean nullable: true includeRevenue: default: null title: Includerevenue type: boolean nullable: true interval: default: null description: Interval for date range calculation (affects date_to rounding for hour vs day ranges) allOf: - $ref: '#/components/schemas/IntervalType' nullable: true kind: default: WebVitalsQuery title: Kind type: string enum: - WebVitalsQuery modifiers: default: null description: Modifiers used when performing the query allOf: - $ref: '#/components/schemas/HogQLQueryModifiers' nullable: true orderBy: default: null title: Orderby items: anyOf: - $ref: '#/components/schemas/WebAnalyticsOrderByFields' - $ref: '#/components/schemas/WebAnalyticsOrderByDirection' type: array nullable: true properties: type: array items: anyOf: - $ref: '#/components/schemas/EventPropertyFilter' - $ref: '#/components/schemas/PersonPropertyFilter' - $ref: '#/components/schemas/SessionPropertyFilter' - $ref: '#/components/schemas/CohortPropertyFilter' title: Properties response: default: null allOf: - $ref: '#/components/schemas/WebGoalsQueryResponse' nullable: true sampling: default: null allOf: - $ref: '#/components/schemas/WebAnalyticsSampling' nullable: true samplingFactor: default: null description: Sampling rate title: Samplingfactor type: number nullable: true source: discriminator: mapping: FunnelsQuery: '#/components/schemas/FunnelsQuery' LifecycleQuery: '#/components/schemas/LifecycleQuery' PathsQuery: '#/components/schemas/PathsQuery' RetentionQuery: '#/components/schemas/RetentionQuery' StickinessQuery: '#/components/schemas/StickinessQuery' TrendsQuery: '#/components/schemas/TrendsQuery' WebOverviewQuery: '#/components/schemas/WebOverviewQuery' WebStatsTableQuery: '#/components/schemas/WebStatsTableQuery' propertyName: kind oneOf: - $ref: '#/components/schemas/TrendsQuery' - $ref: '#/components/schemas/FunnelsQuery' - $ref: '#/components/schemas/RetentionQuery' - $ref: '#/components/schemas/PathsQuery' - $ref: '#/components/schemas/StickinessQuery' - $ref: '#/components/schemas/LifecycleQuery' - $ref: '#/components/schemas/WebStatsTableQuery' - $ref: '#/components/schemas/WebOverviewQuery' title: Source tags: default: null allOf: - $ref: '#/components/schemas/QueryLogTags' nullable: true useSessionsTable: default: null title: Usesessionstable type: boolean nullable: true version: default: null description: version of the node, used for schema migrations title: Version type: number nullable: true required: - properties - source title: WebVitalsQuery type: object WeekStartDayEnum: enum: - 0 - 1 type: integer description: '* `0` - Sunday * `1` - Monday' WeeklyDigestResponse: type: object properties: visitors: allOf: - $ref: '#/components/schemas/NumericMetric' description: Unique visitors. pageviews: allOf: - $ref: '#/components/schemas/NumericMetric' description: Total pageviews. sessions: allOf: - $ref: '#/components/schemas/NumericMetric' description: Total sessions. bounce_rate: allOf: - $ref: '#/components/schemas/NumericMetric' description: Bounce rate (0–100). avg_session_duration: allOf: - $ref: '#/components/schemas/DurationMetric' description: Average session duration. top_pages: type: array items: $ref: '#/components/schemas/TopPage' description: Top 5 pages by unique visitors. top_sources: type: array items: $ref: '#/components/schemas/TopSource' description: Top 5 traffic sources by unique visitors. goals: type: array items: $ref: '#/components/schemas/Goal' description: Goal conversions. dashboard_url: type: string format: uri description: Link to the Web analytics dashboard for this project. required: - avg_session_duration - bounce_rate - dashboard_url - goals - pageviews - sessions - top_pages - top_sources - visitors WelcomeResponse: type: object properties: organization_name: type: string inviter: allOf: - $ref: '#/components/schemas/_WelcomeInviter' nullable: true team_members: type: array items: $ref: '#/components/schemas/_WelcomeTeamMember' recent_activity: type: array items: $ref: '#/components/schemas/_WelcomeRecentActivity' popular_dashboards: type: array items: $ref: '#/components/schemas/_WelcomePopularDashboard' products_in_use: type: array items: type: string suggested_next_steps: type: array items: $ref: '#/components/schemas/_WelcomeSuggestedStep' is_organization_first_user: type: boolean required: - inviter - is_organization_first_user - organization_name - popular_dashboards - products_in_use - recent_activity - suggested_next_steps - team_members WidgetTypeEnum: enum: - button - tab - selector type: string description: '* `button` - button * `tab` - tab * `selector` - selector' WoWChange: type: object properties: percent: type: integer description: Absolute percentage change, rounded to nearest integer. direction: allOf: - $ref: '#/components/schemas/DirectionEnum' description: 'Direction of the change relative to the prior period. * `Up` - Up * `Down` - Down' color: type: string description: Hex color indicating whether the change is a positive or negative signal. text: type: string description: Short label, e.g. 'Up 12%'. long_text: type: string description: Verbose label, e.g. 'Up 12% from prior period'. required: - color - direction - long_text - percent - text WorkflowVariablePropertyFilter: additionalProperties: false properties: key: title: Key type: string label: default: null title: Label type: string nullable: true operator: $ref: '#/components/schemas/PropertyOperator' type: default: workflow_variable title: Type type: string enum: - workflow_variable value: default: null title: Value anyOf: - items: anyOf: - type: string - type: number - type: boolean type: array - type: string - type: number - type: boolean nullable: true required: - key - operator title: WorkflowVariablePropertyFilter type: object YAxisPosition: enum: - left - right title: YAxisPosition type: string YAxisScaleType: enum: - log10 - linear title: YAxisScaleType type: string YAxisSettings: additionalProperties: false properties: scale: default: null allOf: - $ref: '#/components/schemas/Scale' nullable: true showGridLines: default: null title: Showgridlines type: boolean nullable: true showTicks: default: null title: Showticks type: boolean nullable: true startAtZero: default: null description: Whether the Y axis should start at zero title: Startatzero type: boolean nullable: true title: YAxisSettings type: object ZScoreDetectorConfig: additionalProperties: false properties: preprocessing: default: null description: Preprocessing transforms applied before detection allOf: - $ref: '#/components/schemas/PreprocessingConfig' nullable: true threshold: default: null description: 'Anomaly probability threshold [0-1]. Points above this probability are flagged (default: 0.9)' title: Threshold type: number nullable: true type: default: zscore title: Type type: string enum: - zscore window: default: null description: 'Rolling window size for calculating mean/std (default: 30)' title: Window type: integer nullable: true title: ZScoreDetectorConfig type: object _DateRange: type: object properties: date_from: type: string nullable: true description: 'Start of the date range. Accepts ISO 8601 timestamps or relative formats: -7d, -1h, -1mStart, etc.' date_to: type: string nullable: true description: End of the date range. Same format as date_from. Omit or null for "now". _ExperimentApiMetricsList: description: List wrapper for OpenAPI schema generation — the field stores an array of metrics. items: $ref: '#/components/schemas/ExperimentApiMetric' title: _ExperimentApiMetricsList type: array _InsightQuerySchema: description: 'The query definition for this insight. The `kind` field determines the query type: - `InsightVizNode` — product analytics (trends, funnels, retention, paths, stickiness, lifecycle) - `DataVisualizationNode` — SQL insights using HogQL - `DataTableNode` — raw data tables - `HogQuery` — Hog language queries' discriminator: mapping: DataTableNode: '#/components/schemas/DataTableNode' DataVisualizationNode: '#/components/schemas/DataVisualizationNode' HogQuery: '#/components/schemas/HogQuery' InsightVizNode: '#/components/schemas/InsightVizNode' propertyName: kind oneOf: - $ref: '#/components/schemas/InsightVizNode' - $ref: '#/components/schemas/DataTableNode' - $ref: '#/components/schemas/DataVisualizationNode' - $ref: '#/components/schemas/HogQuery' title: _InsightQuerySchema _LogAttributeEntry: type: object properties: name: type: string propertyFilterType: type: string description: 'Property filter type: "log_attribute" or "log_resource_attribute". Use this as the `type` field when filtering.' matchedOn: allOf: - $ref: '#/components/schemas/MatchedOnEnum' description: 'How the search query matched this row: "key" if the attribute key matched, "value" if a value matched. * `key` - key * `value` - value' matchedValue: type: string nullable: true description: Sample matching value — only set when matchedOn is "value". required: - matchedOn - name - propertyFilterType _LogAttributeValue: type: object properties: id: type: string description: Attribute value (used as the identifier). name: type: string description: Display name — currently identical to `id`. required: - id - name _LogEntry: type: object properties: uuid: type: string timestamp: type: string description: ISO 8601 timestamp of the original log event. observed_timestamp: type: string description: ISO 8601 timestamp the log pipeline observed the event (may differ from `timestamp`). body: type: string severity_text: type: string description: Log severity as a string (e.g. "info", "error"). Preferred over severity_number. severity_number: type: integer description: Log severity as a numeric code. Redundant with severity_text; kept for OpenTelemetry compatibility. level: type: string description: ClickHouse alias for severity_text. Redundant; prefer severity_text. trace_id: type: string description: Trace ID. Returns "00000000000000000000000000000000" when not set (padding, not null). span_id: type: string description: Span ID. Returns "0000000000000000" when not set (padding, not null). trace_flags: type: integer description: OpenTelemetry trace flags. attributes: type: object additionalProperties: type: string description: Log-level attributes as a string-keyed map. Values are strings (numeric/datetime attributes are also accessible via materialized columns). resource_attributes: type: object additionalProperties: type: string description: Resource-level attributes (service.name, k8s.*, host.hostname, etc.) as a string-keyed map. Repeats across all logs from the same pod/host. event_name: type: string description: OpenTelemetry event name, if set. required: - attributes - body - level - observed_timestamp - resource_attributes - severity_number - severity_text - span_id - timestamp - trace_id - uuid _LogPropertyFilter: type: object properties: key: type: string description: Attribute key. For type "log", use "message". For "log_attribute"/"log_resource_attribute", use the attribute key (e.g. "k8s.container.name"). type: allOf: - $ref: '#/components/schemas/_LogPropertyFilterTypeEnum' description: '"log" filters the log body/message. "log_attribute" filters log-level attributes. "log_resource_attribute" filters resource-level attributes. * `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute' operator: allOf: - $ref: '#/components/schemas/_LogPropertyFilterOperatorEnum' description: 'Comparison operator. * `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex * `gt` - gt * `lt` - lt * `is_date_exact` - is_date_exact * `is_date_before` - is_date_before * `is_date_after` - is_date_after * `is_set` - is_set * `is_not_set` - is_not_set' value: nullable: true description: Value to compare against. String, number, or array of strings. Omit for is_set/is_not_set operators. required: - key - operator - type _LogPropertyFilterOperatorEnum: enum: - exact - is_not - icontains - not_icontains - regex - not_regex - gt - lt - is_date_exact - is_date_before - is_date_after - is_set - is_not_set type: string description: '* `exact` - exact * `is_not` - is_not * `icontains` - icontains * `not_icontains` - not_icontains * `regex` - regex * `not_regex` - not_regex * `gt` - gt * `lt` - lt * `is_date_exact` - is_date_exact * `is_date_before` - is_date_before * `is_date_after` - is_date_after * `is_set` - is_set * `is_not_set` - is_not_set' _LogPropertyFilterTypeEnum: enum: - log - log_attribute - log_resource_attribute type: string description: '* `log` - log * `log_attribute` - log_attribute * `log_resource_attribute` - log_resource_attribute' _LogsAttributesResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/_LogAttributeEntry' description: Available attribute keys matching the filters. count: type: integer description: Total attribute keys matched (not paginated). required: - count - results _LogsCountBody: type: object properties: dateRange: allOf: - $ref: '#/components/schemas/_DateRange' description: Date range for the count. Defaults to last hour. severityLevels: type: array items: $ref: '#/components/schemas/SeverityLevelsEnum' description: Filter by log severity levels. serviceNames: type: array items: type: string description: Filter by service names. searchTerm: type: string description: Full-text search term to filter log bodies. filterGroup: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' description: Property filters for the query. _LogsCountRangeBucket: type: object properties: date_from: type: string description: Bucket start as ISO 8601 timestamp. Inclusive lower bound. Pass back as `dateRange.date_from` to drill in. date_to: type: string description: Bucket end as ISO 8601 timestamp. Exclusive upper bound. Pass back as `dateRange.date_to` to drill in. count: type: integer description: Log entries matching the filters within this bucket. required: - count - date_from - date_to _LogsCountRangesBody: type: object properties: dateRange: allOf: - $ref: '#/components/schemas/_DateRange' description: Window to bucket. Defaults to last hour. Use a bucket's date_from/date_to from a prior response to recursively narrow into a sub-range. targetBuckets: type: integer maximum: 100 minimum: 1 default: 10 description: Approximate number of buckets to return. The bucket interval is picked adaptively from a fixed list (1/5/10s, 1/2/5/10/15/30/60/120/240/360/720/1440m) to land near this target. Defaults to 10, capped at 100. severityLevels: type: array items: $ref: '#/components/schemas/SeverityLevelsEnum' description: Filter by log severity levels. Applied before bucketing. serviceNames: type: array items: type: string description: Filter by service names. Applied before bucketing. searchTerm: type: string description: Full-text search across log bodies. Applied before bucketing. filterGroup: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' description: Property filters applied before bucketing. Same shape as `query-logs`. _LogsCountRangesRequest: type: object properties: query: allOf: - $ref: '#/components/schemas/_LogsCountRangesBody' description: The bucketed-count query to execute. required: - query _LogsCountRangesResponse: type: object properties: ranges: type: array items: $ref: '#/components/schemas/_LogsCountRangeBucket' description: Buckets ordered by `date_from` ascending. Empty buckets are omitted — infer gaps by comparing each bucket's `date_to` to the next bucket's `date_from`. interval: type: string description: Short-form duration of the chosen bucket width (e.g. "1h", "5m", "30s", "1d"). Informational only — use each bucket's `date_from`/`date_to` for follow-up queries. required: - interval - ranges _LogsCountRequest: type: object properties: query: allOf: - $ref: '#/components/schemas/_LogsCountBody' description: The count query to execute. required: - query _LogsCountResponse: type: object properties: count: type: integer description: Number of log entries matching the filters. required: - count _LogsQueryBody: type: object properties: dateRange: allOf: - $ref: '#/components/schemas/_DateRange' description: Date range for the query. Defaults to last hour. severityLevels: type: array items: $ref: '#/components/schemas/SeverityLevelsEnum' default: [] description: Filter by log severity levels. serviceNames: type: array items: type: string default: [] description: Filter by service names. orderBy: allOf: - $ref: '#/components/schemas/OrderByEnum' description: 'Order results by timestamp. * `latest` - latest * `earliest` - earliest' searchTerm: type: string description: Full-text search term to filter log bodies. filterGroup: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' default: [] description: Property filters for the query. limit: type: integer default: 100 description: Max results (1-1000). after: type: string description: Pagination cursor from previous response. _LogsQueryRequest: type: object properties: query: allOf: - $ref: '#/components/schemas/_LogsQueryBody' description: The logs query to execute. required: - query _LogsQueryResponse: type: object properties: query: type: object additionalProperties: true description: The parsed query that was executed, echoed back for confirmation. results: type: array items: $ref: '#/components/schemas/_LogEntry' description: Log entries matching the query. hasMore: type: boolean description: True if more results exist beyond this page. nextCursor: type: string nullable: true description: Opaque cursor to pass as `after` in the next request to fetch the next page. Null when hasMore is false. maxExportableLogs: type: integer description: Maximum number of rows the `export` endpoint will produce — informational. required: - hasMore - maxExportableLogs - query - results _LogsServiceActiveRule: type: object properties: rule_id: type: string format: uuid rule_name: type: string summary_string: type: string required: - rule_id - rule_name - summary_string _LogsServiceAggregate: type: object properties: service_name: type: string description: Service name, or "(no value)" / "(no service)" placeholder for unset entries. log_count: type: integer description: Total log entries from this service in the window. error_count: type: integer description: Count of logs at severity "error" or "fatal". error_rate: type: number format: double description: Pre-computed error_count / log_count, rounded to 4 decimals. Useful for ranking noisy services. volume_share_pct: type: number format: double description: Share of total log volume in the window for this service (0–100). severity_breakdown: allOf: - $ref: '#/components/schemas/_LogsServiceSeverityBreakdown' description: Counts by coarse severity bucket (debug, info, warn, error+fatal). active_rules: type: array items: $ref: '#/components/schemas/_LogsServiceActiveRule' description: Enabled sampling rules whose scope includes this service. required: - error_count - error_rate - log_count - service_name _LogsServiceSeverityBreakdown: type: object properties: debug: type: integer info: type: integer warn: type: integer error: type: integer required: - debug - error - info - warn _LogsServicesBody: type: object properties: dateRange: allOf: - $ref: '#/components/schemas/_DateRange' description: Date range for the services aggregation. Defaults to last hour. severityLevels: type: array items: $ref: '#/components/schemas/SeverityLevelsEnum' description: Filter by log severity levels. serviceNames: type: array items: type: string description: Restrict the aggregation to these service names. searchTerm: type: string description: Full-text search term to filter log bodies. filterGroup: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' description: Property filters for the query. _LogsServicesRequest: type: object properties: query: allOf: - $ref: '#/components/schemas/_LogsServicesBody' description: The services aggregation query to execute. required: - query _LogsServicesResponse: type: object properties: services: type: array items: $ref: '#/components/schemas/_LogsServiceAggregate' description: Per-service aggregates, ordered by log_count descending. Capped at 25 services. sparkline: type: array items: $ref: '#/components/schemas/_LogsServicesSparklineBucket' description: Time-bucketed counts broken down by service, for plotting volume over time. summary: allOf: - $ref: '#/components/schemas/_LogsServicesSummary' description: Roll-up stats for the Services tab header. required: - services - sparkline _LogsServicesSparklineBucket: type: object properties: time: type: string description: Bucket start time (ISO 8601). service_name: type: string count: type: integer required: - count - service_name - time _LogsServicesSummary: type: object properties: top_services_count: type: integer description: Number of top services included in the volume_share aggregate (up to 5). top_services_volume_share_pct: type: number format: double description: Combined volume share (percent) of the top services by log_count. required: - top_services_count - top_services_volume_share_pct _LogsSparklineBody: type: object properties: dateRange: allOf: - $ref: '#/components/schemas/_DateRange' description: Date range for the sparkline. Defaults to last hour. severityLevels: type: array items: $ref: '#/components/schemas/SeverityLevelsEnum' default: [] description: Filter by log severity levels. serviceNames: type: array items: type: string default: [] description: Filter by service names. searchTerm: type: string description: Full-text search term to filter log bodies. filterGroup: type: array items: $ref: '#/components/schemas/_LogPropertyFilter' default: [] description: Property filters for the query. sparklineBreakdownBy: allOf: - $ref: '#/components/schemas/SparklineBreakdownByEnum' description: 'Break down sparkline by "severity" (default) or "service". * `severity` - severity * `service` - service' _LogsSparklineBucket: type: object properties: time: type: string description: Bucket start time (ISO 8601). severity: type: string description: Severity label when sparklineBreakdownBy="severity". Present only for severity-broken-down sparklines. service: type: string description: Service name when sparklineBreakdownBy="service". Present only for service-broken-down sparklines. count: type: integer required: - count - time _LogsSparklineRequest: type: object properties: query: allOf: - $ref: '#/components/schemas/_LogsSparklineBody' description: The sparkline query to execute. required: - query _LogsSparklineResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/_LogsSparklineBucket' description: Time-bucketed log counts. Each bucket carries either `severity` or `service` depending on breakdown. required: - results _LogsValuesResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/_LogAttributeValue' description: Distinct values observed for the requested attribute. refreshing: type: boolean description: Always false — reserved for future cached-value refresh signalling. required: - refreshing - results _SymbolSetDownloadResponse: type: object properties: url: type: string format: uri description: Presigned URL to download the source map file required: - url _User: type: object properties: id: type: integer readOnly: true uuid: type: string format: uuid readOnly: true first_name: type: string readOnly: true last_name: type: string readOnly: true email: type: string format: email readOnly: true title: Email address required: - email - first_name - id - last_name - uuid _WelcomeInviter: type: object properties: name: type: string email: type: string format: email required: - email - name _WelcomePopularDashboard: type: object properties: id: type: integer name: type: string description: type: string team_id: type: integer url: type: string required: - description - id - name - team_id - url _WelcomeRecentActivity: type: object properties: type: type: string description: Scope.activity pair, e.g. 'Insight.created'. actor_name: type: string entity_name: type: string entity_url: type: string nullable: true timestamp: type: string format: date-time required: - actor_name - entity_name - entity_url - timestamp - type _WelcomeSuggestedStep: type: object properties: label: type: string href: type: string reason: type: string docs_href: type: string product_key: type: string required: - href - label - reason _WelcomeTeamMember: type: object properties: name: type: string email: type: string format: email avatar: type: string nullable: true role: type: string last_active: $ref: '#/components/schemas/LastActiveEnum' required: - avatar - email - last_active - name - role securitySchemes: PersonalAPIKeyAuth: type: http scheme: bearer parameters: ProjectIdPath: in: path name: project_id required: true schema: type: string description: Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. EnvironmentIdPath: in: path name: environment_id required: true schema: type: string description: Deprecated. Use /api/projects/{project_id}/ instead. OrganizationIdPath: in: path name: organization_id required: true schema: type: string description: ID of the organization you're trying to access. To find the ID of the organization, make a call to /api/organizations/. tags: - name: LLM Analytics - name: actions - name: activity_log - name: activity_logs - name: advanced_activity_logs - name: alerts - name: annotations - name: approval_policies - name: batch_exports - name: cdp - name: change_requests - name: code - name: code-invites - name: cohorts - name: comments - name: conversations - name: core - name: customer_analytics - name: customer_journeys - name: customer_profile_configs - name: dashboard_templates - name: dashboards - name: data_color_themes - name: data_modeling_jobs - name: data_warehouse - name: dataset_items - name: datasets - name: desktop_recordings - name: domains - name: early_access_feature - name: early_access_features - name: elements - name: endpoints - name: environments - name: error_tracking - name: evaluation_runs - name: evaluations - name: event_definitions - name: event_filter - name: event_schemas - name: events - name: experiment_holdouts - name: experiment_saved_metrics - name: experiments - name: exports - name: external_data_schemas - name: external_data_sources - name: feature_flags - name: file_system - name: file_system_shortcut - name: flag_value - name: groups - name: groups_types - name: health_issues - name: heatmap_screenshots - name: heatmaps - name: hog_flows - name: hog_function_templates - name: hog_functions - name: insight_variables - name: insights - name: integrations - name: invites - name: js-snippet - name: legal_documents - name: lineage - name: live_debugger_breakpoints - name: llm_analytics - name: llm_prompts - name: llm_skills - name: logs - name: managed_viewsets - name: max - name: max_tools - name: mcp_server_installations - name: mcp_servers - name: mcp_store - name: mcp_tools - name: members - name: notebooks - name: oauth_applications - name: object_media_previews - name: organizations - name: persisted_folder - name: persons - name: platform_features - name: plugin_configs - name: product_analytics - name: product_tours - name: project_secret_api_keys - name: projects - name: property_definitions - name: proxy_records - name: public_hog_function_templates - name: query - name: replay - name: reverse_proxy - name: role_external_references - name: roles - name: sandbox-environments - name: sandbox_environments - name: saved - name: schema_property_groups - name: sdk_doctor - name: session_group_summaries - name: session_recording_playlists - name: session_recordings - name: session_summaries - name: sessions - name: signals - name: subscriptions - name: surveys - name: taggers - name: task-automations - name: task-runs - name: task_automations - name: tasks - name: uploaded_media - name: user_home_settings - name: user_interviews - name: users - name: visual_review - name: warehouse_dag - name: warehouse_model_paths - name: warehouse_saved_queries - name: warehouse_saved_query_folders - name: warehouse_tables - name: warehouse_view_link - name: warehouse_view_links - name: web_analytics - name: web_experiments - name: web_vitals - name: welcome - name: workflows x-tagGroups: - name: All endpoints tags: - LLM Analytics - actions - activity_log - activity_logs - advanced_activity_logs - alerts - annotations - approval_policies - batch_exports - cdp - change_requests - code - code-invites - cohorts - comments - conversations - core - customer_analytics - customer_journeys - customer_profile_configs - dashboard_templates - dashboards - data_color_themes - data_modeling_jobs - data_warehouse - dataset_items - datasets - desktop_recordings - domains - early_access_feature - early_access_features - elements - endpoints - environments - error_tracking - evaluation_runs - evaluations - event_definitions - event_filter - event_schemas - events - experiment_holdouts - experiment_saved_metrics - experiments - exports - external_data_schemas - external_data_sources - feature_flags - file_system - file_system_shortcut - flag_value - groups - groups_types - health_issues - heatmap_screenshots - heatmaps - hog_flows - hog_function_templates - hog_functions - insight_variables - insights - integrations - invites - js-snippet - legal_documents - lineage - live_debugger_breakpoints - llm_analytics - llm_prompts - llm_skills - logs - managed_viewsets - max - max_tools - mcp_server_installations - mcp_servers - mcp_store - mcp_tools - members - notebooks - oauth_applications - object_media_previews - organizations - persisted_folder - persons - platform_features - plugin_configs - product_analytics - product_tours - project_secret_api_keys - projects - property_definitions - proxy_records - public_hog_function_templates - query - replay - reverse_proxy - role_external_references - roles - sandbox-environments - sandbox_environments - saved - schema_property_groups - sdk_doctor - session_group_summaries - session_recording_playlists - session_recordings - session_summaries - sessions - signals - subscriptions - surveys - taggers - task-automations - task-runs - task_automations - tasks - uploaded_media - user_home_settings - user_interviews - users - visual_review - warehouse_dag - warehouse_model_paths - warehouse_saved_queries - warehouse_saved_query_folders - warehouse_tables - warehouse_view_link - warehouse_view_links - web_analytics - web_experiments - web_vitals - welcome - workflows