{"info":{"version":"4.4.4","description":"This is the documentation for the DialoX REST API.","title":"DialoX REST API"},"tags":[],"components":{"schemas":{"User":{"type":"object","description":"A user of the bot","title":"User","properties":{"extra":{"type":"object","description":"Extra user data, related to the frontend","nullable":true},"id":{"type":"string","format":"uuid"},"tags":{"type":"array","description":"The list of tags for this user.","items":{"type":"string","example":"online"}},"user_data":{"type":"object","description":"All custom fields from the user.\n\nThese are exposed as `user.*` in Bubblescript.\n","additionalProperties":true},"locale":{"type":"string","description":"User's locale, e.g. en_US","example":"nl"},"timezone":{"type":"string","description":"User's timezone","example":"Europe/Amsterdam"},"inserted_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Update timestamp"},"user_id":{"type":"string","description":"User ID","nullable":true},"first_name":{"type":"string","description":"First name","nullable":true},"last_name":{"type":"string","description":"Last name","nullable":true},"frontend":{"type":"string","description":"The frontend (channel) through which this user is connected, e.g. facebook, whatsapp, etc."},"external_id":{"type":"string","description":"External identifier (e.g. for CRM integration)","nullable":true},"bot_id":{"type":"string","format":"uuid"},"profile_picture":{"type":"string","format":"url","description":"Profile picture URL","nullable":true}},"example":{"bot_id":"a17d9b11-4154-46a2-aa8c-f1a570650294","external_id":"a1032572-dfac-403b-bd1b-6291063f20ee","extra":{},"first_name":"John","id":"404f3e96-079a-4710-a828-ddc197b9595a","inserted_at":"2025-01-01T00:00:00Z","last_name":"Doe","locale":"nl","tags":["order:completed"],"timezone":"Europe/Amsterdam","updated_at":"2025-01-01T00:00:00Z","user_data":{"phone":"0612345678"},"user_id":"5t2meco6lxtatvd15s2ebp"}},"SMS":{"type":"object","title":"SMS","properties":{"id":{"type":"string","format":"uuid","nullable":false},"status":{"enum":["sent","delivered","failed"],"nullable":false},"reference":{"type":"string","nullable":true},"sender":{"type":"string","nullable":false},"error_reason":{"type":"string","nullable":true},"inserted_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"recipient":{"type":"string","nullable":false}},"additionalProperties":false},"Webhook":{"type":"object","title":"Webhook","required":["url"],"properties":{"enabled":{"type":"boolean","description":"Whether the webhook is enabled or not","nullable":true},"id":{"type":"string"},"token":{"type":"string","description":"Optional bearer token that will be sent along the request in the Authorization header. The 'Bearer ' prefix of the header value is added automatically. ","nullable":true},"url":{"type":"string","format":"uri","description":"The URL where the webhook will be posted to"},"event":{"type":"string","description":"Optional filter to limit the event set to this webhook to the given event type. Must be one of , action, user_action, operator_action, action_status, note, note_comment, user_changes, conversation_tags, calendar_event, conversation_close, conversation_delete, conversation_status_change, sms_delivery_report, task, or `task. + taskname`, or `task.raw. + taskname` to get a webhook with the 'raw' output without conversation metadata.","nullable":true},"failure_count":{"type":"integer","description":"The number of times the webhook has failed to deliver a message","nullable":true},"last_failure_at":{"type":"string","format":"date-time","description":"The timestamp of the last failure","nullable":true},"last_failure_response":{"type":"string","description":"The last response from the webhook when it failed","nullable":true}},"additionalProperties":false},"RPC request":{"type":"object","title":"RPC request","required":["task","parameter"],"properties":{"parameter":{},"task":{"type":"string","nullable":false}},"additionalProperties":false},"Create conversation":{"type":"object","title":"Create conversation","properties":{"group":{"type":"string","description":"An identifier that is used in the advanced API as the conversation ID. This ID may change after the conversation is closed."},"user_id":{"type":"string","format":"uuid","description":"An optional bot user ID. Defaults to creating a new anonymous user."},"bot_id":{"type":"string","format":"uuid","description":"The bot to create the conversation on. Will default to the bot from the API token. This field is required when an environment-level token is used."}}},"Create note comment request":{"type":"object","title":"Create note comment request","required":["comment"],"properties":{"comment":{"type":"string"}},"additionalProperties":false},"RPC result":{"type":"object","title":"RPC result","properties":{"result":{"nullable":true},"success":{"type":"boolean","nullable":false},"error_message":{"type":"string","nullable":true}},"additionalProperties":false},"Chat Action":{"type":"object","description":"The request to send to the conversation","title":"Chat Action","properties":{"id":{"type":"string","description":"As response: Automatically generated action ID. Ignored in requests."},"type":{"type":"string","description":"The type of chat action. See https://developer.dialox.ai/dev/message_spec/\n","required":true},"time":{"type":"string","description":"As response: Automatically filled with the time the action was sent. Ignored in requests."},"payload":{"type":"object","description":"The payload for the given action type.\n\nSee the <a href=\"/dev/message_spec/\">chat message specification</a>.\n"}}},"Create event in conversation":{"type":"object","title":"Create event in conversation","required":["event_name","payload"],"properties":{"event_name":{"type":"string"},"payload":{"type":"object","description":"The event payload.\n\nGiven the following Bubblescript code:\n\n```\ndialog event: \"message\" do\n  _payload = event.payload\nend\n```\n\nThe `_payload` variable will contain this object.\n","additionalProperties":true}}},"Error":{"type":"object","title":"Error","properties":{"message":{"type":"string","description":"Error message"}}},"Store listing":{"type":"object","description":"A complete overview of the entire store for a given organisation.\n\nThe root object contains customizations for the store view, followed\nby apps for each store tier.\n","title":"Store listing","required":["store_tiers"],"properties":{"theme_color":{"type":"string"},"store_tiers":{"type":"array","items":{"type":"object","required":["name","apps"],"properties":{"name":{"type":"string"},"apps":{"type":"array","items":{"$ref":"#/components/schemas/App"}},"tier":{"type":"string"}}}},"brand_image":{"type":"string","format":"uri"}}},"User create request object":{"type":"object","title":"User create request object","required":["bot_id"],"properties":{"tags":{"type":"array","description":"The list of tags for this user.","items":{"type":"string","example":"online"}},"user_data":{"type":"object","description":"All custom fields from the user.\n\nThese are exposed as `user.*` in Bubblescript.\n","additionalProperties":true},"email":{"type":"string","format":"email","example":"person@example.com"},"locale":{"type":"string","description":"User's locale, e.g. en_US","example":"nl"},"timezone":{"type":"string","description":"User's timezone","example":"Europe/Amsterdam"},"phone":{"type":"string"},"first_name":{"type":"string","description":"First name","nullable":true},"last_name":{"type":"string","description":"Last name","nullable":true},"external_id":{"type":"string","description":"External identifier (e.g. for CRM integration)","nullable":true},"bot_id":{"type":"string","format":"uuid"},"profile_picture":{"type":"string","format":"url","description":"Profile picture URL","nullable":true}},"additionalProperties":false},"JsonErrorResponse":{"type":"object","title":"JsonErrorResponse","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["title","source","detail"],"properties":{"title":{"type":"string","example":"Invalid value"},"source":{"type":"object","required":["pointer"],"properties":{"pointer":{"type":"string","example":"/data/attributes/petName"}}},"detail":{"type":"string","example":"null value where string expected"}}}}},"x-struct":"Elixir.OpenApiSpex.JsonErrorResponse"},"SearchInfo":{"type":"object","title":"SearchInfo","properties":{"filters":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"name":{"type":"string"},"schema":{"type":"object","additionalProperties":true}}}},"search_filters":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"name":{"type":"string"},"schema":{"type":"object","additionalProperties":true}}}},"allowed_sort":{"type":"array","items":{"type":"string","nullable":false}},"default_sort":{"type":"string","nullable":true}},"additionalProperties":false},"Tags taxonomy":{"type":"object","title":"Tags taxonomy","properties":{"tag_groups":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"type":{"type":"string","enum":["single","multiple","bare"]},"tags":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"tag":{"type":"string"},"full_tag":{"type":"string","description":"The fully formatted tag as would be set on a conversation or user.\n"}}}},"key":{"type":"string"}}}},"tag_to_labels":{"type":"object","description":"A mapping from a full tag to the deconstructed group and tag labels.","additionalProperties":{"type":"object","properties":{"tag":{"type":"string"},"group":{"type":"string"}}}}}},"Conversation":{"type":"object","title":"Conversation","properties":{"id":{"type":"string","format":"uuid","nullable":false},"status":{"type":"string","enum":["active","closed","passive","studio_archived"],"description":"The status of the conversation"},"group":{"type":"string","description":"An identifier that is used in the advanced API as the conversation ID. This ID may change after the conversation is closed."},"tags":{"type":"array","items":{"type":"string"},"nullable":false},"direction":{"type":"string","enum":["inbound","outbound",null],"description":"Either 'inbound', 'outbound', or nil","nullable":true},"channel":{"type":"object","properties":{"type":{"type":"string","enum":["ec","web_widget","web_pwa","whatsapp","phone","email","sms","instagram","facebook","teams","slack","telegram","web_api","studio"],"description":"The name of the channel through which the conversation is held.","example":"whatsapp"},"user_key":{"type":"string","description":"The channel-specific user identifier.\n\nFor example, on phone or whatsapp this would be the phone\nnumber, whereas on email it'd be the email address.\n"}},"additionalProperties":false},"locale":{"type":"string"},"inserted_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Update timestamp"},"user_id":{"type":"string","format":"uuid","nullable":false},"bot_id":{"type":"string","format":"uuid","nullable":false},"operator_id":{"type":"string","format":"uuid","description":"The ID of the operator if one is assigned to this conversation.","nullable":true},"last_user_message":{"type":"string","description":"The last message that was sent in this conversation. This message is either from the bot or from the user. Certain messages from the bot might be ignored and will not end up in this field.","nullable":true},"conversation_data":{"type":"object","description":"All custom fields from the conversation.\n\nExposed in Bubblescipt as `conversation.*`.\n","additionalProperties":true},"auto_translation":{"type":"array","description":"A tuple with `[operator language, user language]` when the auto-translation feature is enabled, or `NULL` when disabled.","items":{"type":"string"},"nullable":true,"minItems":2,"maxItems":2},"last_text_message":{"type":"string","description":"The last text message that was sent in the conversation.","nullable":true},"last_user_message_date":{"type":"string","format":"date-time","description":"ISO8601 timestamp of the time of the last message","nullable":true},"closed_at":{"type":"string","format":"date-time","description":"ISO8601 timestamp of the moment when the conversation was closed","nullable":true}},"additionalProperties":false},"NoteComment":{"type":"object","title":"NoteComment","properties":{"id":{"type":"string","format":"uuid"},"author":{"type":"object","additionalProperties":true},"comment":{"type":"string"},"inserted_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"note_id":{"type":"string","format":"uuid"}}},"BotTestCase":{"type":"object","title":"BotTestCase","properties":{"script":{"type":"string","description":"The title of the test script file"},"directory":{"type":"string","description":"The directory prefix of the test script, if any"},"test_case":{"type":"string","description":"The identifier of the test case within the script"}},"additionalProperties":false},"App":{"type":"object","title":"App","required":["title","purpose","description","icon"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"description":{"description":"An optionally-translated string.\n\nWhen translated, this becomes a map with at least the key/value of\n`\"$i18n\": true` followed by optional key/values for each translated\nlanguage, where the key is the code of the language.\n","oneOf":[{"type":"string","nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"string"}}]},"default_locale":{"type":"string"},"title":{"description":"An optionally-translated string.\n\nWhen translated, this becomes a map with at least the key/value of\n`\"$i18n\": true` followed by optional key/values for each translated\nlanguage, where the key is the code of the language.\n","oneOf":[{"type":"string","nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"string"}}]},"icon":{"description":"An optionally-translated string.\n\nWhen translated, this becomes a map with at least the key/value of\n`\"$i18n\": true` followed by optional key/values for each translated\nlanguage, where the key is the code of the language.\n","oneOf":[{"type":"string","nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"string"}}]},"supported_locales":{"type":"array","items":{"type":"string"}},"video_url":{"description":"An optionally-translated string.\n\nWhen translated, this becomes a map with at least the key/value of\n`\"$i18n\": true` followed by optional key/values for each translated\nlanguage, where the key is the code of the language.\n","oneOf":[{"type":"string","nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"string"}}]},"tier":{"type":"string"},"purpose":{"description":"An optionally-translated string.\n\nWhen translated, this becomes a map with at least the key/value of\n`\"$i18n\": true` followed by optional key/values for each translated\nlanguage, where the key is the code of the language.\n","oneOf":[{"type":"string","nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"string"}}]},"demo":{"type":"object","required":["bot_id"],"properties":{"phone":{"type":"string"},"bot_id":{"type":"string"}},"nullable":true},"image_urls":{"description":"An optionally-translated list of strings.\n\nWhen translated, the value is a map with at least `\"$i18n\": true` followed\nby optional/key values for each translated language, where the key is\nthe code of the language and the value a list of strings.\n","oneOf":[{"type":"array","items":{"type":"string"},"nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"array","items":{"type":"string"}}}]},"supported_channels":{"type":"array","items":{"type":"string"}},"video_thumbnail":{"description":"An optionally-translated string.\n\nWhen translated, this becomes a map with at least the key/value of\n`\"$i18n\": true` followed by optional key/values for each translated\nlanguage, where the key is the code of the language.\n","oneOf":[{"type":"string","nullable":true},{"type":"object","required":["$i18n"],"properties":{"$i18n":{"enum":[true]}},"additionalProperties":{"type":"string"}}]}}},"Bot":{"type":"object","title":"Bot","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string","nullable":false},"locale":{"type":"string","example":"nl"},"timezone":{"type":"string","example":"Europe/Amsterdam"},"region":{"type":"string"},"inserted_at":{"type":"string","format":"date-time"},"extra_locales":{"type":"array","items":{"type":"string"}},"purpose":{"type":"string","nullable":false},"organisation_id":{"type":"string","format":"uuid"},"profile_picture":{"type":"string"},"privacy_url":{"type":"string","nullable":true}}},"Note":{"type":"object","title":"Note","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["new","done"]},"title":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"inserted_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Update timestamp"},"note":{"type":"string","nullable":true},"bot_id":{"type":"string","format":"uuid"},"conversation_id":{"type":"string","format":"uuid","nullable":true},"actor":{"type":"object","additionalProperties":true,"nullable":true},"conversation_data":{"type":"object","description":"All the conversation data at the time the note was created","additionalProperties":true},"comments_count":{"type":"integer","description":"Number of comments on this note"},"start_at":{"type":"string","format":"date-time","nullable":true},"due_at":{"type":"string","format":"date-time","nullable":true}}},"Conversation action response":{"type":"object","title":"Conversation action response","properties":{"next":{"type":"string","description":"Pagination token for retrieving the next batch of actions","nullable":true},"actions":{"type":"array","items":{"type":"object","description":"The request to send to the conversation","title":"Chat Action","properties":{"id":{"type":"string","description":"As response: Automatically generated action ID. Ignored in requests."},"type":{"type":"string","description":"The type of chat action. See https://developer.dialox.ai/dev/message_spec/\n","required":true},"time":{"type":"string","description":"As response: Automatically filled with the time the action was sent. Ignored in requests."},"payload":{"type":"object","description":"The payload for the given action type.\n\nSee the <a href=\"/dev/message_spec/\">chat message specification</a>.\n"}}}}}},"WebhookCreateParams":{"type":"object","title":"WebhookCreateParams","required":["url"],"properties":{"enabled":{"type":"boolean","description":"Whether the webhook is enabled or not","nullable":true},"token":{"type":"string","description":"Optional bearer token that will be sent along the request in the Authorization header. The 'Bearer ' prefix of the header value is added automatically. ","nullable":true},"url":{"type":"string","format":"uri","description":"The URL where the webhook will be posted to"},"event":{"type":"string","description":"Optional filter to limit the event set to this webhook to the given event type. Must be one of , action, user_action, operator_action, action_status, note, note_comment, user_changes, conversation_tags, calendar_event, conversation_close, conversation_delete, conversation_status_change, sms_delivery_report, task, or `task. + taskname`, or `task.raw. + taskname` to get a webhook with the 'raw' output without conversation metadata.","nullable":true}},"additionalProperties":false},"BotTestCaseResult":{"type":"object","title":"BotTestCaseResult","properties":{"time":{"type":"integer","nullable":true},"script":{"type":"string","nullable":true},"success":{"type":"boolean","nullable":true},"error_message":{"type":"string","nullable":true},"logs":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"},"time":{"type":"string","format":"date-time"}}}},"test_case":{"type":"string","nullable":true},"expect_metadata":{"type":"object","additionalProperties":true},"full_transcript":{"type":"array","items":{"type":"object"}}},"additionalProperties":false},"Note patch request object":{"type":"object","title":"Note patch request object","properties":{"status":{"type":"string","enum":["new","done"]},"title":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"start_at":{"type":"string","format":"date-time","nullable":true},"due_at":{"type":"string","format":"date-time","nullable":true}},"additionalProperties":false},"Create Call Request":{"type":"object","title":"Create Call Request","required":["destination"],"properties":{"args":{"type":"object","description":"Optional arguments to pass to the dialog","additionalProperties":true,"nullable":true},"destination":{"type":"string","nullable":false},"dialog":{"type":"string"}},"additionalProperties":false},"Update conversation request":{"type":"object","title":"Update conversation request","properties":{"auto_translation":{"type":"array","description":"Controls automatic translation of the conversation. Contains either an array with 2 components: [operator language, bot language], or <tt>null</tt> to disable automatic translation again.","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Create SMS Request":{"type":"object","title":"Create SMS Request","required":["recipient","message"],"properties":{"message":{"type":"string","nullable":false},"reference":{"type":"string","nullable":true},"sender":{"type":"string","description":"The sender must be an approved name in the environment settings.\n\nWhen not provided, the default of 'DialoX' is used.\n","nullable":true},"recipient":{"type":"string","nullable":false}},"additionalProperties":false},"RunTestsRequest":{"type":"object","title":"RunTestsRequest","properties":{"directory":{"type":"string","description":"Only run tests from scripts in this directory"},"scripts":{"type":"array","description":"Only run tests from these script files","items":{"type":"string"}},"test_cases":{"type":"array","description":"Only run these test case identifiers","items":{"type":"string"}}},"additionalProperties":false},"Patch note comment request":{"type":"object","title":"Patch note comment request","required":["comment"],"properties":{"comment":{"type":"string"}},"additionalProperties":false},"User patch request object":{"type":"object","title":"User patch request object","properties":{"tags":{"type":"array","description":"The list of tags for this user.","items":{"type":"string","example":"online"}},"user_data":{"type":"object","description":"All custom fields from the user.\n\nThese are exposed as `user.*` in Bubblescript.\n","additionalProperties":true},"email":{"type":"string","format":"email","example":"person@example.com"},"locale":{"type":"string","description":"User's locale, e.g. en_US","example":"nl"},"timezone":{"type":"string","description":"User's timezone","example":"Europe/Amsterdam"},"phone":{"type":"string"},"first_name":{"type":"string","description":"First name","nullable":true},"last_name":{"type":"string","description":"Last name","nullable":true},"external_id":{"type":"string","description":"External identifier (e.g. for CRM integration)","nullable":true},"bot_id":{"type":"string","format":"uuid"},"profile_picture":{"type":"string","format":"url","description":"Profile picture URL","nullable":true}},"additionalProperties":false},"RunTestsResponse":{"type":"object","title":"RunTestsResponse","properties":{"data":{"type":"array","items":{"type":"object","title":"BotTestCaseResult","properties":{"time":{"type":"integer","nullable":true},"script":{"type":"string","nullable":true},"success":{"type":"boolean","nullable":true},"error_message":{"type":"string","nullable":true},"logs":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"},"time":{"type":"string","format":"date-time"}}}},"test_case":{"type":"string","nullable":true},"expect_metadata":{"type":"object","additionalProperties":true},"full_transcript":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}}},"additionalProperties":false},"WebhookUpdateParams":{"type":"object","title":"WebhookUpdateParams","properties":{"enabled":{"type":"boolean","description":"Whether the webhook is enabled or not","nullable":true},"token":{"type":"string","description":"Optional bearer token that will be sent along the request in the Authorization header. The 'Bearer ' prefix of the header value is added automatically. ","nullable":true},"url":{"type":"string","format":"uri","description":"The URL where the webhook will be posted to"},"event":{"type":"string","description":"Optional filter to limit the event set to this webhook to the given event type. Must be one of , action, user_action, operator_action, action_status, note, note_comment, user_changes, conversation_tags, calendar_event, conversation_close, conversation_delete, conversation_status_change, sms_delivery_report, task, or `task. + taskname`, or `task.raw. + taskname` to get a webhook with the 'raw' output without conversation metadata.","nullable":true}},"additionalProperties":false},"NoteCommentsResponse":{"type":"object","title":"NoteCommentsResponse","properties":{"data":{"type":"array","items":{"type":"object","title":"NoteComment","properties":{"id":{"type":"string","format":"uuid"},"author":{"type":"object","additionalProperties":true},"comment":{"type":"string"},"inserted_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"note_id":{"type":"string","format":"uuid"}}}}}}},"responses":{},"securitySchemes":{"api_auth":{"scheme":"bearer","type":"http","description":"Authorize the request with the given API key","bearerFormat":"Bearer <API KEY>"}}},"paths":{"/api/bots/{bot_id}/call":{"post":{"callbacks":{},"deprecated":false,"description":"Sets up an outbound call to the specified destination.\n\nThis operation incurs usage-based costs.\n","tags":["Call operations"],"parameters":[{"in":"path","name":"bot_id","description":"The identifier of the bot that is used for this API call. A bot's ID is always a UUID,\nfor example: <tt>2d7da687-37e4-4a0e-a7b2-6eaa8759adf6</tt>. You can find the bot's id by looking in the URL of the DialoX studio.\n","required":true,"schema":{"type":"string","format":"uuid"},"example":"2d7da687-37e4-4a0e-a7b2-6eaa8759adf6"}],"summary":"Set up an outbound call","operationId":"call.create","responses":{"200":{"description":"Call initiated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conversation"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not permitted to call this destination","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}},"500":{"description":"Call setup failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"description":"Call request","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create Call Request"}}}}}},"/api/bots/{bot_id}/sms":{"get":{"callbacks":{},"deprecated":false,"tags":["SMS operations"],"parameters":[{"in":"query","name":"sort","description":"The sorting of the returned roles. The '-' prefix will return results in descending order.","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","description":"The offset from which to show results","required":false,"schema":{"default":0,"type":"integer","minimum":0},"example":"10"},{"in":"query","name":"size","description":"The number of items to display","required":false,"schema":{"default":20,"type":"integer","minimum":0},"example":"20"},{"in":"path","name":"bot_id","description":"The identifier of the bot that is used for this API call. A bot's ID is always a UUID,\nfor example: <tt>2d7da687-37e4-4a0e-a7b2-6eaa8759adf6</tt>. You can find the bot's id by looking in the URL of the DialoX studio.\n","required":true,"schema":{"type":"string","format":"uuid"},"example":"2d7da687-37e4-4a0e-a7b2-6eaa8759adf6"},{"in":"query","name":"search_query","description":"Full-text search with support for namespaced filters: https://developer.dialox.ai/customize/user_filters/\nYou can find the search filters that are available in the */search-info endpoint.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"status","description":"Limit results to the given statuses","required":false,"schema":{"type":"string","enum":["sent","delivered","failed"]}},{"in":"query","name":"recipient","description":"Limit results to this recipient","required":false,"schema":{"type":"string"}}],"summary":"Lists all SMS messages","operationId":"sms.index","responses":{"200":{"description":"List of SMS messages","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SMS"}},"size":{"type":"integer"},"from":{"type":"integer"},"has_more":{"type":"boolean"}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}},"post":{"callbacks":{},"deprecated":false,"description":"Sends an SMS messages.\n\nThis operation incurs usage-based costs.\n\nNote that this doesn't start a conversation, nor execute any Bubble code.\n\nThe `sender` must be in the approved list of sender names for the bot's\nenvironment, same as the [`sms`](https://developer.dialox.ai/ref/additional/?h=sms#smsphone-message-opts)\nbuiltin.\n","tags":["SMS operations"],"parameters":[{"in":"path","name":"bot_id","description":"The identifier of the bot that is used for this API call. A bot's ID is always a UUID,\nfor example: <tt>2d7da687-37e4-4a0e-a7b2-6eaa8759adf6</tt>. You can find the bot's id by looking in the URL of the DialoX studio.\n","required":true,"schema":{"type":"string","format":"uuid"},"example":"2d7da687-37e4-4a0e-a7b2-6eaa8759adf6"}],"summary":"Send an SMS","operationId":"sms.create","responses":{"200":{"description":"SMS sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMS"}}}},"400":{"description":"Provider not confgured","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}},"500":{"description":"Message sending failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"description":"SMS request","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create SMS Request"}}}}}},"/api/bots/{bot_id}/sms/search-info":{"get":{"callbacks":{},"deprecated":false,"description":"The available sorting and filtering options may differ based on the\nsettings of the bot. As such, they cannot be fully documented in the\nREST-API. This endpoint returns the full list of available search options\nfor the index endpoint.\n\nThe filters can be given to the index endpoint as query parameters.\nSorting is given as the `sort` query parameter.\nThe search filters are used in the search query. The full syntax can be\nfound [in the documentation](https://developer.dialox.ai/customize/user_filters/).\n","tags":["SMS operations"],"parameters":[],"summary":"Search info","operationId":"sms.search-info","responses":{"200":{"description":"Search info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInfo"}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/bots/{bot_id}/sms/{id}":{"get":{"callbacks":{},"deprecated":false,"tags":["SMS operations"],"parameters":[{"in":"path","name":"bot_id","description":"The identifier of the bot that is used for this API call. A bot's ID is always a UUID,\nfor example: <tt>2d7da687-37e4-4a0e-a7b2-6eaa8759adf6</tt>. You can find the bot's id by looking in the URL of the DialoX studio.\n","required":true,"schema":{"type":"string","format":"uuid"},"example":"2d7da687-37e4-4a0e-a7b2-6eaa8759adf6"},{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Get an SMS","operationId":"sms.show","responses":{"200":{"description":"SMS message","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMS"}}}},"404":{"description":"SMS not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}}},"/api/bots/{bot_id}/tests":{"get":{"callbacks":{},"deprecated":false,"tags":["Bot test operations"],"parameters":[{"in":"path","name":"bot_id","description":"The identifier of the bot that is used for this API call. A bot's ID is always a UUID,\nfor example: <tt>2d7da687-37e4-4a0e-a7b2-6eaa8759adf6</tt>. You can find the bot's id by looking in the URL of the DialoX studio.\n","required":true,"schema":{"type":"string","format":"uuid"},"example":"2d7da687-37e4-4a0e-a7b2-6eaa8759adf6"},{"in":"query","name":"search_query","description":"Full text search https://developer.dialox.ai/customize/user_filters/","required":false,"schema":{"type":"string"}}],"summary":"List bot test cases","operationId":"tests.index","responses":{"200":{"description":"List of test cases","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BotTestCase"}}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"callbacks":{},"deprecated":false,"description":"Runs one or more test cases for the bot.\n\nWhen no filters are given, all test cases are run. The `directory` field limits\nexecution to test scripts in the given directory. The `scripts` field limits\nexecution to the given test script files. The `test_cases` field limits\nexecution to the given test case identifiers.\n","tags":["Bot test operations"],"parameters":[{"in":"path","name":"bot_id","description":"The identifier of the bot that is used for this API call. A bot's ID is always a UUID,\nfor example: <tt>2d7da687-37e4-4a0e-a7b2-6eaa8759adf6</tt>. You can find the bot's id by looking in the URL of the DialoX studio.\n","required":true,"schema":{"type":"string","format":"uuid"},"example":"2d7da687-37e4-4a0e-a7b2-6eaa8759adf6"}],"summary":"Run bot test cases","operationId":"tests.create","responses":{"200":{"description":"Test results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunTestsResponse"}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"Test run request","required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunTestsRequest"}}}}}},"/api/bots/{id}":{"get":{"callbacks":{},"deprecated":false,"tags":["Bot operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Get bot","operationId":"bots.show","responses":{"200":{"description":"Bot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bot"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/bots/{id}/tags":{"get":{"callbacks":{},"deprecated":false,"description":"Lists the tags that were defined in the bot studio settings.\n\nThis can be useful if you\n","tags":["Bot operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"List bot tags","operationId":"bots.tags","responses":{"200":{"description":"Tags taxonomy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tags taxonomy"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/conversations":{"get":{"callbacks":{},"deprecated":false,"description":"Lists all conversations that the token has access to","tags":["Conversation operations"],"parameters":[{"in":"query","name":"from","description":"The offset from which to show results","required":false,"schema":{"default":0,"type":"integer","minimum":0},"example":"10"},{"in":"query","name":"size","description":"The number of items to display","required":false,"schema":{"default":20,"type":"integer","minimum":0},"example":"20"},{"in":"query","name":"start_date","description":"Only show conversations that started after and equal to this date","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_date","description":"Only show conversations that started before this date.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"status","description":"Show conversations with this status","required":false,"schema":{"type":"array","items":{"enum":["active","closed"]}}},{"in":"query","name":"operator_id","description":"Show conversations that were assigned to this operator","required":false,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"channels","description":"Limit the conversations to one of these channels","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"sort","description":"The sorting of the returned roles. The '-' prefix will return results in descending order.","required":false,"schema":{"type":"string"}},{"in":"query","name":"bot_ids","description":"The list of bots to limit the results to","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"include_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"include_tags","description":"Match rows that have all of these tags","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"exclude_tags","description":"Match rows that do no have any of these tags","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"include_tag_prefixes","description":"Match rows that have all of these tag prefixes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"exclude_tag_prefixes","description":"Match rows that do not have any of these tag prefixes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"search_query","description":"Full-text search with support for namespaced filters: https://developer.dialox.ai/customize/user_filters/\nYou can find the search filters that are available in the */search-info endpoint.\n","required":false,"schema":{"type":"string"}}],"summary":"List all conversations","operationId":"conversations.index","responses":{"200":{"description":"Conversations","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Conversation"}},"size":{"type":"integer"},"from":{"type":"integer"},"has_more":{"type":"boolean"}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"callbacks":{},"deprecated":false,"description":"Creates a new conversation without starting it.","tags":["Conversation operations"],"parameters":[],"summary":"Create a new conversation","operationId":"conversations.create","responses":{"200":{"description":"Conversation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conversation"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"The update request","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create conversation"}}}}}},"/api/conversations/search-info":{"get":{"callbacks":{},"deprecated":false,"description":"The available sorting and filtering options may differ based on the\nsettings of the bot. As such, they cannot be fully documented in the\nREST-API. This endpoint returns the full list of available search options\nfor the index endpoint.\n\nThe filters can be given to the index endpoint as query parameters.\nSorting is given as the `sort` query parameter.\nThe search filters are used in the search query. The full syntax can be\nfound [in the documentation](https://developer.dialox.ai/customize/user_filters/).\n","tags":["Conversation operations"],"parameters":[],"summary":"Search info","operationId":"conversations.search-info","responses":{"200":{"description":"Search info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInfo"}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/conversations/{id}":{"get":{"callbacks":{},"deprecated":false,"description":"Show full information about a single conversation","tags":["Conversation operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Show conversation details","operationId":"conversations.show","responses":{"200":{"description":"Conversation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conversation"}}}},"404":{"description":"Conversation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"callbacks":{},"deprecated":false,"tags":["Conversation operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Remove a conversation","operationId":"conversations.delete","responses":{"204":{"description":"Conversation was deleted"},"404":{"description":"Conversation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"callbacks":{},"deprecated":false,"tags":["Conversation operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Update conversation","operationId":"conversations.update","responses":{"200":{"description":"Conversation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conversation"}}}},"404":{"description":"Conversation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"The update request","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Update conversation request"}}}}}},"/api/conversations/{id}/events":{"post":{"callbacks":{},"deprecated":false,"description":"Send a [Bubble event](https://developer.dialox.ai/platform/communication/events/?h=event) to an existing conversation.\n","tags":["Conversation operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Send event to conversation","operationId":"conversations.events.create","responses":{"204":{"description":"Event was sent to the conversation"},"404":{"description":"Conversation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"description":"Event request","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create event in conversation"}}}}}},"/api/conversations/{id}/history":{"get":{"callbacks":{},"deprecated":false,"description":"Retrieve the actions from the given user/conversation in reverse chronological order.\nActions are paginated in batches of 200.\n\nPagination can be implemented by chaining the 'next' parameter\nthat is received from this request into the next request.\n\nA text version can be retrieved by sending <tt>Accept: text/plain</tt> as a request header.\nFor text/plain, a `timezone` query string parameter can be passed in.\n\nThe conversation must exist for the history to be retrieved,\notherwise a 404 is returned.\n","tags":["Conversation operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"},{"in":"path","name":"next","description":"The next-pointer for pagination. The first request (without `next` param) will return the cursor if there are more actions.","required":false,"schema":{"type":"string","required":false}},{"in":"path","name":"timezone","description":"The timezone within which to render the actions. Only applicable for the text/plain listing. Defaults to the bot's timezone.","required":false,"schema":{"type":"string","required":false},"example":"Europe/Amsterdam"}],"summary":"Retrieve the conversation history","operationId":"conversations.history","responses":{"200":{"description":"History listing","content":{"application/json":{"schema":{"type":"object","title":"Conversation action response","properties":{"next":{"type":"string","description":"Pagination token for retrieving the next batch of actions","nullable":true},"actions":{"type":"array","items":{"type":"object","description":"The request to send to the conversation","title":"Chat Action","properties":{"id":{"type":"string","description":"As response: Automatically generated action ID. Ignored in requests."},"type":{"type":"string","description":"The type of chat action. See https://developer.dialox.ai/dev/message_spec/\n","required":true},"time":{"type":"string","description":"As response: Automatically filled with the time the action was sent. Ignored in requests."},"payload":{"type":"object","description":"The payload for the given action type.\n\nSee the <a href=\"/dev/message_spec/\">chat message specification</a>.\n"}}}}}}},"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Conversation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/conversations/{id}/rpc":{"post":{"callbacks":{},"deprecated":false,"description":"Invoke a declared task. The declaration must have `rest_api: true`.","tags":["Conversation operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Invoke declared task","operationId":"conversations.rpc","responses":{"200":{"description":"Conversation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RPC result"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"The update request","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RPC request"}}}}}},"/api/manage/organisation/bots":{"get":{"callbacks":{},"deprecated":false,"tags":["Organisation operations"],"parameters":[],"summary":"List bots","operationId":"manage.organisation.bots","responses":{"200":{"description":"List of bots","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Bot"}}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/manage/organisation/webhooks":{"get":{"callbacks":{},"deprecated":false,"tags":["Webhook operations"],"parameters":[],"summary":"List webhooks","operationId":"manage.webhooks.index","responses":{"200":{"description":"List of webhooks","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"callbacks":{},"deprecated":false,"tags":["Webhook operations"],"parameters":[],"summary":"Create webhook","operationId":"manage.webhooks.create","responses":{"200":{"description":"Webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}}},"requestBody":{"description":"Webhook data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateParams"},"example":{"url":"https://example.com/note","event":"note"}}}}}},"/api/manage/organisation/webhooks/{id}":{"get":{"callbacks":{},"deprecated":false,"tags":["Webhook operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Get single webhook","operationId":"manage.webhooks.show","responses":{"200":{"description":"Webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"callbacks":{},"deprecated":false,"tags":["Webhook operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Delete webhook","operationId":"manage.webhooks.delete","responses":{"204":{"description":"Webhook deleted"},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}},"patch":{"callbacks":{},"deprecated":false,"tags":["Webhook operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Update webhook","operationId":"manage.webhooks.update","responses":{"200":{"description":"Updated webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"Webhook data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookUpdateParams"},"example":{"url":"https://example.com/note","event":"note"}}}}}},"/api/notes":{"get":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"query","name":"status","description":"Limit results to notes with this status","required":false,"schema":{"type":"string","enum":["new","done"]}},{"in":"query","name":"conversation_id","description":"Limit results to notes from this conversation ID","required":false,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"contact_id","description":"Limit results to notes from this user","required":false,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"sort","description":"The sorting of the returned roles. The '-' prefix will return results in descending order.","required":false,"schema":{"type":"string"}},{"in":"query","name":"bot_ids","description":"The list of bots to limit the results to","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"include_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"exclude_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"include_tags","description":"Match rows that have all of these tags","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"exclude_tags","description":"Match rows that do no have any of these tags","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"include_tag_prefixes","description":"Match rows that have all of these tag prefixes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"exclude_tag_prefixes","description":"Match rows that do not have any of these tag prefixes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"search_query","description":"Full-text search with support for namespaced filters: https://developer.dialox.ai/customize/user_filters/\nYou can find the search filters that are available in the */search-info endpoint.\n","required":false,"schema":{"type":"string"}}],"summary":"List notes","operationId":"notes.index","responses":{"200":{"description":"List of notes","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Note"}},"size":{"type":"integer"},"from":{"type":"integer"},"has_more":{"type":"boolean"}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/notes/search-info":{"get":{"callbacks":{},"deprecated":false,"description":"The available sorting and filtering options may differ based on the\nsettings of the bot. As such, they cannot be fully documented in the\nREST-API. This endpoint returns the full list of available search options\nfor the index endpoint.\n\nThe filters can be given to the index endpoint as query parameters.\nSorting is given as the `sort` query parameter.\nThe search filters are used in the search query. The full syntax can be\nfound [in the documentation](https://developer.dialox.ai/customize/user_filters/).\n","tags":["Notes operations"],"parameters":[],"summary":"Search info","operationId":"notes.search-info","responses":{"200":{"description":"Search info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInfo"}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/notes/{id}":{"get":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Get note details","operationId":"notes.show","responses":{"200":{"description":"User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"404":{"description":"Note not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Delete note","operationId":"notes.delete","responses":{"204":{"description":"Note deleted"},"404":{"description":"Note not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}},"patch":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Update note","operationId":"notes.update","responses":{"200":{"description":"Updated note","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note"}}}},"404":{"description":"Note not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"Note data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Note patch request object"}}}}}},"/api/notes/{id}/comments":{"get":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"},{"in":"query","name":"sort","description":"The sorting of the returned roles. The '-' prefix will return results in descending order.","required":false,"schema":{"type":"string"}},{"in":"query","name":"include_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"exclude_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"search_query","description":"Full-text search with support for namespaced filters: https://developer.dialox.ai/customize/user_filters/\nYou can find the search filters that are available in the */search-info endpoint.\n","required":false,"schema":{"type":"string"}}],"summary":"List comments for a note","operationId":"notes.comments.index","responses":{"200":{"description":"List of comments","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/NoteCommentsResponse"}},"size":{"type":"integer"},"from":{"type":"integer"},"has_more":{"type":"boolean"}},"additionalProperties":false}}}},"404":{"description":"Note not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Create a comment on a note","operationId":"notes.comments.create","responses":{"201":{"description":"Created comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteComment"}}}},"404":{"description":"Note not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"Comment data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create note comment request"}}}}}},"/api/notes/{id}/comments/{comment_id}":{"delete":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"},{"in":"path","name":"comment_id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Delete a comment on a note","operationId":"notes.comments.delete","responses":{"204":{"description":"Comment deleted"},"403":{"description":"Not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Note or comment not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}},"patch":{"callbacks":{},"deprecated":false,"tags":["Notes operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"},{"in":"path","name":"comment_id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Update a comment on a note","operationId":"notes.comments.update","responses":{"200":{"description":"Updated comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteComment"}}}},"403":{"description":"Not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Note or comment not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"Comment data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Patch note comment request"}}}}}},"/api/store/gtm/{gtm}":{"get":{"callbacks":{},"deprecated":false,"tags":["Store operations"],"parameters":[{"in":"path","name":"gtm","description":"The name of the GTM, example: NL","required":true,"schema":{"type":"string"}}],"summary":"Lists GTM's store","operationId":"store.gtm","responses":{"200":{"description":"Store listing for GTM","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Store listing"}}}},"404":{"description":"GTM not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}}},"/api/store/partner/{partner_id}":{"get":{"callbacks":{},"deprecated":false,"tags":["Store operations"],"parameters":[{"in":"path","name":"partner_id","description":"The partner's ID","required":true,"schema":{"type":"string","format":"uuid"}}],"summary":"Lists the partner's store","operationId":"store.partner","responses":{"200":{"description":"Store listing for partner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Store listing"}}}},"404":{"description":"Partner not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}}},"/api/users":{"get":{"callbacks":{},"deprecated":false,"description":"List users that the token has access to.\n\nThe available filters here depend on the configured contacts columns and\nconversation columns in the studio config of the bot.\n","tags":["Users operations"],"parameters":[{"in":"query","name":"locale","description":"Only return users with this locale","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"The sorting of the returned roles. The '-' prefix will return results in descending order.","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","description":"The offset from which to show results","required":false,"schema":{"default":0,"type":"integer","minimum":0},"example":"10"},{"in":"query","name":"size","description":"The number of items to display","required":false,"schema":{"default":20,"type":"integer","minimum":0},"example":"20"},{"in":"query","name":"bot_ids","description":"The list of bots to limit the results to","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"include_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"exclude_ids","description":"Only return these users","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"in":"query","name":"include_tags","description":"Match rows that have all of these tags","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"exclude_tags","description":"Match rows that do no have any of these tags","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"include_tag_prefixes","description":"Match rows that have all of these tag prefixes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"exclude_tag_prefixes","description":"Match rows that do not have any of these tag prefixes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"search_query","description":"Full-text search with support for namespaced filters: https://developer.dialox.ai/customize/user_filters/\nYou can find the search filters that are available in the */search-info endpoint.\n","required":false,"schema":{"type":"string"}}],"summary":"List all users","operationId":"users.index","responses":{"200":{"description":"List of users","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"size":{"type":"integer"},"from":{"type":"integer"},"has_more":{"type":"boolean"}},"additionalProperties":false}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"callbacks":{},"deprecated":false,"tags":["Users operations"],"parameters":[],"summary":"Create user","operationId":"users.create","responses":{"200":{"description":"Created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"description":"User data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User create request object"}}}}}},"/api/users/search-info":{"get":{"callbacks":{},"deprecated":false,"description":"The available sorting and filtering options may differ based on the\nsettings of the bot. As such, they cannot be fully documented in the\nREST-API. This endpoint returns the full list of available search options\nfor the index endpoint.\n\nThe filters can be given to the index endpoint as query parameters.\nSorting is given as the `sort` query parameter.\nThe search filters are used in the search query. The full syntax can be\nfound [in the documentation](https://developer.dialox.ai/customize/user_filters/).\n","tags":["Users operations"],"parameters":[],"summary":"Search info","operationId":"users.search-info","responses":{"200":{"description":"Search info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInfo"}}}},"403":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/users/{id}":{"get":{"callbacks":{},"deprecated":false,"description":"Retrieve the details of a user of the bot","tags":["Users operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Get user details","operationId":"users.show","responses":{"200":{"description":"User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"callbacks":{},"deprecated":false,"tags":["Users operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Delete user","operationId":"users.delete","responses":{"204":{"description":"User deleted"},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}}},"patch":{"callbacks":{},"deprecated":false,"tags":["Users operations"],"parameters":[{"in":"path","name":"id","description":"UUID of the resource","required":true,"schema":{"type":"string","format":"uuid"},"example":"776661cc-e758-45de-a361-99953756e23c"}],"summary":"Update user","operationId":"users.update","responses":{"200":{"description":"Updated user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonErrorResponse"}}}}},"requestBody":{"description":"User data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User patch request object"}}}}}}},"servers":[{"url":"https://bsqd.me/"}],"security":[{"api_auth":[]}],"openapi":"3.0.0"}