Literal AI Generations API

Log and paginate chat and completion generations - prompts, model, settings, token usage, and outputs - with filtering for analytics and evaluation.

OpenAPI Specification

literalai-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Literal AI API
  description: >-
    HTTP transport model for the Literal AI observability, evaluation, and
    analytics platform. The Literal AI API is GraphQL: a single POST endpoint
    at /api/graphql accepts a GraphQL query/mutation document and variables.
    This OpenAPI document models that single endpoint so the GraphQL surface is
    discoverable in REST tooling; the full type system lives in
    graphql/literalai-schema.graphql. Authentication uses the x-api-key header.
  termsOfService: https://www.literalai.com/terms
  contact:
    name: Literal AI Support
    url: https://docs.literalai.com
  version: '1.0'
servers:
  - url: https://cloud.getliteral.ai
    description: Literal AI Cloud
  - url: '{baseUrl}'
    description: Self-hosted Literal AI deployment
    variables:
      baseUrl:
        default: https://cloud.getliteral.ai
        description: LITERAL_API_URL for self-hosted / enterprise installs.
security:
  - ApiKeyAuth: []
paths:
  /api/graphql:
    post:
      operationId: graphql
      tags:
        - GraphQL
      summary: Execute a GraphQL query or mutation.
      description: >-
        Single GraphQL endpoint for all Literal AI operations - threads, steps,
        generations, datasets, experiments, prompts, and scores. The request
        body carries a GraphQL document and an optional variables object;
        responses follow the standard GraphQL { data, errors } envelope.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GraphQLRequest'
            examples:
              getThread:
                summary: Fetch a thread with steps
                value:
                  query: >-
                    query GetThread($id: String!) { thread(id: $id) { id name
                    steps { id type input output } } }
                  variables:
                    id: thread_123
              createScore:
                summary: Attach a score to a step
                value:
                  query: >-
                    mutation CreateScore($name: String!, $type: ScoreType!,
                    $value: Float!, $stepId: String) { createScore(name: $name,
                    type: $type, value: $value, stepId: $stepId) { id value } }
                  variables:
                    name: relevance
                    type: HUMAN
                    value: 1
                    stepId: step_456
      responses:
        '200':
          description: >-
            GraphQL response. HTTP 200 is returned even for GraphQL-level
            errors, which appear in the errors array.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GraphQLResponse'
        '401':
          description: Missing or invalid x-api-key.
        '429':
          description: Rate limit / log-unit quota exceeded.
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Project API key from the Literal AI dashboard, supplied via the
        LITERAL_API_KEY environment variable in the SDKs.
  schemas:
    GraphQLRequest:
      type: object
      required:
        - query
      properties:
        query:
          type: string
          description: The GraphQL query or mutation document.
        operationName:
          type: string
          description: Name of the operation to run when the document defines several.
        variables:
          type: object
          additionalProperties: true
          description: Variables referenced by the GraphQL document.
    GraphQLResponse:
      type: object
      properties:
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Result payload keyed by the requested fields.
        errors:
          type: array
          description: GraphQL execution errors, when present.
          items:
            $ref: '#/components/schemas/GraphQLError'
    GraphQLError:
      type: object
      properties:
        message:
          type: string
        path:
          type: array
          items:
            type: string
        locations:
          type: array
          items:
            type: object
            properties:
              line:
                type: integer
              column:
                type: integer
        extensions:
          type: object
          additionalProperties: true