openapi: 3.1.0 info: title: Keen Cached Queries Extractions 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: Extractions description: Extract raw event data from Keen event collections. paths: /projects/{projectId}/queries/extraction: parameters: - $ref: '#/components/parameters/projectId' get: operationId: extractEvents summary: Keen Extract events synchronously description: Returns up to 100,000 raw events from the specified event collection that match the supplied filters and time frame. For larger result sets, use the asynchronous extraction by supplying an email_address. tags: - Extractions parameters: - name: event_collection in: query required: true schema: type: string description: Event collection to extract from. - name: timeframe in: query required: true schema: type: string description: Relative or absolute time frame for the extraction. - name: filters in: query required: false schema: type: string description: JSON-encoded array of filter objects. - name: latest in: query required: false schema: type: integer description: Limit the response to the latest N events. - name: email_address in: query required: false schema: type: string format: email description: When provided, runs extraction asynchronously and emails a result link. - name: property_names in: query required: false schema: type: string description: Comma-separated list of property names to include. - name: timezone in: query required: false schema: type: string description: Time zone offset for relative timeframes. responses: '200': description: Extraction result. content: application/json: schema: type: object properties: result: type: array items: type: object additionalProperties: true '401': $ref: '#/components/responses/Unauthorized' components: schemas: Error: type: object properties: error_code: type: string message: type: string responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: projectId: name: projectId in: path required: true schema: type: string description: Keen project identifier. 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