Rasa Pro REST API
Rasa - Server Endpoints (1.0.0)
Download OpenAPI specification:Download
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.
Information about your Rasa Pro License
Returns the license information about your Rasa Pro License
Responses
Response samples
- 200
{- "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"
}
Status of the Rasa server
Information about the server and the currently loaded Rasa model.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 409
{- "model_id": "75a985b7b86d442ca013d61ea4781b22",
- "model_file": "20190429-103105.tar.gz",
- "num_active_training_jobs": 2
}
Retrieve a conversations tracker
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
until | number Default: "None" Example: until=1559744410 All events previous to the passed timestamp will be replayed. Events that occur exactly at the target time will be included. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
Append events to a tracker
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
output_channel | string Enum: "latest" "slack" "callback" "facebook" "rocketchat" "telegram" "twilio" "webexteams" "socketio" Example: output_channel=slack The bot's utterances will be forwarded to this channel. It uses the credentials listed in |
execute_side_effects | boolean Default: false If |
Request Body schema: application/jsonrequired
event required | string Value: "user" Event name |
timestamp | integer Time of application |
metadata | object |
text | string or null Text of user message. |
input_channel | string or null |
message_id | string or null |
object (ParseResult) NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used. |
Responses
Request samples
- Payload
{- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
Replace a trackers events
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
Request Body schema: application/jsonrequired
event required | string Value: "user" Event name |
timestamp | integer Time of application |
metadata | object |
text | string or null Text of user message. |
input_channel | string or null |
message_id | string or null |
object (ParseResult) NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used. |
Responses
Request samples
- Payload
[- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
]
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
Retrieve an end-to-end story corresponding to a conversation
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
until | number Default: "None" Example: until=1559744410 All events previous to the passed timestamp will be replayed. Events that occur exactly at the target time will be included. |
all_sessions | boolean Default: false Whether to fetch all sessions in a conversation, or only the latest session
|
Responses
Response samples
- 200
- 401
- 403
- 409
- 500
- 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
Run an action in a conversation Deprecated
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
output_channel | string Enum: "latest" "slack" "callback" "facebook" "rocketchat" "telegram" "twilio" "webexteams" "socketio" Example: output_channel=slack The bot's utterances will be forwarded to this channel. It uses the credentials listed in |
Request Body schema: application/jsonrequired
name required | string Name of the action to be executed. |
policy | string or null Name of the policy that predicted the action. |
confidence | number or null Confidence of the prediction. |
Responses
Request samples
- Payload
{- "name": "utter_greet",
- "policy": "string",
- "confidence": 0.987232
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "tracker": {
- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}, - "messages": [
- {
- "recipient_id": "string",
- "text": "string",
- "image": "string",
- "buttons": [
- {
- "title": "string",
- "payload": "string"
}
], - "attachement": [
- {
- "title": "string",
- "payload": "string"
}
]
}
]
}
Inject an intent into a conversation
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
output_channel | string Enum: "latest" "slack" "callback" "facebook" "rocketchat" "telegram" "twilio" "webexteams" "socketio" Example: output_channel=slack The bot's utterances will be forwarded to this channel. It uses the credentials listed in |
Request Body schema: application/jsonrequired
name required | string Name of the intent to be executed. |
entities | object or null Entities to be passed on. |
Responses
Request samples
- Payload
{- "name": "greet",
- "entities": {
- "temperature": "high"
}
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "tracker": {
- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}, - "messages": [
- {
- "recipient_id": "string",
- "text": "string",
- "image": "string",
- "buttons": [
- {
- "title": "string",
- "payload": "string"
}
], - "attachement": [
- {
- "title": "string",
- "payload": "string"
}
]
}
]
}
Predict the next action
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
Responses
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "scores": [
- {
- "action": "utter_greet",
- "score": 1
}
], - "policy": "policy_2_TEDPolicy",
- "confidence": 0.057,
- "tracker": {
- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
}
Add a message to a tracker
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.
Authorizations:
path Parameters
conversation_id required | string Example: default Id of the conversation |
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
Request Body schema: application/jsonrequired
text required | string Message text |
sender required | string Value: "user" Origin of the message - who sent it |
object (ParseResult) NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used. |
Responses
Request samples
- Payload
{- "text": "Hello!",
- "sender": "user",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
Train a Rasa model
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.
Authorizations:
query Parameters
save_to_default_model_directory | boolean Default: true If |
force_training | boolean Default: false Force a model training even if the data has not changed |
augmentation | string Default: 50 How much data augmentation to use during training |
num_threads | string Default: 1 Maximum amount of threads to use when training |
callback_url | string Default: "None" Example: callback_url=https://example.com/rasa_evaluations 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. |
Request Body schema: application/yamlrequired
The training data should be in YAML format.
pipeline | Array of arrays Pipeline list |
policies | Array of arrays Policies list |
entities | Array of arrays Entity list |
slots | Array of arrays Slots list |
actions | Array of arrays Action list |
forms | Array of arrays Forms list |
e2e_actions | Array of arrays E2E Action list |
object Bot response templates | |
object Session configuration options | |
nlu | Array of arrays Rasa NLU data, array of intents |
rules | Array of arrays Rule list |
stories | Array of arrays Rasa Core stories in YAML format |
flows | object Rasa Pro flows in YAML format |
force | boolean Deprecated Force a model training even if the data has not changed |
save_to_default_model_directory | boolean Deprecated If |
Responses
Request samples
- Payload
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
Response samples
- 400
- 401
- 403
- 500
{- "version": "1.0.0",
- "status": "failure",
- "reason": "BadRequest",
- "code": 400
}
Evaluate stories
Evaluates one or multiple stories against the currently loaded Rasa model.
Authorizations:
query Parameters
e2e | boolean Default: false Perform an end-to-end evaluation on the posted stories. |
Request Body schema: text/ymlrequired
Rasa Core stories in YAML format
Responses
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "actions": [
- {
- "action": "utter_ask_howcanhelp",
- "predicted": "utter_ask_howcanhelp",
- "policy": "policy_0_MemoizationPolicy",
- "confidence": 1
}
], - "is_end_to_end_evaluation": true,
- "precision": 1,
- "f1": 0.9333333333333333,
- "accuracy": 0.9,
- "in_training_data_fraction": 0.8571428571428571,
- "report": {
- "conversation_accuracy": {
- "accuracy": 0.19047619047619047,
- "correct": 18,
- "with_warnings": 1,
- "total": 20
}, - "property1": {
- "intent_name": "string",
- "classification_report": {
- "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
}
}
}, - "property2": {
- "intent_name": "string",
- "classification_report": {
- "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
}
}
}
}
}
Perform an intent evaluation
Evaluates NLU model against a model or using cross-validation.
Authorizations:
query Parameters
model | string Example: model=rasa-model.tar.gz 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. |
callback_url | string Default: "None" Example: callback_url=https://example.com/rasa_evaluations 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. |
cross_validation_folds | integer Default: null 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. |
Request Body schema: required
NLU training data and model configuration. The model configuration is only required if cross-validation is used.
Responses
Request samples
- Payload
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "intent_evaluation": {
- "report": {
- "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
}
}, - "accuracy": 0.19047619047619047,
- "f1_score": 0.06095238095238095,
- "precision": 0.036281179138321996,
- "predictions": [
- {
- "intent": "greet",
- "predicted": "greet",
- "text": "hey",
- "confidence": 0.9973567
}
], - "errors": [
- {
- "text": "are you alright?",
- "intent_response_key_target": "string",
- "intent_response_key_prediction": {
- "confidence": 0.6323,
- "name": "greet"
}
}
]
}, - "response_selection_evaluation": {
- "report": {
- "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
}
}, - "accuracy": 0.19047619047619047,
- "f1_score": 0.06095238095238095,
- "precision": 0.036281179138321996,
- "predictions": [
- {
- "intent": "greet",
- "predicted": "greet",
- "text": "hey",
- "confidence": 0.9973567
}
], - "errors": [
- {
- "text": "are you alright?",
- "intent_response_key_target": "string",
- "intent_response_key_prediction": {
- "confidence": 0.6323,
- "name": "greet"
}
}
]
}, - "entity_evaluation": {
- "property1": {
- "report": {
- "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
}
}, - "accuracy": 0.19047619047619047,
- "f1_score": 0.06095238095238095,
- "precision": 0.036281179138321996,
- "predictions": [
- {
- "intent": "greet",
- "predicted": "greet",
- "text": "hey",
- "confidence": 0.9973567
}
], - "errors": [
- {
- "text": "are you alright?",
- "intent_response_key_target": "string",
- "intent_response_key_prediction": {
- "confidence": 0.6323,
- "name": "greet"
}
}
]
}, - "property2": {
- "report": {
- "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
}
}, - "accuracy": 0.19047619047619047,
- "f1_score": 0.06095238095238095,
- "precision": 0.036281179138321996,
- "predictions": [
- {
- "intent": "greet",
- "predicted": "greet",
- "text": "hey",
- "confidence": 0.9973567
}
], - "errors": [
- {
- "text": "are you alright?",
- "intent_response_key_target": "string",
- "intent_response_key_prediction": {
- "confidence": 0.6323,
- "name": "greet"
}
}
]
}
}
}
Predict an action on a temporary state
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.
Authorizations:
query Parameters
include_events | string Default: "AFTER_RESTART" Enum: "ALL" "APPLIED" "AFTER_RESTART" "NONE" Example: include_events=AFTER_RESTART Specify which events of the tracker the response should contain.
|
Request Body schema: application/jsonrequired
event required | string Value: "user" Event name |
timestamp | integer Time of application |
metadata | object |
text | string or null Text of user message. |
input_channel | string or null |
message_id | string or null |
object (ParseResult) NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used. |
Responses
Request samples
- Payload
[- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
]
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
{- "scores": [
- {
- "action": "utter_greet",
- "score": 1
}
], - "policy": "policy_2_TEDPolicy",
- "confidence": 0.057,
- "tracker": {
- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
}
Parse a message using the Rasa model
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.
Authorizations:
query Parameters
emulation_mode | string Enum: "WIT" "LUIS" "DIALOGFLOW" Example: emulation_mode=LUIS 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. |
Request Body schema: application/jsonrequired
text | string Message to be parsed |
message_id | string Optional ID for message to be parsed |
Responses
Request samples
- Payload
{- "text": "Hello, I am Rasa!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a"
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "text": "Hello!",
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
]
}
Replace the currently loaded model
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.
Authorizations:
Request Body schema: application/jsonrequired
model_file | string Path to model file |
object (EndpointConfig) | |
remote_storage | string Enum: "aws" "gcs" "azure" Name of remote storage system |
Responses
Request samples
- Payload
{- "model_file": "/absolute-path-to-models-directory/models/20190512.tar.gz",
- "model_server": {
- "url": "string",
- "params": { },
- "headers": { },
- "basic_auth": { },
- "token": "string",
- "token_name": "string",
- "wait_time_between_pulls": 0
}, - "remote_storage": "aws"
}
Response samples
- 400
- 401
- 403
- 500
{- "version": "1.0.0",
- "status": "failure",
- "reason": "BadRequest",
- "code": 400
}
Unload the trained model
Unloads the currently loaded trained model from the server.
Authorizations:
Responses
Response samples
- 401
- 403
{- "version": "1.0.0",
- "status": "failure",
- "reason": "NotAuthenticated",
- "message": "User is not authenticated to access resource.",
- "code": 401
}
Retrieve the loaded domain
Returns the domain specification the currently loaded model is using.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 406
- 500
{- "config": {
- "store_entities_as_slots": false
}, - "intents": [
- {
- "property1": {
- "use_entities": true
}, - "property2": {
- "use_entities": true
}
}
], - "entities": [
- "person",
- "location"
], - "slots": {
- "property1": {
- "auto_fill": true,
- "initial_value": "string",
- "type": "string",
- "values": [
- "string"
]
}, - "property2": {
- "auto_fill": true,
- "initial_value": "string",
- "type": "string",
- "values": [
- "string"
]
}
}, - "responses": {
- "property1": {
- "text": "string"
}, - "property2": {
- "text": "string"
}
}, - "actions": [
- "action_greet",
- "action_goodbye",
- "action_listen"
]
}
Post user message from a REST channel
Post a message from the user and forward it to the assistant. Return the message of the assistant to the user.
Authorizations:
path Parameters
rest_channel required | string Enum: "rest" "callback" 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. |
Request Body schema: application/jsonrequired
The user message payload
sender | string The sender ID |
message | string The message text |
Responses
Request samples
- Payload
{- "sender": "default",
- "message": "Hello!"
}
Response samples
- 200
- 401
- 403
- 406
- 500
[- {
- "recipient_id": "default",
- "text": "Hello!"
}
]
Post user message from a custom channel
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.
Authorizations:
path Parameters
custom_channel required | string Example: my_custom_channel The custom channel connector used for integration. They provide a URL where you can post and receive messages. |
Request Body schema: application/jsonrequired
The user message payload
sender | string The sender ID |
message | string The message text |
stream | boolean Whether to use streaming response |
input_channel | string Input channel name |
metadata | object Additional metadata |
Responses
Request samples
- Payload
{- "sender": "string",
- "message": "string",
- "stream": true,
- "input_channel": "string",
- "metadata": { }
}
Response samples
- 200
- 401
- 403
- 406
- 500
{- "messages": [
- {
- "recipient_id": "string",
- "text": "string",
- "image": "string",
- "buttons": [
- {
- "title": "string",
- "payload": "string"
}
], - "attachement": [
- {
- "title": "string",
- "payload": "string"
}
]
}
], - "metadata": { },
- "conversation_id": "string",
- "tracker_state": {
- "sender_id": "default",
- "slots": [
- {
- "slot_name": "slot_value"
}
], - "latest_message": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}, - "latest_event_time": 1537645578.314389,
- "followup_action": "string",
- "paused": false,
- "stack": [
- {
- "frame_id": "8UJPHH5C",
- "flow_id": "transfer_money",
- "step_id": "START",
- "frame_type": "regular",
- "type": "flow"
}
], - "events": [
- {
- "event": "user",
- "timestamp": null,
- "metadata": {
- "arbitrary_metadata_key": "some string",
- "more_metadata": 1
}, - "text": "string",
- "input_channel": "string",
- "message_id": "string",
- "parse_data": {
- "entities": [
- {
- "start": 0,
- "end": 0,
- "value": "string",
- "entity": "string",
- "confidence": 0
}
], - "intent": {
- "confidence": 0.6323,
- "name": "greet"
}, - "intent_ranking": [
- {
- "confidence": 0.6323,
- "name": "greet"
}
], - "text": "Hello!",
- "message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
- "metadata": { },
- "commands": [
- {
- "command": "start flow",
- "flow": "transfer_money"
}
], - "flows_from_semantic_search": [
- [
- "transfer_money",
- 0.9035494923591614
]
], - "flows_in_prompt": [
- "transfer_money"
]
}
}
], - "latest_input_channel": "rest",
- "latest_action_name": "action_listen",
- "latest_action": {
- "action_name": "string",
- "action_text": "string"
}, - "active_loop": {
- "name": "restaurant_form"
}
}
}