> ## Documentation Index
> Fetch the complete documentation index at: https://docs.honeyhive.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a batch of events

> Create multiple events in a single request. When `single_session` is
true, all events share the same session created from `session_properties`.


**Required properties:**

- `events` (array of event objects): Each event must include
  `event_type` (one of `chain`, `model`, `tool`, `session`) and `inputs`.

**Optional properties:**

- `single_session` (boolean): If true, all events share a single session
  created from `session_properties`. Defaults to false.
- `session_properties` (object): Session metadata used when
  `single_session` is true. May include `session_name`, `start_time`,
  `metadata`.

Unknown top-level fields and per-event fields are rejected at the SDK
boundary; the legacy aliases `is_single_session`, `session`, and
per-event `project` are no longer accepted.




## OpenAPI

````yaml https://raw.githubusercontent.com/honeyhiveai/honeyhive-openapi/main/openapi.yaml post /v1/events/batch
openapi: 3.1.0
info:
  title: HoneyHive Data Plane API
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.2.1
servers:
  - url: https://api.honeyhive.ai
security:
  - BearerAuth: []
tags:
  - name: Charts
    description: >
      Define and manage saved charts. Charts are visualizations that aggregate
      metrics over time with bucketing, filters, and groupings.
  - name: Configurations
    description: >
      Manage prompt configurations, i.e. model parameters, message templates,
      and response settings that can be versioned and deployed without code
      changes.
  - name: Datapoints
    description: >
      Manage individual records inside datasets, including batch creation and
      mapping to source events.
  - name: Datasets
    description: >
      Curate collections of datapoints used as test sets for evaluations and
      experiments.
  - name: Events
    description: >
      Read and write trace events. Events are the spans that capture every step
      of an AI application's execution.
  - name: Experiments
    description: >
      Run, retrieve, and compare evaluation runs to measure how prompt or
      configuration changes affect agent performance.
  - name: Metric Versions
    description: >
      Snapshot, list, and deploy versions of a metric's definition so changes
      can be reviewed and rolled back without losing history.
  - name: Metrics
    description: >
      Define and run evaluators, i.e. automated quality checks that score traces
      against criteria like accuracy, safety, or correctness.
  - name: Queues
    description: >
      Manage annotation queues for human review of traces, turning expert
      feedback into labeled datasets.
  - name: Sessions
    description: >
      Group related trace events into sessions, the top-level container for a
      multi-step or multi-service AI interaction.
paths:
  /v1/events/batch:
    post:
      tags:
        - Events
      summary: Create a batch of events
      description: >
        Create multiple events in a single request. When `single_session` is

        true, all events share the same session created from
        `session_properties`.



        **Required properties:**


        - `events` (array of event objects): Each event must include
          `event_type` (one of `chain`, `model`, `tool`, `session`) and `inputs`.

        **Optional properties:**


        - `single_session` (boolean): If true, all events share a single session
          created from `session_properties`. Defaults to false.
        - `session_properties` (object): Session metadata used when
          `single_session` is true. May include `session_name`, `start_time`,
          `metadata`.

        Unknown top-level fields and per-event fields are rejected at the SDK

        boundary; the legacy aliases `is_single_session`, `session`, and

        per-event `project` are no longer accepted.
      operationId: createEventBatch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostEventBatchRequest'
      responses:
        '200':
          description: Events created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostEventBatchResponse'
              example:
                event_ids:
                  - 7f22137a-6911-4ed3-bc36-110f1dde6b66
                  - 7f22137a-6911-4ed3-bc36-110f1dde6b67
                session_id: caf77ace-3417-4da4-944d-f4a0688f3c23
                success: true
        '400':
          description: Bad request (invalid event data or missing required fields)
        '500':
          description: Events partially created
components:
  schemas:
    PostEventBatchRequest:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/PostEventRequest'
          description: Array of events to create
        single_session:
          type: boolean
          description: If true, all events share the same session
        session_properties:
          $ref: '#/components/schemas/SessionProperties'
      required:
        - events
      additionalProperties: false
      description: Request body for POST /v1/events/batch
    PostEventBatchResponse:
      type: object
      properties:
        event_ids:
          type: array
          items:
            type: string
        session_id:
          type: string
        success:
          type: boolean
      required:
        - event_ids
        - success
      description: Response for POST /events/batch
    PostEventRequest:
      type: object
      properties:
        project_id:
          type: string
          description: Project ID
        source:
          type: string
          description: Source of the event (e.g., sdk-python)
        event_name:
          type: string
          description: Name of the event
        event_type:
          type: string
          enum:
            - model
            - tool
            - chain
            - session
          description: Type of event (model, tool, chain, or session)
        event_id:
          type: string
          description: Unique event identifier
        session_id:
          type: string
          description: Session this event belongs to
        parent_id:
          type: string
          description: Parent event ID in the trace hierarchy
        children_ids:
          type: array
          items:
            type: string
          description: Child event IDs in the trace hierarchy
        config:
          type: object
          additionalProperties: {}
          description: Configuration used for this event
        inputs:
          type: object
          additionalProperties: {}
          description: Input data for the event
        outputs:
          type: object
          additionalProperties: {}
          description: Output data from the event
        error:
          type:
            - string
            - 'null'
          description: Error message if the event failed
        start_time:
          type: number
          description: Event start time as Unix milliseconds
        end_time:
          type: number
          description: Event end time as Unix milliseconds
        duration:
          type: number
          description: Event duration in milliseconds
        metadata:
          type: object
          additionalProperties: {}
          description: Arbitrary metadata for the event
        feedback:
          type: object
          additionalProperties: {}
          description: Feedback data associated with the event
        metrics:
          type: object
          additionalProperties: {}
          description: Metric values computed for the event
        user_properties:
          type: object
          additionalProperties: {}
          description: User properties associated with the event
      required:
        - event_type
        - inputs
      additionalProperties: false
      description: Request body for POST /v1/events (bare event object)
    SessionProperties:
      type: object
      properties:
        session_name:
          type: string
        start_time:
          type: number
          description: Session start time as Unix milliseconds
        user_properties:
          type: object
          additionalProperties: {}
        metadata:
          type: object
          additionalProperties: {}
      additionalProperties: {}
      description: Session properties for batch event creation
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````