Keen Extractions API

Extract raw event data from Keen event collections.

OpenAPI Specification

keen-extractions-api-openapi.yml Raw ↑
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