Syllable Sessions.timeline API

The sessions.timeline API from Syllable — 1 operation(s) for sessions.timeline.

OpenAPI Specification

syllable-sessions-timeline-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SyllableSDK Sessions.timeline API
  description: "\n# Syllable Platform SDK\n\nSyllable SDK gives you the power of awesome AI agentry. \U0001F680\n\n## Overview\n\nThe Syllable SDK provides a comprehensive set of tools and APIs to integrate powerful AI\ncapabilities into your communication applications. Whether you're building phone agents, chatbots,\nvirtual assistants, or any other AI-driven solutions, Syllable SDK has got you covered.\n\n## Features\n\n- **Agent Configuration**: Create and manage agents that can interact with users across various \nchannels.\n- **Channel Management**: Configure channels like SMS, web chat, and more to connect agents with \nusers.\n- **Custom Messages**: Set up custom messages that agents can deliver as greetings or responses.\n- **Conversations**: Track and manage conversations between users and agents, including session \nmanagement.\n- **Tools and Workflows**: Leverage tools and workflows to enhance agent capabilities, such as data \nprocessing and API calls.\n- **Data Sources**: Integrate data sources to provide agents with additional context and \ninformation.\n- **Insights and Analytics**: Analyze conversations and sessions to gain insights into user \ninteractions.\n- **Permissions and Security**: Manage permissions to control access to various features and \nfunctionalities.\n- **Language Support**: Define language groups to enable multilingual support for agents.\n- **Outbound Campaigns**: Create and manage outbound communication campaigns to reach users \neffectively.\n- **Session Labels**: Label sessions with evaluations of quality and descriptions of issues \nencountered.\n- **Incident Management**: Track and manage incidents related to agent interactions.\n"
  version: 0.0.3
servers:
- url: https://api.syllable.cloud
  description: API server
tags:
- name: sessions.timeline
paths:
  /api/v1/sessions/timeline/{session_id}:
    get:
      tags:
      - sessions.timeline
      summary: Get Session Timeline By Id
      description: Consolidated, time-ordered timeline of a session's events.
      operationId: session_timeline_get_by_id
      security:
      - APIKeyHeader: []
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionTimelineResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n    api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n    res = ss_client.sessions.timeline.get_by_id(session_id=\"<id>\")\n\n    # Handle response\n    print(res)"
      - lang: typescript
        label: Typescript (SDK)
        source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n  apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await syllableSDK.sessions.timeline.getById({\n    sessionId: \"<id>\",\n  });\n\n  console.log(result);\n}\n\nrun();"
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    TimelineEvent:
      properties:
        kind:
          $ref: '#/components/schemas/TimelineEventKind'
          description: Which stream this event came from
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Absolute time of the event (for ordering)
        offset:
          type: string
          title: Offset
          description: Time since session start, formatted MM:SS (or HH:MM:SS)
          examples:
          - 00:04
        turn_index:
          anyOf:
          - type: integer
          - type: 'null'
          title: Turn Index
          description: 0-based index of the transcript turn. Transcript events carry their own turn index; tool/latency events carry the index of the nearest preceding turn they bind to. None only for non-transcript events that precede the first transcript turn.
        source:
          anyOf:
          - type: string
          - type: 'null'
          title: Source
          description: '"user" or "agent" (transcript events)'
        text:
          anyOf:
          - type: string
          - type: 'null'
          title: Text
          description: Message content (transcript events)
        lang:
          anyOf:
          - type: string
          - type: 'null'
          title: Lang
          description: Language code (transcript events)
        category:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
          description: tool | llm | tts | stt | http. A tool call surfaces once, as a `kind=tool` event; its redundant tool-latency measurement is dropped from the timeline.
          examples:
          - tool
          - llm
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
          description: Tool name (tool events) or the latency measurement name (e.g. stt_processing)
          examples:
          - holiday_check
          - stt_processing
        metadata:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Metadata
          description: Provider/model parts of a latency label
          examples:
          - - Gpt-4.1
            - OpenAI
        duration_ms:
          anyOf:
          - type: number
          - type: 'null'
          title: Duration Ms
          description: Duration of the event in milliseconds
        tool_request:
          anyOf:
          - type: string
          - type: 'null'
          title: Tool Request
          description: Tool request payload, JSON-encoded
        tool_result:
          anyOf:
          - type: string
          - type: 'null'
          title: Tool Result
          description: Tool response payload, JSON-encoded
        tool_error:
          anyOf:
          - type: string
          - type: 'null'
          title: Tool Error
          description: Tool error payload, JSON-encoded
      type: object
      required:
      - kind
      - timestamp
      - offset
      title: TimelineEvent
      description: A single normalized event on the consolidated session timeline.
    SessionTimelineResponse:
      properties:
        session_id:
          type: string
          title: Session Id
          description: Internal ID of the session
        session_start:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Session Start
          description: The call's start (placement) time; the zero point for all offsets. Falls back to the first transcript turn for legacy sessions with no session_start event.
        events:
          items:
            $ref: '#/components/schemas/TimelineEvent'
          type: array
          title: Events
          description: All events, ordered by timestamp ascending
      type: object
      required:
      - session_id
      - events
      title: SessionTimelineResponse
      description: Consolidated, time-ordered timeline of a session's events.
    TimelineEventKind:
      type: string
      enum:
      - transcript
      - tool
      - latency
      title: TimelineEventKind
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: Syllable-API-Key
x-speakeasy-name-override:
- operationId: .*_list$
  methodNameOverride: list
- operationId: .*_create$
  methodNameOverride: create
- operationId: .*_update$
  methodNameOverride: update
- operationId: .*_upload$
  methodNameOverride: upload
- operationId: .*_delete$
  methodNameOverride: delete
- operationId: .*_get_by_id$
  methodNameOverride: get_by_id
- operationId: .*_get_by_name$
  methodNameOverride: get_by_name
- operationId: .*_add$
  methodNameOverride: add
- operationId: .*_remove$
  methodNameOverride: remove
- operationId: .*_results$
  methodNameOverride: results
- operationId: .*_queue_work$
  methodNameOverride: queue_work
- operationId: .*_activate$
  methodNameOverride: activate
- operationId: .*_inactivate$
  methodNameOverride: inactivate
- operationId: .*_list_files$
  methodNameOverride: list_files
- operationId: .*_move_files$
  methodNameOverride: move_files
- operationId: .*_upload_file$
  methodNameOverride: upload_file