Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
openapi: 3.2.0
info:
title: Rasa - Server Endpoints Domain API
version: 1.0.0
description: The Rasa server provides endpoints to retrieve trackers of conversations as well as endpoints to modify them. Additionally, endpoints for training and testing models are provided.
servers:
- url: http://localhost:5005
description: Local development server
tags:
- name: Domain
paths:
/domain:
get:
security:
- TokenAuth: []
- JWT: []
operationId: getDomain
tags:
- Domain
summary: Retrieve the loaded domain
description: Returns the domain specification the currently loaded model is using.
responses:
200:
description: Domain was successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/Domain'
application/yaml:
schema:
$ref: '#/components/schemas/Domain'
401:
$ref: '#/components/responses/401NotAuthenticated'
403:
$ref: '#/components/responses/403NotAuthorized'
406:
$ref: '#/components/responses/406InvalidHeader'
500:
$ref: '#/components/responses/500ServerError'
components:
schemas:
IntentDescription:
type: object
additionalProperties:
type: object
properties:
use_entities:
type: boolean
Domain:
type: object
description: The bot's domain.
properties:
config:
type: object
description: Addional option
properties:
store_entities_as_slots:
type: boolean
description: Store all entites as slot when found
example: false
intents:
type: array
description: All intent names and properties
items:
$ref: '#/components/schemas/IntentDescription'
entities:
type: array
description: All entity names
items:
type: string
example:
- person
- location
slots:
description: Slot names and configuration
type: object
additionalProperties:
$ref: '#/components/schemas/SlotDescription'
responses:
description: Bot response templates
type: object
additionalProperties:
$ref: '#/components/schemas/TemplateDescription'
actions:
description: Available action names
type: array
items:
type: string
example:
- action_greet
- action_goodbye
- action_listen
SlotDescription:
type: object
properties:
auto_fill:
type: boolean
initial_value:
type:
- string
- 'null'
type:
type: string
values:
type: array
items:
type: string
required:
- type
- auto_fill
TemplateDescription:
type: object
properties:
text:
type: string
description: Template text
required:
- text
Error:
type: object
properties:
version:
type: string
description: Rasa version
status:
type: string
enum:
- failure
description: Status of the requested action
message:
type: string
description: Error message
reason:
type: string
description: Error category
details:
type: object
description: Additional error information
help:
type: string
description: Optional URL to additonal material
code:
type: number
description: HTTP status code
responses:
403NotAuthorized:
description: User has insufficient permission.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
version: 1.0.0
status: failure
reason: NotAuthorized
message: User has insufficient permission to access resource.
code: 403
406InvalidHeader:
description: Invalid header provided.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
version: 1.0.0
status: failure
reason: InvalidHeader
message: Invalid header was provided with the request.
code: 406
500ServerError:
description: An unexpected error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
version: 1.0.0
status: ServerError
message: An unexpected error occurred.
code: 500
401NotAuthenticated:
description: User is not authenticated.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
version: 1.0.0
status: failure
reason: NotAuthenticated
message: User is not authenticated to access resource.
code: 401
securitySchemes:
TokenAuth:
type: apiKey
in: query
name: token
description: 'A plaintext token to secure your server, specified at startup in the argument `--auth-token thisismysecret`
'
JWT:
type: http
scheme: bearer
bearerFormat: JWT
description: "A JWT token that is signed using the JWT secret specified at startup in the argument `--jwt-secret thisismysecret`,\nusing the `HS256` algorithm.\n\nThe token's payload must contain an object under the `user` key,\nwhich in turn must contain the `username` and `role` attributes.\nThe following is an example payload for a JWT token:\n\n```json\n{\n \"user\": {\n \"username\": \"<sender_id>\",\n \"role\": \"user\"\n }\n}\n```\n\nIf the `role` is `admin`, all endpoints are accessible.\nIf the `role` is `user`, endpoints with a `sender_id` parameter are only accessible\nif the `sender_id` matches the payload's `username` property.\n"