Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Keen Event Collection Events API
description: The Keen Event Collection API enables developers to send individual or batched events to Keen for storage and analysis. Each event is a JSON object that can contain any arbitrary properties, giving developers full flexibility in defining their data model. The API supports single event recording, multi-event uploads across collections, and inspection of existing collections and properties.
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:
- writeKey: []
- masterKey: []
tags:
- name: Events
description: Record and inspect events stored in Keen event collections.
paths:
/projects/{projectId}/events/{eventCollection}:
parameters:
- $ref: '#/components/parameters/projectId'
- $ref: '#/components/parameters/eventCollection'
post:
operationId: recordEvent
summary: Keen Record a single event
description: Records a single event in the specified event collection for the given Keen project. The request body is an arbitrary JSON object whose properties become event properties. Requires a Write Key with permission to record events into the project.
tags:
- Events
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
description: Arbitrary event payload with custom properties.
responses:
'201':
description: Event recorded successfully.
content:
application/json:
schema:
type: object
properties:
created:
type: boolean
'401':
$ref: '#/components/responses/Unauthorized'
/projects/{projectId}/events:
parameters:
- $ref: '#/components/parameters/projectId'
post:
operationId: recordEvents
summary: Keen Record multiple events
description: Records multiple events across one or more event collections in a single request. The body is a JSON object whose keys are event collection names and whose values are arrays of event objects. Requires a Write Key with permission to record events.
tags:
- Events
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
type: object
additionalProperties: true
responses:
'200':
description: Events recorded with per-collection results.
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
type: object
properties:
success:
type: boolean
'401':
$ref: '#/components/responses/Unauthorized'
components:
parameters:
eventCollection:
name: eventCollection
in: path
required: true
schema:
type: string
description: Name of the event collection.
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'
schemas:
Error:
type: object
properties:
error_code:
type: string
message:
type: string
securitySchemes:
writeKey:
type: apiKey
in: header
name: Authorization
description: Keen Write Key used to record events.
masterKey:
type: apiKey
in: header
name: Authorization
description: Keen Master Key required for inspection endpoints.
externalDocs:
description: Keen Event Collection API Documentation
url: https://keen.io/docs/api/#event-collections