Kata.ai Projects API
A project bundles one Bot, CMS, and/or NLU.
A project bundles one Bot, CMS, and/or NLU.
openapi: 3.0.3
info:
title: Kata.ai NL Prediction Auth Projects 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: 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:
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
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
ProjectList:
type: object
properties:
page:
type: integer
limit:
type: integer
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/Project'
responses:
BadRequest:
description: Wrong API usage. Please refer to the documentation!
content:
application/json:
schema:
type: string
TooManyRequests:
description: Ratelimit exceeded! 100 per minute
content:
application/json:
schema:
type: string
Forbidden:
description: You're not authorized to view this page.
content:
application/json:
schema:
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>).'