Deepchecks Applications / Versions API

Creates and lists evaluation applications and their versions, the organizational units that scope interactions, properties, and evaluation runs in the Deepchecks LLM Evaluation platform.

OpenAPI Specification

deepchecks-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Deepchecks LLM Evaluation API
  description: >-
    REST API for the Deepchecks LLM Evaluation cloud platform. Log raw LLM
    interactions to an application version for evaluation, manage applications
    and their versions, retrieve enriched interactions with their computed
    properties and annotations, and configure LLM property definitions.
    Authentication uses a Deepchecks API token passed as a Bearer token in the
    Authorization header.
  termsOfService: https://www.deepchecks.com/terms-of-use/
  contact:
    name: Deepchecks Support
    url: https://www.deepchecks.com
  version: 'v1'
servers:
  - url: https://app.llm.deepchecks.com
    description: Deepchecks LLM Evaluation cloud
security:
  - BearerAuth: []
tags:
  - name: System
    description: Backend metadata.
  - name: Applications
    description: Evaluation applications.
  - name: Application Versions
    description: Versions of an evaluation application.
  - name: Interactions
    description: LLM interaction logging and retrieval.
  - name: Properties
    description: LLM property definitions.
  - name: Spans
    description: Raw tracing spans.
paths:
  /api/v1/backend-version:
    post:
      operationId: getBackendVersion
      tags:
        - System
      summary: Retrieve the backend version.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackendVersion'
  /api/v1/applications:
    get:
      operationId: listApplications
      tags:
        - Applications
      summary: List applications.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Application'
    post:
      operationId: createApplication
      tags:
        - Applications
      summary: Create an application.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApplicationRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
  /api/v1/application-versions:
    get:
      operationId: listApplicationVersions
      tags:
        - Application Versions
      summary: List application versions.
      parameters:
        - name: app_name
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApplicationVersion'
    post:
      operationId: createApplicationVersion
      tags:
        - Application Versions
      summary: Create an application version.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApplicationVersionRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationVersion'
  /api/v1/application-versions/{application_version_id}/interactions:
    parameters:
      - name: application_version_id
        in: path
        required: true
        schema:
          type: integer
    post:
      operationId: createInteractions
      tags:
        - Interactions
      summary: Log a batch of interactions.
      description: >-
        Logs one or more raw LLM interactions (user input, model output,
        information-retrieval context, full prompt, history, and custom
        properties) to the given application version for evaluation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/InteractionInput'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInteractionsResponse'
    get:
      operationId: getInteractionsByFilter
      tags:
        - Interactions
      summary: Get interactions by filter.
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
        - name: offset
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Interaction'
    delete:
      operationId: deleteInteractions
      tags:
        - Interactions
      summary: Delete interactions.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteInteractionsRequest'
      responses:
        '200':
          description: OK
  /api/v1/application-versions/{application_version_id}/interactions/complete-status:
    post:
      operationId: getInteractionCompletionStatus
      tags:
        - Interactions
      summary: Get interaction completion status.
      description: Returns the evaluation/processing completion status for interactions.
      parameters:
        - name: application_version_id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompletionStatusRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompletionStatusResponse'
  /api/v1/application-versions/{application_version_id}/interactions/download:
    get:
      operationId: downloadInteractionsByFilter
      tags:
        - Interactions
      summary: Download all interactions by filter.
      description: >-
        Downloads interactions enriched with computed properties, topics, and
        annotations for the given application version.
      parameters:
        - name: application_version_id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Interaction'
  /api/v1/applications/{app_id}/llm-prop-definitions:
    put:
      operationId: updateLlmPropsDefinitions
      tags:
        - Properties
      summary: Update LLM property display names.
      description: Updates the display names and definitions for LLM properties on an application.
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LlmPropsDefinitions'
      responses:
        '200':
          description: OK
  /api/v1/spans:
    get:
      operationId: getRawSpansByFilter
      tags:
        - Spans
      summary: Get raw spans by filter.
      description: Retrieves raw tracing spans captured for interactions.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Span'
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Deepchecks API token, generated in the LLM Evaluation UI.
  schemas:
    BackendVersion:
      type: object
      properties:
        version:
          type: string
    Application:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        kind:
          type: string
          description: Application type (e.g. QA, SUMMARIZATION, GENERATION, OTHER).
        created_at:
          type: string
          format: date-time
    CreateApplicationRequest:
      type: object
      required:
        - name
        - kind
      properties:
        name:
          type: string
        kind:
          type: string
        description:
          type: string
    ApplicationVersion:
      type: object
      properties:
        id:
          type: integer
        application_id:
          type: integer
        name:
          type: string
        created_at:
          type: string
          format: date-time
    CreateApplicationVersionRequest:
      type: object
      required:
        - application_id
        - name
      properties:
        application_id:
          type: integer
        name:
          type: string
        description:
          type: string
    InteractionInput:
      type: object
      properties:
        user_interaction_id:
          type: string
          description: Caller-supplied unique id for the interaction.
        input:
          type: string
          description: The user input / prompt.
        output:
          type: string
          description: The model output / response.
        full_prompt:
          type: string
        information_retrieval:
          type: array
          items:
            type: string
          description: Retrieved context documents.
        history:
          type: string
        annotation:
          type: string
          enum:
            - good
            - bad
            - unknown
        custom_props:
          type: object
          additionalProperties: true
        metadata:
          type: object
          additionalProperties: true
        started_at:
          type: string
          format: date-time
        finished_at:
          type: string
          format: date-time
    Interaction:
      type: object
      properties:
        id:
          type: integer
        user_interaction_id:
          type: string
        input:
          type: string
        output:
          type: string
        annotation:
          type: string
        annotation_reason:
          type: string
        topic:
          type: string
        properties:
          type: object
          additionalProperties: true
        created_at:
          type: string
          format: date-time
    CreateInteractionsResponse:
      type: object
      properties:
        created:
          type: integer
        interaction_ids:
          type: array
          items:
            type: integer
    DeleteInteractionsRequest:
      type: object
      properties:
        user_interaction_ids:
          type: array
          items:
            type: string
    CompletionStatusRequest:
      type: object
      properties:
        user_interaction_ids:
          type: array
          items:
            type: string
    CompletionStatusResponse:
      type: object
      properties:
        completed:
          type: integer
        pending:
          type: integer
        statuses:
          type: array
          items:
            type: object
            properties:
              user_interaction_id:
                type: string
              status:
                type: string
    LlmPropsDefinitions:
      type: object
      properties:
        definitions:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              display_name:
                type: string
    Span:
      type: object
      properties:
        id:
          type: string
        trace_id:
          type: string
        name:
          type: string
        started_at:
          type: string
          format: date-time
        finished_at:
          type: string
          format: date-time
        attributes:
          type: object
          additionalProperties: true