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