Kata.ai Projects API

A project bundles one Bot, CMS, and/or NLU.

Operations 4

GET /projects/ List projects #
POST /projects/ Create a project #
GET /projects/{projectId} Get a project #
PUT /projects/{projectId} Update a project #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kataai-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kataai-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kata.ai Platform Public Projects API
  description: Public REST API for the Kata Platform (Kata.ai). Manage bot projects, bots and drafts, deployments, environments, messaging channels, teams, and Natural Language Understanding (NLU) models used to build Indonesian conversational AI assistants. Reconstructed from the published Kata Platform documentation (kata-ai/kata-platform-docs); this is an API Evangelist derived specification, not a Kata.ai-published OpenAPI file.
  version: 1.0.0
  contact:
    name: Kata.ai
    email: business@kata.ai
    url: https://docs.kata.ai/kata-platform
  x-provenance:
    generated: '2026-07-19'
    method: generated
    source: https://github.com/kata-ai/kata-platform-docs/blob/master/docs/api/kataai-public-api.md
servers:
- url: https://api.kata.ai
  description: Kata Platform public API (default zaunUrl in kata-cli)
security:
- bearerAuth: []
tags:
- name: Projects
  description: A project bundles one Bot, CMS, and/or NLU.
paths:
  /projects/:
    get:
      tags:
      - Projects
      operationId: listProjects
      summary: List projects
      responses:
        '200':
          description: Paged list of projects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    post:
      tags:
      - Projects
      operationId: createProject
      summary: Create a project
      description: Creates a project consisting of one Bot, CMS, and/or NLU.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '200':
          description: Project created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
  /projects/{projectId}:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    get:
      tags:
      - Projects
      operationId: getProject
      summary: Get a project
      responses:
        '200':
          description: Project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '403':
          $ref: '#/components/responses/Forbidden'
    put:
      tags:
      - Projects
      operationId: updateProject
      summary: Update a project
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
      responses:
        '200':
          description: Updated project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    BadRequest:
      description: Wrong API usage. Please refer to the documentation!
      content:
        application/json:
          schema:
            type: string
    Forbidden:
      description: You're not authorized to view this page.
      content:
        application/json:
          schema:
            type: string
    TooManyRequests:
      description: Ratelimit exceeded! 100 per minute
      content:
        application/json:
          schema:
            type: string
  parameters:
    ProjectId:
      name: projectId
      in: path
      required: true
      schema:
        type: string
  schemas:
    Project:
      type: object
      required:
      - name
      - botLatestRevision
      - options
      properties:
        id:
          type: string
        name:
          type: string
        label:
          type: string
        description:
          type: string
        botLatestRevision:
          type: string
        nluLatestRevision:
          type: string
        cmsLatestRevision:
          type: string
        options:
          type: object
          properties:
            bot:
              type: boolean
            cms:
              type: boolean
            nlu:
              type: boolean
            timezone:
              type: integer
            nluVisibility:
              type: string
              enum:
              - private
              - public
            nluLang:
              type: string
            nluId:
              type: string
    ProjectList:
      type: object
      properties:
        page:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        data:
          type: array
          items:
            $ref: '#/components/schemas/Project'
    CreateProjectRequest:
      type: object
      required:
      - name
      - options
      properties:
        name:
          type: string
        options:
          type: object
          properties:
            bot:
              type: boolean
            cms:
              type: boolean
            nlu:
              type: boolean
            timezone:
              type: integer
            nluVisibility:
              type: string
              enum:
              - private
              - public
            nluLang:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token in the Authorization header (Authorization: Bearer <token>). The token may alternatively be supplied as a ?token= query string parameter.'