{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/PatchedEndpointRequest", "title": "PatchedEndpointRequest", "type": "object", "description": "Schema for creating/updating endpoints. OpenAPI docs only \u2014 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." } } }