> ## 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.

# Add a batch of events to a session

> Add a batch of events to an existing session. Each event in the batch
is stored with `session_id` set from the URL path, overriding any
`session_id` in the event body.

Each event must include `event_type` (one of `chain`, `model`, `tool`,
`session`) and `inputs`. Unknown top-level fields and unknown per-event
fields are rejected. Events are processed sequentially. For
higher-throughput ingestion across sessions, use
`POST /v1/events/batch` instead.




## OpenAPI

````yaml https://raw.githubusercontent.com/honeyhiveai/honeyhive-openapi/main/openapi.yaml post /v1/sessions/{session_id}/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/sessions/{session_id}/events/batch:
    post:
      tags:
        - Sessions
      summary: Add a batch of events to a session
      description: |
        Add a batch of events to an existing session. Each event in the batch
        is stored with `session_id` set from the URL path, overriding any
        `session_id` in the event body.

        Each event must include `event_type` (one of `chain`, `model`, `tool`,
        `session`) and `inputs`. Unknown top-level fields and unknown per-event
        fields are rejected. Events are processed sequentially. For
        higher-throughput ingestion across sessions, use
        `POST /v1/events/batch` instead.
      operationId: createSessionEventBatch
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Session ID to add events to
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionEventBatchRequest'
      responses:
        '200':
          description: Events added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionTracesResponse'
              example:
                success: true
        '400':
          description: Bad request (invalid event data or missing required fields)
        '500':
          description: Events partially added
components:
  schemas:
    SessionEventBatchRequest:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/PostEventRequest'
          description: Events to add to the session
      required:
        - events
      additionalProperties: false
      description: Request body for POST /v1/sessions/{session_id}/events/batch
    SessionTracesResponse:
      type: object
      properties:
        success:
          type: boolean
      required:
        - success
      description: Response from adding traces to a session
    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)
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````