openapi: 3.1.0 info: title: Honeycomb Auth Kinesis Events API version: 1.0.0 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html contact: email: support@honeycomb.io description: 'The API allows programmatic management of many resources within Honeycomb. Please report any discrepancies with actual API behavior in Pollinators Slack or to Honeycomb Support. ' servers: - url: https://api.honeycomb.io - url: https://api.eu1.honeycomb.io tags: - name: Kinesis Events description: 'The Kinesis Events API endpoints allow Honeycomb to process streaming events from Amazon Kinesis. Refer to the [Honeycomb AWS integrations](https://docs.honeycomb.io/integrations/aws/how-aws-integrations-work/) documentation for more information. ## Authorization It is recommended that an Ingest API key is used for sending events. A Configuration API key will work, and must have the **Send Events** permission. Learn more about [API keys here](https://docs.honeycomb.io/configure/environments/manage-api-keys/). ' paths: /1/kinesis_events/{datasetSlug}: parameters: - in: header name: X-Amz-Firehose-Request-Id description: 'AWS Request ID associated with the Kinesis Firehose. ' schema: type: string required: true example: 33658b45-a8f1-4007-92e8-f601ae33db14 - $ref: '#/components/parameters/datasetSlug' post: summary: Create Kinesis Events description: 'This endpoint processes events and metrics coming from AWS through Kinesis Firehose. ' tags: - Kinesis Events operationId: createKinesisEvents security: - firehose_access_key: [] requestBody: description: 'The request body expected from Amazon Kinesis Firehose. Events and metrics have the same shape but the base64 encoded data blob for metrics is expected to be Protowire-encoded as well. CloudWatch Logs data coming through Amazon Kinesis Firehose is expected to have a gzip Content-Encoding. ' content: application/json: schema: $ref: '#/components/schemas/KinesisEvent' required: true responses: '200': description: Events queued for processing content: application/json: schema: $ref: '#/components/schemas/KinesisResponse' '401': $ref: '#/components/responses/Unauthorized' default: $ref: '#/components/responses/GenericError' components: responses: GenericError: description: Error content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' example: error: unknown API key - check your credentials application/vnd.api+json: schema: $ref: '#/components/schemas/JSONAPIError' parameters: datasetSlug: name: datasetSlug description: 'The dataset slug. ' in: path required: true schema: type: string schemas: KinesisEventRecord: type: object properties: data: type: string description: Base64 encoded Kinesis record from AWS KinesisResponse: type: object properties: requestId: type: string timestamp: type: integer errorMessage: type: string JSONAPIError: x-tags: - Errors type: object description: A JSONAPI-formatted error message. properties: errors: type: array items: type: object readOnly: true required: - id - code properties: id: type: string readOnly: true status: type: string readOnly: true code: type: string readOnly: true title: type: string readOnly: true detail: type: string readOnly: true source: type: object readOnly: true properties: pointer: type: string readOnly: true header: type: string readOnly: true parameter: type: string readOnly: true Error: x-tags: - Errors type: object description: A legacy error, containing only a textual description. properties: error: type: string readOnly: true KinesisEvent: type: object properties: requestId: type: string timestamp: type: integer records: type: array items: $ref: '#/components/schemas/KinesisEventRecord' externalDocs: url: https://docs.honeycomb.io