openapi: "3.0.2" info: title: "Rasa Core SDK - Action Server Endpoint" version: "0.0.0" description: >- API of the action server which is used by Rasa Core to execute custom actions. servers: - url: "http://localhost:5055/webhook" description: "Local development action server" paths: /: post: summary: Core request to execute a custom action description: >- Rasa Core sends a request to the action server to execute a certain custom action. As a response to the action call from Core, you can modify the tracker, e.g. by setting slots and send responses back to the user. operationId: call_action requestBody: description: >- Describes the action to be called and provides information on the current state of the conversation. required: true content: application/json: schema: type: object properties: next_action: description: The name of the action which should be executed. type: string sender_id: description: >- Unique id of the user who is having the current conversation. type: string tracker: $ref: "./server.yml#/components/schemas/Tracker" domain: $ref: "./server.yml#/components/schemas/Domain" responses: 200: description: Action was executed succesfully. content: application/json: schema: type: object properties: events: description: Events returned by the action. type: array items: $ref: "./server.yml#/components/schemas/Event" responses: description: >- List of responses which should be sent to the user type: array items: $ref: "#/components/schemas/Response" 400: description: >- Action execution was rejected. This is the same as returning an `ActionExecutionRejected` event. content: application/json: schema: type: object properties: action_name: type: string description: >- Name of the action which rejected its execution. error: type: string description: The error message. 500: description: >- The action server encountered an exception while running the action. components: schemas: Response: oneOf: - $ref: '#/components/schemas/TextResponse' - $ref: '#/components/schemas/TemplateResponse' - $ref: '#/components/schemas/ButtonResponse' TextResponse: description: Text which the bot should utter. type: object properties: text: description: The text which should be uttered. type: string required: ["text"] TemplateResponse: description: Response template the bot should utter. type: object properties: template: description: Name of the template type: string additionalProperties: description: Keyword argument to fill the template type: string required: ["template"] ButtonResponse: description: Text with buttons which should be sent to the user. type: object properties: text: type: string description: Message buttons: type: array items: $ref: '#/components/schemas/Button' Button: description: >- A button which can be clicked by the user in the conversation. type: object properties: title: type: string description: The text on the button payload: type: string description: Payload which is sent if the button is pressed.