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
- Payload
Content type
application/json
{"username": "string",
"password": "string"}
Response samples
- 200
- 401
Content type
application/json
{"access_token": "string"}
Git
Information about connected Git repositories
Store credentials for a Git repository
Authorizations:
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 | booleanTrue if changes cannot be pushed directly to the target branch. |
| is_target_branch_compatible | booleanFalse 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
- Payload
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
- 201
- 400
- 401
- 403
- 422
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
- Payload
Content type
application/json
{"license": "string"}
Response samples
- 200
- 401
- 403
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
- 200
- 401
- 403
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
- 401
- 403
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
- 200
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
- 200
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
- 200
- 401
- 403
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
- 401
- 403
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
- 200
Content type
application/json
[{