Rasa X Documentation

Rasa X / Rasa Enterprise HTTP API (1.1.0)

Download OpenAPI specification: Download

This is the documentation for the Rasa X and Rasa Enterprise HTTP APIs.

Authentication

bearerAuth

Authentication via a JWT token, included in the HTTP Authorization header. Applicable only on certain endpoints.

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

apiToken

Authentication via a per-user secret API token, included in the api_token query string argument. Applicable only on certain endpoints.

Security Scheme Type API Key
Query parameter name: api_token

rasaXToken

Authentication via a configurable per-server secret token, included in the token query string argument. Applicable only on certain endpoints.

Security Scheme Type API Key
Query parameter name: token

Authentication

Authentication endpoints

Perform authentication using a username and password.

Authorizations:
Request Body schema: application/json
username
required
string
password
required
string

Responses

200
Success status

401
Authentication required to access this resource.

post/auth

Local Server
https://api/auth

Request samples

Content type

application/json

{"username": "string",
"password": "string"}

Response samples

Content type

application/json

{"access_token": "string"}

Git

Information about connected Git repositories

Store credentials for a Git repository

Authorizations:

bearerAuthapiToken

Request Body schema: application/json

Credentials for the repository

id integer
ID of the repository
name string
Name of the repository
repository_url string
URL to clone repository
ssh_key string
SSH key which should be used to access a private repository
username string
Username used to access the repository when HTTPS is used. This field is only used in Rasa Enterprise deployments.
password string
Password used to access the repository when HTTPS is used. Note: this property is only present in request payloads, and is never part of API responses. Additionally, passwords are never stored by Rasa X, they are only cached temporarily in memory using Git's 'cache' credential store. This field is only used in Rasa Enterprise deployments.
git_service string
Name of the Git service which is used
git_service_access_token string
Access token which might be used to access the API of the Git service (e.g. to create pull requests)
target_branch string
Name of the branch which should be pulled
use_generated_ssh_keys boolean
If True used the private SSH key generated by Rasa X.
is_target_branch_protected boolean
True if changes cannot be pushed directly to the target branch.
is_target_branch_compatible boolean
False if current branch contains incompatible data
first_annotator_id string
Name of the user who made the the first annotation since Integrated Version Control was in a clean state.
first_annotated_at number
Time of the first annotation since Integrated Version Control was in a clean state as unix timestamp.

Responses

201
Created Git repository

400
The checked out repository does not contain a valid Rasa project.

401
Authentication required to access this resource.

403
Not enough permissions to access this resource.

409
Repository creation failed due to having specified an HTTPS URL when Rasa Enterprise is not installed.

422
Branch could not be found in the the checked out repository.

post/git-repositories

Local Server
https://api/git-repositories

Request samples

Content type

application/json

{"id": 0,
"name": "string",
"repository_url": "string",
"ssh_key": "string",
"username": "string",
"password": "string",
"git_service": "github",
"git_service_access_token": "string",
"target_branch": "string",
"use_generated_ssh_keys": true,
"is_target_branch_protected": true,
"is_target_branch_compatible": true,
"first_annotator_id": "string",
"first_annotated_at": 0}

Response samples

Content type

application/json

Licensing

Rasa Enterprise license management

Activate Rasa Enterprise using a license

Authorizations:
Request Body schema: application/json
license
required
string
Rasa Enterprise license string

Responses

200
Rasa Enterprise successfully activated

400
Error while trying to validate Rasa Enterprise license

401
Authentication required to access this resource.

403
Not enough permissions to access this resource.

post/license

Local Server
https://api/license

Request samples

Content type

application/json

{"license": "string"}

Response samples

Content type

application/json

{"jti": "string",
"iat": 0,
"nbf": 0,
"exp": 0,
"version": 0,
"email": "string"}

Get information about a stored Rasa Enterprise license

Authorizations:

Responses

200
Information about a stored Rasa Enterprise license in the database

401
Authentication required to access this resource.

403
Not enough permissions to access this resource.

404
No stored Rasa Enterprise license was found

get/license

Local Server
https://api/license

Response samples

Content type

application/json

{"encoded": "string",
"decoded": {
"jti": "string",
"iat": 0,
"nbf": 0,
"exp": 0,
"version": 0,
"email": "string"},
"valid": true}

Delete a stored Rasa Enterprise license

Authorizations:

Responses

204
Rasa Enterprise license was successfully deleted

401
Authentication required to access this resource.

403
Not enough permissions to access this resource.

404
No stored Rasa Enterprise license was found

delete/license

Local Server
https://api/license

Response samples

Content type

application/json

{"exception": "string",
"reasons": "string"}

Status

API status information

Fetch status of Rasa services

Authorizations:

Responses

200
Status of services

get/health

Local Server
https://api/health

Response samples

Content type

application/json

{"production": {
"version": "string",
"minimum_compatible_version": "string",
"status": 0},

"worker": {
"version": "string",
"minimum_compatible_version": "string",
"status": 0},

"database_migration": {
"status": "string",
"current_revision": ["string"],
"target_revision": ["string"],
"progress_in_percent": 0}}

Fetch versions of services.

Fetch versions of services. If an update is available, the response will also contain an optional "updates" section.

Authorizations:
query Parameters
skip_external boolean
Default: false
When true, skip interactions with external services (Rasa Open Source nodes and DockerHub).

Responses

200
Versions of services

get/version

Local Server
https://api/version

Response samples

Content type

application/json

{"rasa": {
"production": "string",
"worker": "string"},

"rasa-x": "string",

"enterprise": true,
"local_mode": true,
"development_mode": true,
"updates": {
"rasa-x": {
"version": "string",
"changelog_url": "string"}},

"keys": [{"key": "string",
"alg": "string"}]}

Telemetry

Access the current telemetry configuration.

Authorizations:
query Parameters
include_user_groups boolean
Default: false
When true, include user groups in response

Responses

200
Current telemetry configuration

401
Authentication required to access this resource.

403
Not enough permissions to access this resource.

get/telemetry

Local Server
https://api/telemetry

Response samples

Content type

application/json

{"telemetry_enabled": true,
"user_groups": ["string"],
"user_id": "string"}

Disable telemetry in server mode.

Disable telemetry if Rasa X is running in server mode. After calling this endpoint, the Rasa X server must be restarted in order for the changes to take effect.

Authorizations:

Responses

200
Telemetry configuration was updated, or was already disabled

400
If Rasa X is running in local mode.

401
Authentication required to access this resource.

403
Not enough permissions to access this resource.

delete/telemetry

Local Server
https://api/telemetry

Response samples

Content type

application/json

{"exception": "string",
"reasons": "string"}

Conversations

Conversations between your assistant and end users

Return data tags assigned to the conversation ID

path Parameters
conversation_id
required
string
Example: conversation_id
Sender ID

Responses

200
Data tags were successfully retrieved (including empty result)

404
Conversation was not found

get/conversations/{conversation_id}/data-tags

Local Server
https://api/conversations/{conversation_id}/data-tags

Response samples

Content type

application/json

[{