openapi: 3.0.3 info: title: PostHog actions customer_analytics API version: 1.0.0 description: '' tags: - name: customer_analytics paths: /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 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 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 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 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 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 security: - PersonalAPIKeyAuth: - usage_metric:write responses: '204': description: No response body x-explicit-tags: - customer_analytics components: schemas: GroupUsageMetricDisplayEnum: enum: - number - sparkline type: string description: '* `number` - number * `sparkline` - sparkline' 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 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' MathEnum: enum: - count - sum type: string description: '* `count` - count * `sum` - sum' 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 GroupUsageMetricFormatEnum: enum: - numeric - currency type: string description: '* `numeric` - numeric * `currency` - currency' 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/. securitySchemes: PersonalAPIKeyAuth: type: http scheme: bearer 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