pro.yaml
openapi: 3.0.1 info: title: Rasa - Server Endpoints 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 paths: /: get: tags: - Server Information summary: Health endpoint of Rasa Server operationId: getHealth description: >- This URL can be used as an endpoint to run health checks against. When the server is running this will return 200. responses: '200': description: Up and running content: text/plain: schema: type: string description: Welcome text of Rasa Server example: 'Hello from Rasa: 1.0.0' /license: get: tags: - Server Information operationId: getLicense summary: Information about your Rasa Pro License description: Returns the license information about your Rasa Pro License responses: '200': description: Rasa Pro License Information content: application/json: schema: type: object properties: id: type: string description: Unique identifier for the license company: type: string description: Name of the company the license is issued to scope: type: string description: Scope of the license email: type: string description: Email associated with the license expires: type: string format: date-time description: Expiry date of the license in ISO 8601 format example: id: u5fn8888-e213-4c12-9542-0baslfdkjas company: acme scope: rasa:pro rasa:voice email: acme@email.com expires: '2026-01-01T00:00:00+00:00' /version: get: tags: - Server Information operationId: getVersion summary: Version of Rasa description: Returns the version of Rasa. responses: '200': description: Version of Rasa content: application/json: schema: type: object properties: version: type: string description: Rasa version number minimum_compatible_version: type: string description: >- Minimum version this Rasa version is able to load models from example: version: 1.0.0 minimum_compatible_version: 1.0.0 /status: get: security: - TokenAuth: [] - JWT: [] operationId: getStatus tags: - Server Information summary: Status of the Rasa server description: Information about the server and the currently loaded Rasa model. responses: '200': description: Success content: application/json: schema: type: object properties: model_id: type: string description: ID of the loaded model example: 75a985b7b86d442ca013d61ea4781b22 model_file: type: string description: Path of the loaded model example: 20190429-103105.tar.gz num_active_training_jobs: type: integer description: Number of running training processes example: 2 '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' /conversations/{conversation_id}/tracker: get: security: - TokenAuth: [] - JWT: [] operationId: getConversationTracker tags: - Tracker summary: Retrieve a conversations tracker description: >- The tracker represents the state of the conversation. The state of the tracker is created by applying a sequence of events, which modify the state. These events can optionally be included in the response. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/include_events' - $ref: '#/components/parameters/until' responses: '200': $ref: '#/components/responses/200Tracker' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' delete: security: - TokenAuth: [] - JWT: [] operationId: deleteConversationTracker tags: - Tracker summary: Delete tracker for a specific conversation description: Deletes the tracker of a conversation. parameters: - $ref: '#/components/parameters/conversation_id' responses: '204': description: Tracker successfully deleted. '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '404': description: Conversation not found. '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /users/{user_id}/trackers: get: security: - TokenAuth: [] - JWT: [] operationId: getUserTrackers tags: - Tracker summary: Retrieve all conversations for a user description: >- Retrieves all conversation trackers for a given user with pagination. All the event data is returned. Requires admin authentication (token or JWT with `role` set to `admin`).
Tracker data is read directly from storage as serialized event dicts without replaying conversation history through `DialogueStateTracker`. This keeps response latency constant regardless of conversation volume.
The `current_session_id` field in each returned tracker is derived from the metadata of the last stored event. It is `null` when the last event is `ConversationInactive`.
Use this endpoint in a backend service to control what data is exposed to clients. Direct client access should be avoided to maintain security and control over sensitive user data. parameters: - $ref: '#/components/parameters/user_id' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserTrackersResponse' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/tracker/events: post: security: - TokenAuth: [] - JWT: [] operationId: addConversationTrackerEvents tags: - Tracker summary: Append events to a tracker description: >- Appends one or multiple new events to the tracker state of the conversation. Any existing events will be kept and the new events will be appended, updating the existing state. If events are appended to a new conversation ID, the tracker will be initialised with a new session. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/include_events' - $ref: '#/components/parameters/output_channel' - in: query name: execute_side_effects schema: type: boolean default: false description: >- If `true`, any ``BotUttered`` event will be forwarded to the channel specified in the ``output_channel`` parameter. Any ``ReminderScheduled`` or ``ReminderCancelled`` event will also be processed. requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/Event' - $ref: '#/components/schemas/EventList' responses: '200': $ref: '#/components/responses/200Tracker' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' put: security: - TokenAuth: [] - JWT: [] operationId: replaceConversationTrackerEvents tags: - Tracker summary: Replace a trackers events description: >- Replaces all events of a tracker with the passed list of events. This endpoint should not be used to modify trackers in a production setup, but rather for creating training data. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/include_events' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventList' responses: '200': $ref: '#/components/responses/200Tracker' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/story: get: security: - TokenAuth: [] - JWT: [] operationId: getConversationStory tags: - Tracker summary: Retrieve an end-to-end story corresponding to a conversation description: >- The story represents the whole conversation in end-to-end format. This can be posted to the '/test/stories' endpoint and used as a test. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/until' - $ref: '#/components/parameters/all_sessions' responses: '200': $ref: '#/components/responses/200Story' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/execute: post: security: - TokenAuth: [] - JWT: [] operationId: executeConversationAction tags: - Tracker summary: Run an action in a conversation deprecated: true description: >- DEPRECATED. Runs the action, calling the action server if necessary. Any responses sent by the executed action will be forwarded to the channel specified in the output_channel parameter. If no output channel is specified, any messages that should be sent to the user will be included in the response of this endpoint. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/include_events' - $ref: '#/components/parameters/output_channel' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ActionRequest' responses: '200': description: Success content: application/json: schema: type: object properties: tracker: $ref: '#/components/schemas/Tracker' messages: type: array items: $ref: '#/components/schemas/BotMessage' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/trigger_intent: post: security: - TokenAuth: [] - JWT: [] operationId: triggerConversationIntent tags: - Tracker summary: Inject an intent into a conversation description: >- Sends a specified intent and list of entities in place of a user message. The bot then predicts and executes a response action. Any responses sent by the executed action will be forwarded to the channel specified in the ``output_channel`` parameter. If no output channel is specified, any messages that should be sent to the user will be included in the response of this endpoint. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/include_events' - $ref: '#/components/parameters/output_channel' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IntentTriggerRequest' responses: '200': description: Success content: application/json: schema: type: object properties: tracker: $ref: '#/components/schemas/Tracker' messages: type: array items: $ref: '#/components/schemas/BotMessage' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/predict: post: security: - TokenAuth: [] - JWT: [] operationId: predictConversationAction tags: - Tracker summary: Predict the next action description: >- Runs the conversations tracker through the model's policies to predict the scores of all actions present in the model's domain. Actions are returned in the 'scores' array, sorted on their 'score' values. The state of the tracker is not modified. parameters: - $ref: '#/components/parameters/conversation_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PredictResult' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/messages: post: security: - TokenAuth: [] - JWT: [] operationId: addConversationMessage tags: - Tracker summary: Add a message to a tracker description: >- Adds a message to a tracker. This doesn't trigger the prediction loop. It will log the message on the tracker and return, no actions will be predicted or run. This is often used together with the predict endpoint. parameters: - $ref: '#/components/parameters/conversation_id' - $ref: '#/components/parameters/include_events' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Message' responses: '200': $ref: '#/components/responses/200Tracker' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /conversations/{conversation_id}/capabilities: get: security: - TokenAuth: [] - JWT: [] operationId: getConversationCapabilities tags: - Tracker summary: Retrieve capabilities for a conversation description: >- Returns structured, conversation-aware capabilities metadata for all flows, including whether each flow is currently startable based on guard evaluation for the given conversation state. This endpoint is intended for use by custom actions and external integrations to build dynamic "what can you do?" responses without hard-coded flow lists. parameters: - $ref: '#/components/parameters/conversation_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ConversationCapabilities' example: flows: - id: transfer_money name: Transfer Money description: Transfer money to another account. guard_condition: null startable: true always_include_in_prompt: false trigger_intents: - transfer_money - id: check_balance name: Check Balance description: Check your current account balance. guard_condition: has_verified_account startable: false always_include_in_prompt: false trigger_intents: - check_balance - check_my_balance '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '404': description: Conversation not found. '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /model/train: post: security: - TokenAuth: [] - JWT: [] operationId: trainModel tags: - Model summary: Train a Rasa model description: >- Trains a new Rasa model. Depending on the data given only a dialogue model, only a NLU model, or a model combining a trained dialogue model with an NLU model will be trained. The new model is not loaded by default. parameters: - in: query name: save_to_default_model_directory schema: type: boolean default: true description: >- If `true` (default) the trained model will be saved in the default model directory, if `false` it will be saved in a temporary directory - in: query name: force_training schema: type: boolean default: false description: Force a model training even if the data has not changed - in: query name: augmentation schema: type: string default: 50 description: How much data augmentation to use during training - in: query name: num_threads schema: type: string default: 1 description: Maximum amount of threads to use when training - $ref: '#/components/parameters/callback_url' requestBody: required: true description: The training data should be in YAML format. content: application/yaml: schema: $ref: '#/components/schemas/YAMLTrainingRequest' example: | pipeline: []
policies: []
intents: - greet - goodbye
entities: []
slots: contacts_list: type: text mappings: - type: custom action: list_contacts
actions: - list_contacts
forms: {} e2e_actions: []
responses: utter_greet: - text: "Hey! How are you?"
utter_goodbye: - text: "Bye"
utter_list_contacts: - text: "You currently have the following contacts:\n{contacts_list}"
utter_no_contacts: - text: "You have no contacts in your list."
session_config: session_expiration_time: 60 carry_over_slots_to_new_session: true
nlu: - intent: greet examples: | - hey - hello
- intent: goodbye examples: | - bye - goodbye
rules:
- rule: Say goodbye anytime the user says goodbye steps: - intent: goodbye - action: utter_goodbye
stories:
- story: happy path steps: - intent: greet - action: utter_greet - intent: goodbye - action: utter_goodbye
flows: list_contacts: name: list your contacts description: show your contact list steps: - action: list_contacts next: - if: "slots.contacts_list" then: - action: utter_list_contacts next: END - else: - action: utter_no_contacts next: END responses: '200': description: Zipped Rasa model headers: filename: schema: type: string description: File name of the trained model. content: application/octet-stream: schema: $ref: '#/components/schemas/TrainingResult' '204': $ref: '#/components/responses/204Callback' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '500': $ref: '#/components/responses/500ServerError' /model/test/stories: post: security: - TokenAuth: [] - JWT: [] operationId: testModelStories tags: - Model summary: Evaluate stories description: >- Evaluates one or multiple stories against the currently loaded Rasa model. parameters: - $ref: '#/components/parameters/e2e' requestBody: required: true content: text/yml: schema: $ref: '#/components/schemas/StoriesTrainingData' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/EvaluationStoriesResult' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /model/test/intents: post: security: - TokenAuth: [] - JWT: [] operationId: testModelIntent tags: - Model summary: Perform an intent evaluation description: Evaluates NLU model against a model or using cross-validation. parameters: - $ref: '#/components/parameters/model' - $ref: '#/components/parameters/callback_url' - in: query name: cross_validation_folds schema: type: integer default: null description: >- Number of cross validation folds. If this parameter is specified the given training data will be used for a cross-validation instead of using it as test set for the specified model. Note that this is only supported for YAML data. requestBody: required: true content: application/x-yaml: schema: type: string description: >- NLU training data and model configuration. The model configuration is only required if cross-validation is used. example: |- nlu: - intent: greet examples: | - hey - hello - hi - intent: bye examples: | - goodbye - bye - cheers
pipeline: - name: KeywordIntentClassifier application/json: schema: $ref: '#/components/schemas/RasaNLUData' responses: '200': description: NLU evaluation result content: application/json: schema: $ref: '#/components/schemas/NLUEvaluationResult' '204': $ref: '#/components/responses/204Callback' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /model/predict: post: security: - TokenAuth: [] - JWT: [] operationId: predictModelAction tags: - Model summary: Predict an action on a temporary state description: >- Predicts the next action on the tracker state as it is posted to this endpoint. Rasa will create a temporary tracker from the provided events and will use it to predict an action. No messages will be sent and no action will be run. parameters: - $ref: '#/components/parameters/include_events' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventList' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PredictResult' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '409': $ref: '#/components/responses/409Conflict' '500': $ref: '#/components/responses/500ServerError' /model/parse: post: security: - TokenAuth: [] - JWT: [] operationId: parseModelMessage tags: - Model summary: Parse a message using the Rasa model description: >- Predicts the intent and entities of the message posted to this endpoint. No messages will be stored to a conversation and no action will be run. This will just retrieve the NLU parse results. parameters: - $ref: '#/components/parameters/emulation_mode' requestBody: required: true content: application/json: schema: type: object properties: text: type: string description: Message to be parsed example: Hello, I am Rasa! message_id: type: string description: Optional ID for message to be parsed example: b2831e73-1407-4ba0-a861-0f30a42a2a5a responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelParseResult' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '500': $ref: '#/components/responses/500ServerError' /model: put: security: - TokenAuth: [] - JWT: [] operationId: replaceModel tags: - Model summary: Replace the currently loaded model description: >- Updates the currently loaded model. First, tries to load the model from the local (note: local to Rasa server) storage system. Secondly, tries to load the model from the provided model server configuration. Last, tries to load the model from the provided remote storage. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModelRequest' responses: '204': description: Model was successfully replaced. '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '500': $ref: '#/components/responses/500ServerError' delete: security: - TokenAuth: [] - JWT: [] operationId: unloadModel tags: - Model summary: Unload the trained model description: Unloads the currently loaded trained model from the server. responses: '204': description: Model was sucessfully unloaded. '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' /flows: get: security: - TokenAuth: [] - JWT: [] operationId: getFlows tags: - Flows summary: Retrieve the flows of the assistant description: Returns the assistant was trained on. responses: '200': description: Flows were successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/FlowList' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '406': $ref: '#/components/responses/406InvalidHeader' '500': $ref: '#/components/responses/500ServerError' /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' /webhooks/{rest_channel}/webhook: post: security: - TokenAuth: [] - JWT: [] operationId: postMessageRestChannel tags: - Channel Webhooks summary: Post user message from a REST channel description: >- Post a message from the user and forward it to the assistant. Return the message of the assistant to the user. parameters: - $ref: '#/components/parameters/rest_channel' requestBody: description: The user message payload required: true content: application/json: schema: $ref: '#/components/schemas/BasicMessagePayload' responses: '200': description: The message was processed successfully content: application/json: schema: type: array items: anyOf: - $ref: '#/components/schemas/BotTextMessage' - $ref: '#/components/schemas/BotImageMessage' - $ref: '#/components/schemas/BotButtonsMessage' - $ref: '#/components/schemas/BotAttachmentMessage' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '406': $ref: '#/components/responses/406InvalidHeader' '500': $ref: '#/components/responses/500ServerError' /webhooks/{custom_channel}/webhook: post: security: - TokenAuth: [] - JWT: [] operationId: postMessageCustomChannel tags: - Channel Webhooks summary: Post user message from a custom channel description: >- Post a message from the user and forward it to the assistant. Return the message of the assistant to the user. This is from a custom channel. parameters: - $ref: '#/components/parameters/custom_channel' requestBody: description: The user message payload required: true content: application/json: schema: $ref: '#/components/schemas/MessagePayload' responses: '200': description: The message was processed successfully content: application/json: schema: type: object properties: messages: type: array items: $ref: '#/components/schemas/BotMessage' metadata: type: object description: Additional metadata conversation_id: type: string description: The conversation ID tracker_state: $ref: '#/components/schemas/Tracker' '401': $ref: '#/components/responses/401NotAuthenticated' '403': $ref: '#/components/responses/403NotAuthorized' '406': $ref: '#/components/responses/406InvalidHeader' '500': $ref: '#/components/responses/500ServerError' components: 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`,
using the `HS256` algorithm.
The token's payload must contain an object under the `user` key,
which in turn must contain the `username` and `role` attributes.
The following is an example payload for a JWT token:
```json
{ "user": { "username": "", "role": "user" } }
```
If the `role` is `admin`, all endpoints are accessible.
If the `role` is `user`, endpoints with a `sender_id` parameter are only accessible
if the `sender_id` matches the payload's `username` property.
For the user trackers endpoint (`GET /users/{user_id}/trackers`), you should use `user_id` instead of `username` in the payload.
In this case, the path `user_id` parameter is matched against the payload's `username` property. For example:
```json
{ "user": { "username": "", "role": "user" } }
``` parameters: conversation_id: in: path name: conversation_id description: Id of the conversation example: default schema: type: string required: true user_id: in: path name: user_id description: Unique identifier of the user to retrieve conversations for example: user-123 schema: type: string required: true limit: in: query name: limit description: Maximum number of conversations to return (for pagination) example: 50 schema: type: integer required: false offset: in: query name: offset description: Number of conversations to skip (for pagination) example: 5 schema: type: integer required: false batch_size: in: query name: batch_size description: Batch size to use for training. example: 5 schema: type: number default: 5 required: false epochs: in: query name: epochs description: Number of epochs to train. example: 30 schema: type: number default: 30 required: false e2e: in: query name: e2e description: Perform an end-to-end evaluation on the posted stories. example: false schema: type: boolean default: false required: false all_sessions: in: query name: all_sessions description: >- Whether to fetch all sessions in a conversation, or only the latest session
\* `true` - fetch all conversation sessions.
\* `false` - [default] fetch only the latest conversation session. example: false schema: type: boolean default: false required: false model: in: query name: model description: >- Model that should be used for evaluation. If the parameter is set, the model will be fetched with the currently loaded configuration setup. However, the currently loaded model will not be updated. The state of the server will not change. If the parameter is not set, the currently loaded model will be used for the evaluation. example: rasa-model.tar.gz schema: type: string required: false include_events: in: query name: include_events description: >- Specify which events of the tracker the response should contain.
\* `ALL` - every logged event.
\* `APPLIED` - only events that contribute to the trackers state. This excludes reverted utterances and actions that got undone.
\* `AFTER_RESTART` - all events since the last `restarted` event. This includes utterances that got reverted and actions that got undone.
\* `NONE` - no events.
example: AFTER_RESTART
schema:
type: string
default: AFTER_RESTART
enum:
- ALL
- APPLIED
- AFTER_RESTART
- NONE
emulation_mode:
in: query
name: emulation_mode
description: >-
Specify the emulation mode to use. Emulation mode transforms the
response JSON to the format expected by the service specified as the
emulation_mode. Requests must still be sent in the regular Rasa format.
example: LUIS
schema:
type: string
enum:
- WIT
- LUIS
- DIALOGFLOW
until:
in: query
name: until
description: >-
All events previous to the passed timestamp will be replayed. Events
that occur exactly at the target time will be included.
example: 1559744410
schema:
type: number
default: None
required: false
output_channel:
in: query
name: output_channel
description: >-
The bot's utterances will be forwarded to this channel. It uses the
credentials listed in `credentials.yml` to connect. In case the channel
does not support this, the utterances will be returned in the response
body. Use `latest` to try to send the messages to the latest channel the
user used. Currently supported channels are listed in the permitted
values for the parameter.
example: slack
schema:
type: string
enum:
- latest
- slack
- callback
- facebook
- rocketchat
- telegram
- twilio
- webexteams
- socketio
callback_url:
in: query
name: callback_url
description: >-
If specified the call will return immediately with an empty response and
status code 204. The actual result or any errors will be sent to the
given callback URL as the body of a post request.
example: https://example.com/rasa\_evaluations
schema:
type: string
default: None
required: false
rest_channel:
in: path
name: rest_channel
description: >-
The REST channel used for custom integrations. They provide a URL where
you can post messages and either receive response messages directly, or
asynchronously via a webhook.
required: true
schema:
type: string
enum:
- rest
- callback
custom_channel:
in: path
name: custom_channel
description: >-
The custom channel connector used for integration. They provide a URL
where you can post and receive messages.
required: true
schema:
type: string
example: my_custom_channel
responses:
200Tracker:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Tracker'
200Story:
description: Success
content:
text/yml:
example: |-
- story: story_00055028
steps:
- user: |
hello
intent: greet
- action: utter_ask_howcanhelp
- user: |
I'm looking for a [moderately priced]{"entity": "price", "value": "moderate"} [Indian]{"entity": "cuisine"} restaurant for [two]({"entity": "people"}) people
intent: inform
- action: utter_on_it
- action: utter_ask_location
204Callback:
description: >-
The incoming request specified a `callback_url` and hence the request
will return immediately with an empty response. The actual response will
be sent to the provided `callback_url` via POST request.
400BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
version: 1.0.0
status: failure
reason: BadRequest
code: 400
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
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
409Conflict:
description: The request conflicts with the currently loaded model.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
version: 1.0.0
status: failure
reason: Conflict
message: The request conflicts with the currently loaded model.
code: 409
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
schemas:
ModelRequest:
type: object
properties:
model_file:
type: string
description: Path to model file
example: /absolute-path-to-models-directory/models/20190512.tar.gz
model_server:
$ref: '#/components/schemas/EndpointConfig'
remote_storage:
description: Name of remote storage system
type: string
example: aws
enum:
- aws
- gcs
- azure
ActionRequest:
type: object
properties:
name:
description: Name of the action to be executed.
type: string
example: utter_greet
policy:
description: Name of the policy that predicted the action.
type: string
nullable: true
confidence:
description: Confidence of the prediction.
type: number
nullable: true
example: 0.987232
required:
- name
IntentTriggerRequest:
type: object
properties:
name:
description: Name of the intent to be executed.
type: string
example: greet
entities:
description: Entities to be passed on.
type: object
nullable: true
example:
temperature: high
required:
- name
Message:
type: object
properties:
text:
type: string
description: Message text
example: Hello!
sender:
type: string
description: Origin of the message - who sent it
example: user
enum:
- user
parse_data:
$ref: '#/components/schemas/ParseResult'
required:
- text
- sender
Entity:
type: object
description: Entities within a message
properties:
start:
type: integer
description: Char offset of the start
end:
type: integer
description: Char offset of the end
value:
type: string
description: Found value for entity
entity:
type: string
description: Type of the entity
confidence:
type: number
required:
- start
- end
- value
- entity
Intent:
type: object
description: Intent of the text
properties:
confidence:
type: number
description: Confidence of the intent
example: 0.6323
name:
type: string
description: Intent name
example: greet
required:
- confidence
- name
Command:
anyOf:
- $ref: '#/components/schemas/StartFlowCommand'
- $ref: '#/components/schemas/CancelFlowCommand'
- $ref: '#/components/schemas/ClarifyCommand'
- $ref: '#/components/schemas/SetSlotCommand'
- $ref: '#/components/schemas/ChitChatAnswerCommand'
- $ref: '#/components/schemas/KnowledgeAnswerCommand'
- $ref: '#/components/schemas/HumanHandoffCommand'
- $ref: '#/components/schemas/SkipQuestionCommand'
BasicCommand:
type: object
properties:
command:
type: string
description: Command to be executed
example: very basic
StartFlowCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- start flow
example: start flow
flow:
type: string
description: Name of the flow to be started
example: transfer_money
CancelFlowCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- cancel flow
example: cancel flow
ClarifyCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- clarify
example: clarify
options:
type: array
items:
type: string
SetSlotCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- set slot
example: set slot
name:
type: string
description: Name of the slot to be set
example: name
value:
type: any
description: Value of the slot to be set
example: John Doe
ChitChatAnswerCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- chitchat
example: chitchat
KnowledgeAnswerCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- knowledge
example: knowledge
HumanHandoffCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- human handoff
example: human handoff
SkipQuestionCommand:
allOf:
- $ref: '#/components/schemas/BasicCommand'
- type: object
properties:
command:
enum:
- skip question
example: skip question
ParseResult:
type: object
properties:
entities:
type: array
description: Parsed entities
items:
$ref: '#/components/schemas/Entity'
intent:
$ref: '#/components/schemas/Intent'
intent_ranking:
type: array
description: Scores of all intents
items:
$ref: '#/components/schemas/Intent'
text:
type: string
description: Text of the message
example: Hello!
message_id:
type: string
description: ID of the message
example: b2831e73-1407-4ba0-a861-0f30a42a2a5a
metadata:
type: object
properties: {}
commands:
type: array
description: Commands to be executed
items:
$ref: '#/components/schemas/Command'
flows_from_semantic_search:
type: array
items:
type: array
items:
- type: string
example: transfer_money
- type: number
example: 0.9035494923591614
flows_in_prompt:
type: array
items:
type: string
example: transfer_money
description: >-
NLU parser information. If set, message will not be passed through NLU,
but instead this parsing information will be used.
required:
- text
ModelParseResult:
type: object
properties:
entities:
type: array
description: Parsed entities
items:
$ref: '#/components/schemas/Entity'
intent:
$ref: '#/components/schemas/Intent'
text:
type: string
description: Text of the message
example: Hello!
commands:
type: array
description: Commands to be executed
items:
$ref: '#/components/schemas/Command'
description: >-
NLU parser information. If set, message will not be passed through NLU,
but instead this parsing information will be used.
required:
- text
LatestAction:
type: object
properties:
action_name:
type: string
description: latest action name
action_text:
type: string
description: text of last bot utterance
description: Latest bot action.
Event:
anyOf:
- $ref: '#/components/schemas/UserEvent'
- $ref: '#/components/schemas/BotEvent'
- $ref: '#/components/schemas/SessionStartedEvent'
- $ref: '#/components/schemas/ActionEvent'
- $ref: '#/components/schemas/SlotEvent'
- $ref: '#/components/schemas/ResetSlotsEvent'
- $ref: '#/components/schemas/RestartEvent'
- $ref: '#/components/schemas/ReminderEvent'
- $ref: '#/components/schemas/CancelReminderEvent'
- $ref: '#/components/schemas/PauseEvent'
- $ref: '#/components/schemas/ResumeEvent'
- $ref: '#/components/schemas/FollowupEvent'
- $ref: '#/components/schemas/ExportEvent'
- $ref: '#/components/schemas/UndoEvent'
- $ref: '#/components/schemas/RewindEvent'
- $ref: '#/components/schemas/AgentEvent'
- $ref: '#/components/schemas/EntitiesAddedEvent'
- $ref: '#/components/schemas/UserFeaturizationEvent'
- $ref: '#/components/schemas/ActionExecutionRejectedEvent'
- $ref: '#/components/schemas/FormValidationEvent'
- $ref: '#/components/schemas/LoopInterruptedEvent'
- $ref: '#/components/schemas/FormEvent'
- $ref: '#/components/schemas/ActiveLoopEvent'
- $ref: '#/components/schemas/StackEvent'
- $ref: '#/components/schemas/FlowStartedEvent'
- $ref: '#/components/schemas/FlowCompletedEvent'
BasicEvent:
type: object
properties:
event:
type: string
description: Event name
example: slot
timestamp:
type: number
description: Unix timestamp (float) of when the event was applied.
example: 1774447464.622012
metadata:
type: object
description: >-
Arbitrary metadata attached to the event by the channel or model,
e.g. session_id, model_id, assistant_id, model_name.
additionalProperties: true
example:
session_id: eed351b9-a996-4bb8-83ea-1d18e7cd4905
model_id: 80687713793f4d07957e8e51f73df866
assistant_id: my-assistant
required:
- event
UserEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
description: Event for incoming user message.
properties:
event:
enum:
- user
example: user
text:
type: string
nullable: true
description: Text of user message.
input_channel:
type: string
nullable: true
message_id:
type: string
nullable: true
parse_data:
$ref: '#/components/schemas/ParseResult'
anonymized_at:
type: string
nullable: true
description: >-
ISO 8601 timestamp of when PII in this event was anonymized, or
`null` if the event has not been anonymized.
ActionEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- action
example: action
policy:
type: string
nullable: true
confidence:
type: number
nullable: true
name:
type: string
nullable: true
hide_rule_turn:
type: boolean
action_text:
type: string
nullable: true
SlotEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- slot
example: slot
name:
type: string
value: {}
filled_by:
type: string
nullable: true
description: >-
Identifier of the extractor that filled the slot (e.g. `LLM`,
`CommandPayloadReader`), or `null` if not set by an extractor.
example: LLM
anonymized_at:
type: string
nullable: true
description: >-
ISO 8601 timestamp of when PII in this event was anonymized, or
`null` if the event has not been anonymized.
required:
- name
- value
EntitiesAddedEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- entities
example: entities
entities:
type: array
items:
type: object
properties:
start:
type: integer
end:
type: integer
entity:
type: string
confidence:
type: number
extractor:
type: string
nullable: true
value: {}
role:
type: string
nullable: true
group:
type: string
nullable: true
required:
- entity
- value
required:
- entities
UserFeaturizationEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- user_featurization
example: user_featurization
use_text_for_featurization:
type: boolean
description: Whether the user message text was used for featurization.
example: false
CancelReminderEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- cancel_reminder
example: cancel_reminder
ReminderEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- reminder
example: reminder
ActionExecutionRejectedEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- action_execution_rejected
example: action_execution_rejected
FormValidationEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- form_validation
example: form_validation
LoopInterruptedEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- loop_interrupted
example: loop_interrupted
FormEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- form
example: form
ActiveLoopEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- active_loop
example: active_loop
StackEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
description: >-
CALM dialogue stack update event. Contains a JSON Patch document
describing the change applied to the conversation stack.
properties:
event:
enum:
- stack
example: stack
update:
type: string
description: >-
JSON Patch (RFC 6902) string describing the stack mutation, e.g.
add/replace/remove operations on stack frames.
example: >-
[{"op": "add", "path": "/0", "value": {"frame_id": "Z9X2EAS9",
"flow_id": "tax_issue", "step_id": "START", "frame_type":
"regular", "type": "flow"}}]
required:
- update
FlowStartedEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
description: Emitted when a CALM flow begins execution.
properties:
event:
enum:
- flow_started
example: flow_started
flow_id:
type: string
description: ID of the flow that started.
example: tax_issue
required:
- flow_id
FlowCompletedEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
description: Emitted when a CALM flow finishes execution.
properties:
event:
enum:
- flow_completed
example: flow_completed
flow_id:
type: string
description: ID of the flow that completed.
example: tax_issue
step_id:
type: string
description: ID of the last step executed before the flow completed.
example: tax_issue_4_utter_submit_issue
required:
- flow_id
ResetSlotsEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- reset_slots
example: reset_slots
ResumeEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- resume
example: resume
PauseEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- pause
example: pause
FollowupEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- followup
example: followup
ExportEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- export
example: export
RestartEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- restart
example: restart
UndoEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- undo
example: undo
RewindEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- rewind
example: rewind
BotEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
description: Event for an outgoing bot message.
properties:
event:
enum:
- bot
example: bot
text:
type: string
nullable: true
description: Text of the bot response.
data:
type: object
nullable: true
description: Rich response payload (buttons, images, attachments, etc.).
properties:
image:
type: string
nullable: true
buttons:
type: array
nullable: true
items:
type: object
attachment:
type: string
nullable: true
elements:
type: array
nullable: true
items:
type: object
quick_replies:
type: array
nullable: true
items:
type: object
custom:
nullable: true
anonymized_at:
type: string
nullable: true
description: >-
ISO 8601 timestamp of when PII in this event was anonymized, or
`null` if the event has not been anonymized.
SessionStartedEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- session_started
example: session_started
AgentEvent:
allOf:
- $ref: '#/components/schemas/BasicEvent'
- type: object
properties:
event:
enum:
- agent
example: agent
EventList:
type: array
items:
$ref: '#/components/schemas/Event'
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
BotMessage:
type: object
properties:
recipient_id:
type: string
description: Id of the message receiver
text:
type: string
description: Message
image:
type: string
description: Image URL
buttons:
type: array
description: Quick reply buttons
items:
type: object
properties:
title:
type: string
description: Button caption
payload:
type: string
description: Payload to be sent if button is clicked
attachement:
type: array
description: Additional information
items:
type: object
properties:
title:
type: string
description: Attachement caption
payload:
type: string
description: Attachement payload
FlowList:
type: array
items:
$ref: '#/components/schemas/Flow'
Flow:
type: object
properties:
id:
type: string
description: ID of the flow
example: check_balance
name:
type: string
description: Name of the flow
example: check balance
description:
type: string
description: Description of the flow
example: check the user's account balance
steps:
type: array
description: Steps of the flow
items:
type: object
UserTrackersResponse:
type: object
description: Paginated list of conversation trackers for a user.
properties:
conversations:
type: array
description: List of serialized conversation trackers for the user
items:
$ref: '#/components/schemas/SerializedTracker'
limit:
type: integer
description: Maximum number of conversations returned
example: 50
offset:
type: integer
description: Number of conversations skipped for pagination
example: 5
required:
- conversations
- limit
- offset
SerializedTracker:
type: object
description: >-
Serialized conversation tracker as returned by `GET
/users/{user_id}/trackers`. Contains the raw event list read directly
from storage — no computed state fields (slots, latest_message, stack,
etc.) are included.
properties:
sender_id:
type: string
description: Conversation ID (sender_id)
example: e6a3b3158a8444dd998aab17b9e1af3c
user_id:
type: string
nullable: true
description: >-
End-user identifier associated with this conversation. Omitted from
serialized output when `null`.
example: load-test-user-C
conversation_started_timestamp:
type: number
description: Unix timestamp (float) when the conversation was first started.
example: 1774447463.67712
current_session_id:
type: string
nullable: true
description: >-
Session ID derived from the metadata of the last stored event.
`null` when the last event is `ConversationInactive`.
example: eed351b9-a996-4bb8-83ea-1d18e7cd4905
events:
type: array
description: Ordered list of raw event dicts as stored in the tracker store.
items:
$ref: '#/components/schemas/Event'
required:
- sender_id
- events
- conversation_started_timestamp
Tracker:
type: object
description: Conversation tracker which stores the conversation state.
properties:
sender_id:
type: string
description: ID of the conversation
example: default
user_id:
type: string
nullable: true
description: >-
Optional identifier of the end user associated with this
conversation. Omitted from serialized output when `null`.
example: usr_a1b2c3d4e5f6
current_session_id:
type: string
nullable: true
description: >-
Session ID derived from the metadata of the last stored event.
`null` when the last event is `ConversationInactive`, indicating no
active session.
example: 4b3c1e2a-91f0-4d8e-b123-abc123def456
slots:
type: array
description: Slot values
items:
$ref: '#/components/schemas/Slot'
latest_message:
$ref: '#/components/schemas/ParseResult'
latest_event_time:
type: number
description: Most recent event time
example: 1537645578.314389
followup_action:
type: string
description: Deterministic scheduled next action
paused:
type: boolean
description: Bot is paused
example: false
stack:
type: array
nullable: true
items:
type: object
properties: {}
example:
frame_id: 8UJPHH5C
flow_id: transfer_money
step_id: START
frame_type: regular
type: flow
events:
description: Event history
$ref: '#/components/schemas/EventList'
latest_input_channel:
type: string
description: Communication channel
example: rest
latest_action_name:
type: string
description: Name of last bot action
example: action_listen
latest_action:
$ref: '#/components/schemas/LatestAction'
active_loop:
type: object
description: Name of the active loop
properties:
name:
type: string
description: Name of the active loop
example: restaurant_form
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
PredictResult:
type: object
properties:
scores:
type: array
description: Prediction results
items:
type: object
properties:
action:
type: string
description: Action name
example: utter_greet
score:
type: number
description: Assigned score
example: 1
policy:
type: string
description: Policy which predicted the most likely action
example: policy_2_TEDPolicy
confidence:
type: number
description: Confidence of the prediction
example: 0.057
tracker:
$ref: '#/components/schemas/Tracker'
EndpointConfig:
type: object
properties:
url:
type: string
description: URL pointing to model
params:
type: object
description: Parameters of request
headers:
type: object
description: HTTP headers
basic_auth:
description: Basic authentification data
type: object
token:
description: Token
type: string
token_name:
description: Name of token
type: string
wait_time_between_pulls:
type: integer
description: Time to wait between pulls from model server
YAMLTrainingRequest:
type: object
properties:
pipeline:
description: Pipeline list
type: array
policies:
description: Policies list
type: array
entities:
description: Entity list
type: array
slots:
description: Slots list
type: array
actions:
description: Action list
type: array
forms:
description: Forms list
type: array
e2e_actions:
description: E2E Action list
type: array
responses:
description: Bot response templates
type: object
additionalProperties:
$ref: '#/components/schemas/TemplateDescription'
session_config:
description: Session configuration options
type: object
properties:
session_expiration_time:
type: integer
carry_over_slots_to_new_session:
type: boolean
nlu:
description: Rasa NLU data, array of intents
type: array
rules:
description: Rule list
type: array
stories:
description: Rasa Core stories in YAML format
type: array
flows:
description: Rasa Pro flows in YAML format
type: object
force:
type: boolean
description: Force a model training even if the data has not changed
example: false
deprecated: true
save_to_default_model_directory:
type: boolean
description: >-
If `true` (default) the trained model will be saved in the default
model directory, if `false` it will be saved in a temporary
directory
deprecated: true
RetrievalIntentsTrainingData:
type: string
description: Rasa response texts for retrieval intents in YAML format
example: >-
chitchat/ask_name: - text: my name is Sara, Rasa's documentation bot!
chitchat/ask_weather: - text: it's always sunny where I live
StoriesTrainingData:
type: string
description: Rasa Core stories in YAML format
example: |-
- story: happy path
steps:
- intent: greet
- action: utter_greet
- intent: mood_great
- action: utter_happy
- story: sad path 1 steps: - intent: greet - action: utter_greet - intent: mood_unhappy - action: utter_cheer_up - action: utter_did_that_help - intent: affirm - action: utter_happy
- story: sad path 2 steps: - intent: greet - action: utter_greet - intent: mood_unhappy - action: utter_cheer_up - action: utter_did_that_help - intent: deny - action: utter_goodbye
- story: say goodbye steps: - intent: goodbye - action: utter_goodbye TrainingResult: type: string format: binary NLUEvaluationResult: type: object properties: intent_evaluation: description: Rasa NLU intent evaluation $ref: '#/components/schemas/EvaluationItem' response_selection_evaluation: description: Evaluation for the retrieval intents $ref: '#/components/schemas/EvaluationItem' entity_evaluation: description: Rasa NLU entity evaluation. type: object additionalProperties: type: object description: Evaluation for a specific extractor $ref: '#/components/schemas/EvaluationItem' EvaluationItem: type: object description: Evaluation Result properties: report: $ref: '#/components/schemas/EvaluationReport' accuracy: type: number example: 0.19047619047619047 f1_score: type: number example: 0.06095238095238095 precision: type: number example: 0.036281179138321996 predictions: type: array description: The predictions for each item in the test set items: type: object properties: intent: type: string example: greet predicted: type: string example: greet text: type: string example: hey confidence: type: number example: 0.9973567 errors: description: The errors which were made during the testing. type: array items: oneOf: - $ref: '#/components/schemas/IntentTestError' - $ref: '#/components/schemas/EntityTestError' - $ref: '#/components/schemas/ResponseSelectorTestError' IntentTestError: description: Intent prediction errors which was made during testing type: object properties: text: type: string description: Test message example: are you alright? intent_response_key_target: description: Expected intent type: string intent_response_key_prediction: description: Predicted intent $ref: '#/components/schemas/Intent' EntityTestError: description: Entity prediction errors which was made during testing type: object properties: text: type: string description: Test message example: what is the weather in zurich? entities: description: Expected entities type: array items: $ref: '#/components/schemas/Entity' predicted_entities: description: Predicted entities type: array items: $ref: '#/components/schemas/Entity' ResponseSelectorTestError: description: Error during response prediction which was made during testing type: object properties: text: type: string description: Test message example: are you alright? intent_response_key_target: description: Expected retrieval intent type: string intent_response_key_prediction: description: Predicted retrieval intent $ref: '#/components/schemas/Intent' EvaluationReport: type: object description: >- Sklearn classification report, see http://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification\_report.html example: greet: precision: 0.123 recall: 0.456 f1-score: 0.12 support: 100 confused_with: chitchat: 3 nlu_fallback: 5 micro avg: precision: 0.123 recall: 0.456 f1-score: 0.12 support: 100 macro avg: precision: 0.123 recall: 0.456 f1-score: 0.12 support: 100 weightedq avg: precision: 0.123 recall: 0.456 f1-score: 0.12 support: 100 EvaluationStoriesResult: type: object properties: actions: type: array items: type: object properties: action: type: string description: Name of the actual action example: utter_ask_howcanhelp predicted: type: string description: Name of the predicted action example: utter_ask_howcanhelp policy: type: string description: Machine-learning policy used in the prediction example: policy_0_MemoizationPolicy confidence: type: string description: Confidence score of the prediction example: 1 description: >- Accuracy of the classification, http://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy\_score.html is_end_to_end_evaluation: type: boolean description: True if evaluation is end-to-end, false otherwise example: true precision: type: number description: >- Precision of the classification, see http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision\_score.html example: 1 f1: type: number description: >- F1 score of the classification, http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision\_score.html example: 0.9333333333333333 accuracy: type: number description: >- Accuracy of the classification, http://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy\_score.html example: 0.9 in_training_data_fraction: type: number description: >- Fraction of stories that are present in the training data of the model loaded at evaluation time. example: 0.8571428571428571 report: type: object description: >- Sklearn classification reported extended with information about conversation accuracy. additionalProperties: type: object properties: intent_name: type: string classification_report: $ref: '#/components/schemas/EvaluationReport' properties: conversation_accuracy: $ref: '#/components/schemas/ConversationAccuracyReport' ConversationAccuracyReport: type: object properties: accuracy: type: number example: 0.19047619047619047 correct: type: number example: 18 with_warnings: type: number example: 1 total: type: number example: 20 Slot: type: object additionalProperties: $ref: '#/components/schemas/SlotValue' example: slot_name: slot_value SlotValue: oneOf: - type: string - type: array items: type: string SlotDescription: type: object properties: auto_fill: type: boolean initial_value: type: string nullable: true 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 IntentDescription: type: object additionalProperties: type: object properties: use_entities: type: boolean RasaNLUData: type: object properties: common_examples: type: object items: type: array items: $ref: '#/components/schemas/CommonExample' example: rasa_nlu_data: common_examples: - text: hey intent: greet entities: [] - text: dear sir intent: greet entities: [] - text: i'm looking for a place to eat intent: restaurant_search entities: [] - text: i'm looking for a place in the north of town intent: restaurant_search entities: - start: 31 end: 36 value: north entity: location - text: show me a mexican place in the centre intent: restaurant_search entities: - start: 31 end: 37 value: centre entity: location - start: 10 end: 17 value: mexican entity: cuisine CommonExample: type: object properties: entities: description: Expected entities type: array items: $ref: '#/components/schemas/Entity' intent: type: string description: Intent name text: type: string description: Text of the message example: Hello! BasicMessagePayload: type: object properties: sender: type: string description: The sender ID example: default message: type: string description: The message text example: Hello! MessagePayload: type: object properties: sender: type: string description: The sender ID message: type: string description: The message text stream: type: boolean description: Whether to use streaming response input_channel: type: string description: Input channel name metadata: type: object description: Additional metadata BotTextMessage: type: object properties: recipient_id: type: string description: Id of the message receiver example: default text: type: string description: Message example: Hello! BotImageMessage: type: object properties: recipient_id: type: string description: Id of the message receiver example: default image: type: string description: Image URL example: https://example.com/image.jpg BotButtonsMessage: type: object properties: recipient_id: type: string description: Id of the message receiver example: default buttons: type: array description: Quick reply buttons items: type: object properties: title: type: string description: Button caption payload: type: string description: Payload to be sent if button is clicked example: - title: 'Yes' payload: 'yes' - title: 'No' payload: 'no' BotAttachmentMessage: type: object properties: recipient_id: type: string description: Id of the message receiver example: default attachement: type: array description: Additional information items: type: object properties: title: type: string description: Attachment caption example: Attachment Title payload: type: string description: Attachment payload example: Attachment Payload FlowCapability: type: object description: Capability metadata for a single flow. properties: id: type: string description: Unique identifier of the flow. example: transfer_money name: type: string description: >- Human-readable name of the flow. Uses the flow's custom name if defined, otherwise falls back to the flow id. example: Transfer Money description: type: string description: Description of what the flow does. example: Transfer money to another account. nullable: true guard_condition: type: string description: >- The guard condition expression that must be satisfied for the flow to be startable, if any. example: has_verified_account nullable: true startable: type: boolean description: >- Whether the flow can currently be started given the active conversation state and guard evaluation results. example: true always_include_in_prompt: type: boolean description: >- Whether the flow should always be included in the LLM prompt, regardless of its startability. example: false trigger_intents: type: array description: Sorted list of NLU intents that can trigger this flow. items: type: string example: - transfer_money required: - id - name - startable - always_include_in_prompt - trigger_intents ConversationCapabilities: type: object description: >- Structured, conversation-aware capabilities metadata returned by `GET /conversations/{conversation_id}/capabilities`. properties: flows: type: array description: >- List of all flows with their capability metadata, including whether each flow is currently startable for this conversation. items: $ref: '#/components/schemas/FlowCapability' required: - flows