Kata.ai Channels API

Messaging channels (LINE, Telegram, WhatsApp, etc.).

OpenAPI Specification

kataai-channels-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kata.ai NL Prediction Auth Channels 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: Channels
  description: Messaging channels (LINE, Telegram, WhatsApp, etc.).
paths:
  /projects/{projectId}/environments/{environmentId}/channels:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    - $ref: '#/components/parameters/EnvironmentId'
    get:
      tags:
      - Channels
      operationId: listChannels
      summary: List channels
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
      - name: page
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Paged channels
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelList'
    post:
      tags:
      - Channels
      operationId: createChannel
      summary: Create a channel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Channel'
      responses:
        '200':
          description: Channel created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
  /projects/{projectId}/environments/{environmentId}/channels/{channelId}:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    - $ref: '#/components/parameters/EnvironmentId'
    - name: channelId
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Channels
      operationId: getChannel
      summary: Get a channel
      responses:
        '200':
          description: Channel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
    put:
      tags:
      - Channels
      operationId: updateChannel
      summary: Update a channel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Channel'
      responses:
        '200':
          description: Updated channel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
    delete:
      tags:
      - Channels
      operationId: deleteChannel
      summary: Delete a channel
      responses:
        '200':
          description: Deleted channel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
components:
  schemas:
    ChannelList:
      type: object
      properties:
        page:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        data:
          type: array
          items:
            $ref: '#/components/schemas/Channel'
    Channel:
      type: object
      required:
      - name
      - type
      - url
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
          - generic
          - line
          - fbmessenger
          - telegram
          - twitter
          - slack
          - spark
          - bbm
          - qiscus
          - whatsapp
        url:
          type: string
        rpmLimit:
          type: integer
        agentId:
          type: string
        webhook:
          type: string
        options:
          type: object
          additionalProperties: true
  parameters:
    EnvironmentId:
      name: environmentId
      in: path
      required: true
      schema:
        type: string
    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>).'