Kata.ai Bots API

Bot revisions and drafts.

OpenAPI Specification

kataai-bots-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kata.ai NL Prediction Auth Bots API
  description: The Kata.ai Natural Language (NL) Prediction API exposes a trained Natural Language Understanding model built in NL Studio so it can be called from any application. Given an input sentence it returns detected entities (trait, dict, phrase) with scores, spans, resolved values, and entity relationships. Reconstructed from the published Kata Platform documentation (kata-ai/kata-platform-docs, nl-studio/nl-prediction-api); an API Evangelist derived specification, not a Kata.ai-published OpenAPI.
  version: 1.0.0
  contact:
    name: Kata.ai
    email: business@kata.ai
    url: https://docs.kata.ai/nl-studio/nl-prediction-api
  x-provenance:
    generated: '2026-07-19'
    method: generated
    source: https://github.com/kata-ai/kata-platform-docs/blob/master/docs/nl-studio/nl-prediction-api.md
servers:
- url: https://geist.kata.ai
  description: Kata.ai NL Prediction API host
security:
- bearerAuth: []
tags:
- name: Bots
  description: Bot revisions and drafts.
paths:
  /projects/{projectId}/bot/:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    get:
      tags:
      - Bots
      operationId: getBot
      summary: Get the project bot
      responses:
        '200':
          description: Bot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bot'
        '403':
          $ref: '#/components/responses/Forbidden'
  /projects/{projectId}/bot/revisions/:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    post:
      tags:
      - Bots
      operationId: createBotRevision
      summary: Update bot (create a new bot revision)
      description: Updating a bot is done by creating a new bot revision. Rejected if the version already exists.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bot'
      responses:
        '200':
          description: New bot revision
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bot'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
  /projects/{projectId}/bot/draft:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    get:
      tags:
      - Bots
      operationId: getBotDraft
      summary: Get bot draft
      responses:
        '200':
          description: Bot draft
          content:
            application/json:
              schema:
                type: object
    put:
      tags:
      - Bots
      operationId: updateBotDraft
      summary: Create or update bot draft
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Draft id
          content:
            application/json:
              schema:
                type: object
                properties:
                  draftId:
                    type: string
    delete:
      tags:
      - Bots
      operationId: deleteBotDraft
      summary: Delete bot draft
      responses:
        '200':
          description: Draft id
          content:
            application/json:
              schema:
                type: object
                properties:
                  draftId:
                    type: string
components:
  responses:
    Forbidden:
      description: You're not authorized to view this page.
      content:
        application/json:
          schema:
            type: string
    BadRequest:
      description: Wrong API usage. Please refer to the documentation!
      content:
        application/json:
          schema:
            type: string
  schemas:
    Bot:
      type: object
      required:
      - id
      - name
      - version
      properties:
        id:
          type: string
        name:
          type: string
        version:
          type: string
        desc:
          type: string
        lang:
          type: string
        timezone:
          type: integer
        flows:
          type: object
          additionalProperties: true
        nlus:
          type: object
          additionalProperties: true
        methods:
          type: object
          additionalProperties: true
        config:
          type: object
          additionalProperties: true
        revision:
          type: string
  parameters:
    ProjectId:
      name: projectId
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token from NL Studio Settings (Authorization: Bearer <token>).'