openapi: 3.1.0 info: title: Keen Cached Queries Saved Queries API description: The Keen Cached Queries API allows developers to create, manage, and retrieve pre-defined queries that are automatically refreshed on a schedule. Cached queries improve performance for frequently accessed analytics by storing pre-computed results, making them ideal for powering dashboards and embedded analytics experiences without incurring per-request rate limits. version: '3.0' contact: name: Keen Support url: https://keen.io/support license: name: Proprietary url: https://keen.io/terms-of-service servers: - url: https://api.keen.io/3.0 description: Keen production API security: - masterKey: [] - readKey: [] tags: - name: Saved Queries description: Create, manage, and execute reusable saved queries. paths: /projects/{projectId}/queries/saved: parameters: - $ref: '#/components/parameters/projectId' get: operationId: listSavedQueries summary: Keen List saved queries description: Returns the list of saved queries defined for the project. Requires a Master Key. tags: - Saved Queries responses: '200': description: List of saved query metadata. content: application/json: schema: type: array items: $ref: '#/components/schemas/SavedQuery' '401': $ref: '#/components/responses/Unauthorized' /projects/{projectId}/queries/saved/{queryName}: parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/queryName' get: operationId: getSavedQuery summary: Keen Get a saved query description: Returns the definition of a single saved query. tags: - Saved Queries responses: '200': description: Saved query definition. content: application/json: schema: $ref: '#/components/schemas/SavedQuery' '401': $ref: '#/components/responses/Unauthorized' '404': description: Saved query not found. put: operationId: createOrUpdateSavedQuery summary: Keen Create or update a saved query description: Creates a new saved query or updates an existing one with the given name. Requires a Master Key. tags: - Saved Queries requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SavedQueryDefinition' responses: '201': description: Saved query created or updated. content: application/json: schema: $ref: '#/components/schemas/SavedQuery' '401': $ref: '#/components/responses/Unauthorized' delete: operationId: deleteSavedQuery summary: Keen Delete a saved query description: Removes a saved query from the project. Requires a Master Key. tags: - Saved Queries responses: '204': description: Saved query deleted. '401': $ref: '#/components/responses/Unauthorized' /projects/{projectId}/queries/saved/{queryName}/result: parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/queryName' get: operationId: runSavedQuery summary: Keen Run a saved query description: Executes the saved query and returns its result. Requires a Read Key. tags: - Saved Queries responses: '200': description: Saved query result. content: application/json: schema: type: object properties: result: {} '401': $ref: '#/components/responses/Unauthorized' components: schemas: SavedQuery: allOf: - $ref: '#/components/schemas/SavedQueryDefinition' - type: object properties: query_name: type: string last_modified_date: type: string format: date-time SavedQueryDefinition: type: object required: - query properties: query: type: object additionalProperties: true description: Underlying query definition (analysis type and parameters). metadata: type: object additionalProperties: true description: Optional metadata for the saved query. Error: type: object properties: error_code: type: string message: type: string parameters: queryName: name: queryName in: path required: true schema: type: string description: Name of the saved query. projectId: name: projectId in: path required: true schema: type: string description: Keen project identifier. responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: masterKey: type: apiKey in: header name: Authorization description: Keen Master Key for management endpoints. readKey: type: apiKey in: header name: Authorization description: Keen Read Key for retrieving cached results. externalDocs: description: Keen Cached Queries API Documentation url: https://keen.io/docs/api/#cached-queries