Agnost AI Classification API

LLM-based classification operations

OpenAPI Specification

agnost-ai-classification-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Agnost AI Alerts Classification API
  description: 'Complete REST API for Agnost AI: an analytics and monitoring platform for AI agents.


    **Authentication**:

    - SDK ingestion endpoints (`/api/v1/*`) use `x-org-id` header (UUID)

    - Dashboard endpoints use `Authorization: Bearer <jwt>` + `x-org-id` header, or `x-api-key` header

    - API key management uses JWT only (no API key auth)

    '
  version: 2.1.2
  contact:
    name: Agnost AI
    url: https://agnost.ai
servers:
- url: https://api.agnost.ai
  description: Production
tags:
- name: Classification
  description: LLM-based classification operations
paths:
  /dashboard/api/run-intent-classification:
    post:
      tags:
      - Classification
      summary: Run intent classification on conversations
      operationId: runIntentClassification
      security:
      - BearerAuth: []
        OrgScope: []
      - ApiKey: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryFilters'
      responses:
        '200':
          description: Classification results
  /dashboard/api/run-sop-classification:
    post:
      tags:
      - Classification
      summary: Run SOP classification on conversations
      operationId: runSOPClassification
      security:
      - BearerAuth: []
        OrgScope: []
      - ApiKey: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryFilters'
      responses:
        '200':
          description: SOP classification results
  /dashboard/api/run-spotlight-query:
    post:
      tags:
      - Classification
      summary: Run LLM-based spotlight query (SSE streaming)
      operationId: runSpotlightLLMQuery
      security:
      - BearerAuth: []
        OrgScope: []
      - ApiKey: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/QueryFilters'
              - type: object
                required:
                - query
                properties:
                  query:
                    type: string
      responses:
        '200':
          description: SSE stream of classification results
          content:
            text/event-stream:
              schema:
                type: string
  /dashboard/api/classify:
    post:
      tags:
      - Classification
      summary: Unified classification endpoint
      description: 'Dispatches to intent, SOP, or spotlight classification based on type field.

        Replaces separate run-intent-classification, run-sop-classification, and run-spotlight-query endpoints.

        '
      operationId: runClassification
      security:
      - BearerAuth: []
        OrgScope: []
      - ApiKey: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/QueryFilters'
              - type: object
                required:
                - type
                properties:
                  type:
                    type: string
                    enum:
                    - intent
                    - sop
                    - spotlight
                  query:
                    type: string
                    description: Required for spotlight type
      responses:
        '200':
          description: Classification results
components:
  schemas:
    QueryFilters:
      type: object
      properties:
        time_range:
          $ref: '#/components/schemas/TimeRange'
        connection_type:
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        agent_name:
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        metadata_filters:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
        page:
          type: integer
          default: 1
        page_size:
          type: integer
          default: 20
    TimeRange:
      type: string
      enum:
      - 1min
      - 1h
      - 1d
      - 1w
      - 1m
      - all
      default: 1w
  securitySchemes:
    OrgId:
      type: apiKey
      in: header
      name: x-org-id
      description: Organization ID (UUID). Used by SDKs for event ingestion. Header is case-insensitive.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token from OAuth login.
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key (`agnost_<64-hex>`) for programmatic dashboard access. Issued via Settings → API Keys.
    OrgScope:
      type: apiKey
      in: header
      name: x-org-id
      description: Optional. Selects which organization a JWT- or API-key-authenticated request targets when the credential has access to multiple.