{"info":{"_postman_id":"aebee031-f750-4c68-b41b-6feaa9685ad2","name":"Qwil Messenger APIs","description":"<html><head></head><body><p><strong>Qwil Messenger</strong> has a range of open APIs that can be used to perform a wide array of functions available on the platform.</p>\n<p>There are three categories of API endpoints: <strong>System,</strong> <strong>Master</strong> &amp; <strong>User</strong> endpoints.</p>\n<p>Using the endpoints requires authentication of each call via an API key and secret.</p>\n<p><a href=\"https://support.qwil.io/hc/en-us/articles/360010207298-Understanding-System-API-Keys\"><strong>System API keys</strong></a> are geared towards automating and simplifying the administration of your organisation, such as managing users, groups, invitations, and exporting your organisation's data. System API keys relate to entity-service endpoints.</p>\n<p><a href=\"https://support.qwil.io/hc/en-us/articles/360010208298-Understanding-Master-API-Keys\"><strong>Master User API keys</strong></a> provide access to chat and contact related functionality. You can use the Chat Butler to send organisation- wide messages, automate your client engagement strategies, or integrate your other systems to create chats directly on Qwil Messenger.</p>\n<p>With Master User API Keys you can send messages on behalf of any user. These keys relate to chat-service endpoints.</p>\n<p><a href=\"https://support.qwil.io/hc/en-us/articles/360011203377-Understanding-User-API-Keys\"><strong>User API keys</strong></a> provide staff members access to chat and contact related functionality if enabled in your organisation. You can use keys automate your client engagement strategies - automatically create chats with your clients, and place them in the archive until you get a reply, or integrate your other systems to create chats directly on Qwil Messenger.</p>\n<p>This documentation will provide all the information required to integrate and automate Qwil Messenger while maintaining <strong>secure</strong>, <strong>compliant</strong> <strong>conversations</strong>.</p>\n<p>For more information please visit our <a href=\"https://support.qwil.io/hc/en-us\">Help Centre</a> or <a href=\"https://support.qwil.io/hc/en-us/requests/new\">Contact Us</a>.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"10393016","collectionId":"aebee031-f750-4c68-b41b-6feaa9685ad2","publishedId":"UVsEWUi5","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"272929","highlight":"EF5B25"},"publishDate":"2022-03-08T11:32:45.000Z"},"item":[{"name":"System APIs","item":[{"name":"chats","item":[{"name":"documents","id":"2fe7003b-1471-4fc5-8920-4d62416ccf8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"seq\": \"integer()\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/chats/documents","description":"<p><strong>Description</strong>:</p>\n<p>This API will download a document from a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform data reviewer actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","chats","documents"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"2fe7003b-1471-4fc5-8920-4d62416ccf8c"},{"name":"list","id":"3e804bac-8987-4dff-908e-35afa00dac2d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"after_cursor_dt\": \"datetime (optional)\", \n  \"after_dt\": \"datetime (optional)\", \n  \"before_cursor_dt\": \"datetime (optional)\", \n  \"before_dt\": \"datetime (optional)\", \n  \"limit\": \"integer(min=1, max=200) (optional)\", \n  \"only_document\": \"boolean() (optional)\", \n  \"participant_entity_user_xref_uuids\": \"list_uuids (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\", \n  \"sender_entity_user_xref_uuids\": \"list_uuids (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/chats/list","description":"<p><strong>Description</strong>:</p>\n<p>This API will return a list of all of a user's chats along with chat metadata.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform data reviewer actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","chats","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"3e804bac-8987-4dff-908e-35afa00dac2d"},{"name":"messages/list","id":"c1c41eed-fc1b-41a0-aac5-21c7545f48d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"after_cursor_dt\": \"datetime (optional)\", \n  \"before_cursor_dt\": \"datetime (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"limit\": \"integer(min=0)\", \n  \"search\": \"string (optional)\", \n  \"search_type\": \"integer(min=1,max=4)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/chats/messages/list","description":"<p><strong>Description</strong>:</p>\n<p>This API will return all documents, images, links or messages sent within a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform data reviewer actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","chats","messages","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"c1c41eed-fc1b-41a0-aac5-21c7545f48d0"},{"name":"messages/range","id":"fb45ebc8-3cd2-4691-b079-95677fcd66f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"from_seq\": \"integer(min=0)\", \n  \"to_seq\": \"integer(min=0)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/chats/messages/range","description":"<p><strong>Description</strong>:</p>\n<p>This API will return messages sent within a chat in sequence.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform data reviewer actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","chats","messages","range"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"fb45ebc8-3cd2-4691-b079-95677fcd66f6"}],"id":"a148a511-7f7d-480f-86d3-714b944bf7be","_postman_id":"a148a511-7f7d-480f-86d3-714b944bf7be","description":""},{"name":"entity-memberships","item":[{"name":"entity-memberships","id":"b5e8db5b-fce4-4062-abb4-e96a71c23520","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\", \n  \"primary_email\": \"string(min=1, max=320) (optional)\"\n}\n"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships","description":"<p><strong>Description</strong>:</p>\n<p>This API will get a user's tenancy membership information.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB785 * exactly one lookup key must be provided\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"b5e8db5b-fce4-4062-abb4-e96a71c23520"},{"name":"avatar","id":"745aa059-37e2-4cfc-93a2-57af1cef53b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"size\": \"string (optional)\"\n}\n"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/avatar","description":"<p><strong>Description</strong>:</p>\n<p>This API will download the avatar of a user.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404,</li>\n<li>\"RN013 * cannot get profile picture when it is not set for euxu\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","avatar"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"745aa059-37e2-4cfc-93a2-57af1cef53b1"},{"name":"avatar/destroy","id":"fe32e618-699c-4fe9-8033-194334e68b78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/avatar/destroy","description":"<p><strong>Description</strong>:</p>\n<p>This API will reset a user's avatar to the default.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB300 * cannot destroy avatar when it is not set for euxu: {{uuid}}\": 400,</li>\n<li>\"RB300 * cannot destroy avatar when it is not set for euxu: {{uuid}}\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","avatar","destroy"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"fe32e618-699c-4fe9-8033-194334e68b78"},{"name":"avatar/update","id":"013bef40-985b-4ce9-a105-ef097e4a23ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"file\": \"filestorage\", \n  \"left\": \"integer(min=0)\", \n  \"lower\": \"integer(min=1)\", \n  \"right\": \"integer(min=1)\", \n  \"upper\": \"integer(min=0)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/avatar/update","description":"<p><strong>Description</strong>:</p>\n<p>This API will update a user's avatar.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB016 * coordinates outside picture\": 400,</li>\n<li>\"RB100 * validation issue argument: left\": 400,</li>\n<li>\"RB176 * mimetype not accepted for image\": 400,</li>\n<li>\"RB177 * image too big\": 400,</li>\n<li>\"RB178 * image is empty\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RF994 * cannot update member with this enum_profile_id\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","avatar","update"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"013bef40-985b-4ce9-a105-ef097e4a23ab"},{"name":"create","id":"4c41e428-0e39-4fb6-b75b-000c0e0d05c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"enum_profile_id\": \"integer\", \n  \"first_name\": \"string(min=1, max=500)\", \n  \"group_uuids\": \"list_uuids (optional)\", \n  \"identifier\": \"string\", \n  \"job_title\": \"string(min=0, max=500)\", \n  \"last_name\": \"string(min=0, max=500)\", \n  \"primary_email\": \"string(min=1, max=320)\", \n  \"primary_phone_number\": \"string(min=1, max=500)\", \n  \"send_invitation\": \"boolean() (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/create","description":"<p><strong>Description</strong>:</p>\n<p>This API will create a client or staff entity user and optionally sends out invitation.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","create"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"4c41e428-0e39-4fb6-b75b-000c0e0d05c3"},{"name":"create/v2","id":"ca109fc0-fe49-44b3-89a9-4ec956c0c0e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"created_by_entity_user_xref_uuid\": \"uuid\", \n  \"enum_profile_id\": \"integer\", \n  \"first_name\": \"string(min=1, max=500)\", \n  \"group_uuids\": \"list_uuids (optional)\", \n  \"identifier\": \"string\", \n  \"job_title\": \"string(min=0, max=500)\", \n  \"last_name\": \"string(min=0, max=500)\", \n  \"primary_email\": \"string(min=1, max=320)\", \n  \"primary_phone_number\": \"string(min=1, max=500)\", \n  \"send_invitation\": \"boolean() (optional)\",\n  \"invitation_message:\" : \"string(min=0, max=5000\",\n  \"new_group_name\" : \"string(min=0, max=500\",\n  \"created_by_entity_user_xref_uuid\": \"uuid\",\n  \"new_group_entity_user_xref_uuids\" : \"list_uuids\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/create/v2","description":"<p><strong>Description</strong>:</p>\n<p>This API will create a client or staff entity user, as well as an option to create a new group while adding group members and optionally sends out invitation.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB023 * euxu is not active\": 400,</li>\n<li>\"RF002 * requester cannot administer staff invitations\": 403,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","create","v2"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"ca109fc0-fe49-44b3-89a9-4ec956c0c0e6"},{"name":"destroy","id":"aafa63e4-8703-44f2-8355-d6f0fea9813d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\"\n}\n"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/destroy","description":"<p><strong>Description</strong>:</p>\n<p>This API call deletes an entity-membership.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB005 * euxu cannot delete himself: {{uuid}}\": 400,</li>\n<li>\"RB035 * cannot perform action on this type of profile id\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RF994 * cannot update member with this enum_profile_id\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","destroy"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"aafa63e4-8703-44f2-8355-d6f0fea9813d"},{"name":"emails/update","id":"d172acd2-1509-4341-9fca-34d043c56658","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"emails\": \"list\", \n  \"entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/emails/update","description":"<p><strong>Description</strong>:</p>\n<p>This API will update the contact(public), emails of a user.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB019 * cannot have twice same email\": 400,</li>\n<li>\"RB066 * wrong email format\": 400,</li>\n<li>\"RB160 * wrong data structure for emails\": 400,</li>\n<li>\"RB162 * cannot set user emails for staff when email not in domain for euxu\": 400,</li>\n<li>\"RB171 * cannot set email for client when email in email_domains\": 400,</li>\n<li>\"RB173 * incorrect number of primary for emails\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","emails","update"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"d172acd2-1509-4341-9fca-34d043c56658"},{"name":"group-memberships/create","id":"843f614a-f9b4-439f-aefc-d5c48ea0776d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"group_uuids\": \"list_uuids\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/group-memberships/create","description":"<p><strong>Description</strong>:</p>\n<p>This API will create add a user to contact groups.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB021 * euxu is already member of group_uuid: euxu {{uuid}} group_uuid {{uuid}}\": 400,</li>\n<li>\"RB021 * euxu is already member of group_uuid: euxu {{uuid}} group_uuid {{uuid}}\": 400,</li>\n<li>\"RB023 * euxu is not active\": 400,</li>\n<li>\"RB028 * cannot add member to inactive group\": 400,</li>\n<li>\"RB036 * cannot add client in group because there is no staff\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404,</li>\n<li>\"RN099 * one of the groups was not found by uuid\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","group-memberships","create"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"843f614a-f9b4-439f-aefc-d5c48ea0776d"},{"name":"group-memberships/list","id":"43c771c6-3a5a-475d-8a2a-4d872928bcac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"only_active\": \"boolean()\", \n  \"page\": \"integer(min=1) (optional)\", \n  \"per_page\": \"integer(min=1, max=200) (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/group-memberships/list","description":"<p><strong>Description</strong>:</p>\n<p>This API will get the contact group memberships of a user.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","group-memberships","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"43c771c6-3a5a-475d-8a2a-4d872928bcac"},{"name":"invitations/resend","id":"088759ca-ea2f-4498-b2c0-b894525820ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/invitations/resend","description":"<p><strong>Description</strong>:</p>\n<p>This API will resend an invitation to an already pending user.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB037 * member is not pending\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","invitations","resend"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"088759ca-ea2f-4498-b2c0-b894525820ba"},{"name":"invitations/update","id":"9217605b-07cd-43dc-b6a4-bfb6d7edcca6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"phone_number\": \"string(min=1, max=500) (optional)\"\n}\n"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/invitations/update","description":"<p><strong>Description</strong>:</p>\n<p>This API updates a user's pending invitation with a Qwil ID. This will allow a pending invitation to be merged with an existing Qwil account, instead of having a new user created on accepting the invite.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB037 * member is not pending\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","invitations","update"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"9217605b-07cd-43dc-b6a4-bfb6d7edcca6"},{"name":"list","id":"a11b9128-1583-4a7e-96e9-8922b719e6c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_status_type\": \"integer(min=1, max=8)\", \n  \"entity_user_xref_type\": \"integer(min=1, max=3)\", \n  \"page\": \"integer(min=1) (optional)\", \n  \"per_page\": \"integer(min=1, max=200) (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/list","description":"<p><strong>Description</strong>:</p>\n<p>This API will list users within a tenancy.</p>\n<p>entity_user_xref_type: 2: client, 1:staff, 3:client+staff</p>\n<p>entity_user_xref_status_type: 1: active, 2: pending, 3: active+pending, 4:removed+cancelled, 5:all</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RR001 * rate limiting at 5\": 429</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"a11b9128-1583-4a7e-96e9-8922b719e6c7"},{"name":"phone-numbers/update","id":"9bef56f9-1415-41bb-a753-5769840427fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"phone_numbers\": \"list\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/phone-numbers/update","description":"<p><strong>Description</strong>:</p>\n<p>This API will update the contact(public) phone numbers of a user.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB030 * incorrect number of primary for phone_numbers\": 400,</li>\n<li>\"RB040 * cannot have twice same phone number\": 400,</li>\n<li>\"RB065 * wrong data structure for phone_numbers\": 400,</li>\n<li>\"RB067 * wrong phone number format\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","phone-numbers","update"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"9bef56f9-1415-41bb-a753-5769840427fc"},{"name":"profile/update","id":"89a9def0-544b-4143-ba26-df0b51106e0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"first_name\": \"string(min=1, max=500)\", \n  \"job_title\": \"string(min=0, max=500)\", \n  \"last_name\": \"string(min=0, max=500)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/profile/update","description":"<p><strong>Description</strong>:</p>\n<p>This API will update the name and job title of a user.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","profile","update"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"89a9def0-544b-4143-ba26-df0b51106e0b"},{"name":"suspend","id":"a7d26d3d-f615-458a-a4e3-17f1539d2277","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\"\n}\n"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/suspend","description":"<p><strong>Description</strong>:</p>\n<p>This API will suspend an active entity membership.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB664 * cannot suspend non active member\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","suspend"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"a7d26d3d-f615-458a-a4e3-17f1539d2277"},{"name":"unsuspend","id":"3d1661d9-a178-445e-877c-31b990e4ad55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\"\n}\n"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/unsuspend","description":"<p><strong>Description</strong>:</p>\n<p>This API will undo a suspension of an entity membership, returning them to active status.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB663 * cannot unsuspend not suspended member\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","unsuspend"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"3d1661d9-a178-445e-877c-31b990e4ad55"},{"name":"update","id":"adb2875e-1dbe-4939-a456-a7a9d5994bb7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"enum_profile_id\": \"integer\", \n  \"identifier\": \"string(min=0, max=500)\", \n  \"primary_email\": \"string(min=1, max=320)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/entity-memberships/update","description":"<p><strong>Description</strong>:</p>\n<p>This API updates account details of an entity membership.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","entity-memberships","update"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"adb2875e-1dbe-4939-a456-a7a9d5994bb7"}],"id":"9cef4a6d-a212-4f18-acb5-2e2b6334907d","_postman_id":"9cef4a6d-a212-4f18-acb5-2e2b6334907d","description":""},{"name":"groups","item":[{"name":"groups","id":"6086ce85-f081-4de4-82b2-87df498c616d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"group_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=0, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups","description":"<p><strong>Description</strong>:</p>\n<p>This API retrieves group details. The payload must include either the group_uuid or identifier, but not both.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB180 * a unique lookup key must be provided\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RF844 * api key ip address is not valid\": 403,</li>\n<li>\"RN010 * one of the groups was not found by identifier\": 404,</li>\n<li>\"RN099 * one of the groups was not found by uuid\": 404,</li>\n<li>\"RR001 * rate limiting at 5\": 429,</li>\n<li>\"RU001 * auth key invalid or incompatible with secret\": 401,</li>\n<li>\"RU002 * auth key not active\": 401,</li>\n<li>\"RU003 * auth key not provided\": 401</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"6086ce85-f081-4de4-82b2-87df498c616d"},{"name":"create","id":"fd275cd7-96c1-402f-8356-e07a723d34ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"description\": \"string(min=0, max=500) (optional)\", \n  \"identifier\": \"string(min=0, max=500)\", \n  \"name\": \"string(min=1, max=500)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/create","description":"<p><strong>Description</strong>:</p>\n<p>This API will create a group with a name, description, and identifier. The identifier has to be a unique, or an empty string.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB579 * group identifier not unique\": 400,</li>\n<li>\"RB852 * on-behalf-of-entity_uuid must be a uuid\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RF841 * cannot user on-behalf-of_entity-uuid if not super api key\": 403,</li>\n<li>\"RR001 * rate limiting at 3\": 429,</li>\n<li>\"RR001 * rate limiting at 5\": 429,</li>\n<li>\"RU001 * auth key invalid or incompatible with secret\": 401,</li>\n<li>\"RU002 * auth key not active\": 401</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","create"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"fd275cd7-96c1-402f-8356-e07a723d34ef"},{"name":"destroy","id":"c8c66816-2506-4382-9079-b198d71fd2fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"group_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/destroy","description":"<p><strong>Description</strong>:</p>\n<p>This API deletes an existing group. The group should not have any active/pending members, and should not leave a client user without a group membership.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB048 * cannot destroy group with active or pending members for group-uuid: {{uuid}}\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN099 * one of the groups was not found by uuid\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","destroy"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"c8c66816-2506-4382-9079-b198d71fd2fb"},{"name":"group-members/create","id":"43fc6574-132e-4244-80a7-568abca20d06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuids\": \"list_uuids\", \n  \"group_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/group-members/create","description":"<p><strong>Description</strong>:</p>\n<p>This API adds a contact group membership for one or many users.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB036 * cannot add client in group because there is no staff\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","group-members","create"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"43fc6574-132e-4244-80a7-568abca20d06"},{"name":"group-members/destroy","id":"73259a9d-48b4-46be-bb56-f369cb5b60e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"group_member_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/group-members/destroy","description":"<p><strong>Description</strong>:</p>\n<p>This API removes a user from a contact group.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB153 * cannot remove staff member from group while client and no other staff\": 400,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","group-members","destroy"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"73259a9d-48b4-46be-bb56-f369cb5b60e9"},{"name":"group-members/list","id":"1f5ca95b-7629-4589-82a0-61b4628d59b9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"group_uuid\": \"uuid\", \n  \"only_active\": \"boolean() (optional)\", \n  \"page\": \"integer(min=1) (optional)\", \n  \"per_page\": \"integer(min=1, max=200) (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/group-members/list","description":"<p><strong>Description</strong>:</p>\n<p>This API will list members of a contact group.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","group-members","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"1f5ca95b-7629-4589-82a0-61b4628d59b9"},{"name":"list","id":"0da6332a-0d12-48b7-b743-89d2de697d4d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"group_status_type\": \"integer(min=1, max=3)\", \n  \"page\": \"integer(min=1) (optional)\", \n  \"per_page\": \"integer(min=1, max=200) (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/group-members/list","description":"<p><strong>Description</strong>:</p>\n<p>This API lists groups of an entity. The group statuses will be returned as follows:</p>\n<p>group_status_type: 1=active, 2=inactive, 3=all</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform read-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","group-members","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"0da6332a-0d12-48b7-b743-89d2de697d4d"},{"name":"update","id":"d2bc32c1-49bb-4858-afb2-7133faeb878c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SYS-API-KEY-SECRET","value":"{{X-SYS-API-KEY-SECRET}}","type":"text"},{"key":"X-SYS-API-KEY","value":"{{X-SYS-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"description\": \"string(min=0, max=500) (optional)\", \n  \"group_uuid\": \"uuid\", \n  \"identifier\": \"string(min=0, max=500)\", \n  \"name\": \"string(min=1, max=500)\"\n}"},"url":"https://{{environment}}.qwil.io/entity-service/sys-api/groups/group-members/list","description":"<p><strong>Description</strong>:</p>\n<p>This API updates an existing group with a name, description, and identifier. The identifier must be unique, or an empty string.</p>\n<p><strong>Permissions:</strong></p>\n<p><em>This key can perform write-only admin actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB579 * group identifier not unique\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF731 * api key does not have permission to perform this action\": 403,</li>\n<li>\"RF736 * entity_uuid is not set for this api key operation\": 403,</li>\n<li>\"RN099 * one of the groups was not found by uuid\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["entity-service","sys-api","groups","group-members","list"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"d2bc32c1-49bb-4858-afb2-7133faeb878c"}],"id":"c1bee3ca-2d92-4a9c-9a32-c78384179974","_postman_id":"c1bee3ca-2d92-4a9c-9a32-c78384179974","description":""}],"id":"fb309b86-db97-41e3-b35c-a70259270d61","description":"<p><strong>Qwil Messenger</strong> offers 36 <strong>System APIs</strong> enabling <strong>Enterprise</strong> customers to perform group and user management functions. Actions performed by APIs follow the same rules as conventionally using <strong>Qwil</strong>, but allow greater freedom for automation and integration.</p>\n<p>This documentation will help you develop programmes to automate your organisations messaging using the following API calls.</p>\n<p>You will need to provide certain <strong>permissions</strong> for your keys to perform certain functions. These are outlined with each endpoint. The options are:</p>\n<ul>\n<li><em>This key can export data</em></li>\n<li><em>This key can perform read-only admin actions</em></li>\n<li><em>This key can perform write-only admin actions</em></li>\n<li><em>This key can perform data reviewer actions</em></li>\n</ul>\n<p>To read more about this and learn how to set up and maintain your System API keys, <a href=\"https://support.qwil.io/hc/en-us/articles/360010207298\">click here.</a></p>\n","_postman_id":"fb309b86-db97-41e3-b35c-a70259270d61"},{"name":"Master APIs","item":[{"name":"butler","item":[{"name":"butler-says/send-file","id":"454d5436-6297-4109-9cdf-3f25b0eefdb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"document_uuid\": \"uuid (optional)\", \n  \"entity_user_xref_uuid\": \"uuid\", \n  \"file\": \"filestorage (optional)\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\", \n  \"thumbnail\": \"b64_jpg (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/butler-says/send-file?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sends a file as a message attachment to a butler chat. Either document_uuid or image must be provided, but not both. Use the former to post with a pre-uploaded file or the latter to upload a new one. Optionally provide a custom thumbnail. If provided, this must be a B64-encoded JPEG.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB503 * cannot be reached by chat\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF030 * document does not exist or is not accessible\": 403,</li>\n<li>\"RF115 * only accessible by master keys, not user keys\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","butler-says","send-file"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"454d5436-6297-4109-9cdf-3f25b0eefdb0"},{"name":"butler-says/send-image","id":"1960d63f-5542-4c44-9e80-cd1002fbafe4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"document_uuid\": \"uuid (optional)\", \n  \"entity_user_xref_uuid\": \"uuid\", \n  \"image\": \"filestorage (optional)\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/butler-says/send-image?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sends image message to a butler chat. Either document_uuid or image must be provided, but not both. Use the former to post with a pre-uploaded image or the latter to upload a new one. Only JPG and PNG image types allowed, with max size of 1MB.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB503 * cannot be reached by chat\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF030 * document does not exist or is not accessible\": 403,</li>\n<li>\"RF115 * only accessible by master keys, not user keys\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","butler-says","send-image"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"1960d63f-5542-4c44-9e80-cd1002fbafe4"},{"name":"butler-says/send-text","id":"e5486d30-442b-434b-b2bf-019e88a06296","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuid\": \"uuid\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\", \n  \"text\": \"string(min=1, max=5000)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/butler-says/send-text?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sends a text based message to a user through the butler chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB503 * cannot be reached by chat\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF115 * only accessible by master keys, not user keys\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","butler-says","send-text"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"e5486d30-442b-434b-b2bf-019e88a06296"}],"id":"198dd091-05eb-44c7-b10e-55627e0233ee","_postman_id":"198dd091-05eb-44c7-b10e-55627e0233ee","description":""},{"name":"chats","item":[{"name":"chats","id":"9f288d15-0350-4804-a67d-3b15194f0f2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API retrieves a chat and its membership details.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB557 * user key cannot act on behalf of restricted user\": 400,</li>\n<li>\"RB558 * master key target not provided\": 400,</li>\n<li>\"RB884 * on-behalf-of must be a uuid\": 400,</li>\n<li>\"RF024 * euxu not active\": 403,</li>\n<li>\"RF026 * staff with web device not in ip range\": 403,</li>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF478 * user keys support disabled in this entity\": 403,</li>\n<li>\"RF479 * master key targeting user of other entity\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RF844 * api key ip address is not valid\": 403,</li>\n<li>\"RF900 * entity is inactive\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404,</li>\n<li>\"RR001 * rate limiting at 3\": 429,</li>\n<li>\"RR001 * rate limiting at 5\": 429,</li>\n<li>\"RU001 * auth key invalid or incompatible with secret\": 401,</li>\n<li>\"RU002 * auth key not active\": 401,</li>\n<li>\"RU003 * auth key not provided\": 401</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"9f288d15-0350-4804-a67d-3b15194f0f2e"},{"name":"archive","id":"87e9fa58-8cc8-4900-b999-3a4603ab483e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"archived\": \"boolean()\", \n  \"chat_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/archive?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will, depending on the boolean entry, archive or unarchive a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","archive"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"87e9fa58-8cc8-4900-b999-3a4603ab483e"},{"name":"invite","id":"14171ede-9733-4988-a375-9449ccd97ce0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"entity_user_xref_uuids\": \"list_uuids\"\n}\n"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/invite?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API invites other entity users to a specific chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF007 * entity_user_xref_uuids not allowed for contact\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","invite"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"14171ede-9733-4988-a375-9449ccd97ce0"},{"name":"create","id":"0e5bac35-0acc-4234-b57a-6c3e5cc02280","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuids\": \"list_uuids\", \n  \"title\": \"string\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/create?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API creates a new chat with the given title and members.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB084 * cannot invite to chat if no one to invite\": 400,</li>\n<li>\"RF007 * entity_user_xref_uuids not allowed for contact\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","create"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"0e5bac35-0acc-4234-b57a-6c3e5cc02280"},{"name":"leave","id":"ea884831-0b10-410c-a3d3-f5128a177d7f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\"\n}\n"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/leave?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API functions as the act of a user leaving a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB076 * cannot perform when chat is restricted\": 403,</li>\n<li>\"RF032 * chat_member_xref is not active\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","leave"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"ea884831-0b10-410c-a3d3-f5128a177d7f"},{"name":"messages/range","id":"0ea03a12-212d-4fef-b3ce-714bf4cc6164","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"from_seq\": \"integer(min=0)\", \n  \"to_seq\": \"integer(min=0)\"\n}\n"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/range?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will return messages in sequence from a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB049 * cannot request to see more than 200 messages\": 400,</li>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","range"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"0ea03a12-212d-4fef-b3ce-714bf4cc6164"},{"name":"messages/send-animation","id":"469a3ecd-f966-4c21-b014-efb32f8583f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"gif\": \"filestorage\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-animation?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will send a gif as message to a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-animation"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"469a3ecd-f966-4c21-b014-efb32f8583f8"},{"name":"messages/send-file","id":"a39134df-3764-404f-9495-8b1433d23c35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"document_uuid\": \"uuid (optional)\", \n  \"file\": \"filestorage (optional)\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\", \n  \"thumbnail\": \"b64_jpg (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-file?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sends a file as a message attachment to a chat. Either the document_uuid or the file must be provided, but not both. Use the former to post with a pre-uploaded file or the latter to upload a new one. Optionally provide a custom thumbnail. If provided, this must be a B64-encoded JPEG.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB060 * expecting document_uuid of file (but not both)\": 400,</li>\n<li>\"RF030 * document does not exist or is not accessible\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-file"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"a39134df-3764-404f-9495-8b1433d23c35"},{"name":"messages/send-image","id":"77b2f1df-0dbd-40f2-b9a4-308ae1094d99","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"document_uuid\": \"uuid (optional)\", \n  \"image\": \"filestorage (optional)\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-image?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sends an image as a message to a chat. Either document_uuid or image must be provided, but not both. Use the former to post with a pre-uploaded image or the latter to upload a new one. Only JPG and PNG image types allowed, with max size of 1MB.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB060 * expecting document_uuid of file (but not both)\": 400,</li>\n<li>\"RB177 * image too big\": 400,</li>\n<li>\"RF030 * document does not exist or is not accessible\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-image"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"77b2f1df-0dbd-40f2-b9a4-308ae1094d99"},{"name":"messages/send-text","id":"4fdb49cf-230b-462d-bcf9-9029699bdb23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\", \n  \"text\": \"string(min=1, max=5000)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-text?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sends a text-based message to a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-text"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"4fdb49cf-230b-462d-bcf9-9029699bdb23"},{"name":"biometrics-requests/create","id":"1020ccdd-55d6-4b5d-b83d-74424b7f55c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=250)\",\n  \"chat_uuid\": \"uuid\",\n  \"signer_entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/biometrics-requests/create?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API creates a biometric approval request for a specific user within a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","biometrics-requests","create"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"1020ccdd-55d6-4b5d-b83d-74424b7f55c1"},{"name":"signature-requests/create","id":"75e0ae4b-0750-4165-98c0-f1491b270254","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=250) (optional)\",\n  \"chat_uuid\": \"uuid\",\n  \"include_requester_signature\": \"boolean() (optional)\",\n  \"pdf\": \"filestorage\",\n  \"signer_entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/signature-requests/create?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API creates a signature request within a specific chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","signature-requests","create"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"75e0ae4b-0750-4165-98c0-f1491b270254"},{"name":"notify","id":"b722c35a-1ed4-4202-9d2d-ae929332ea4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"notify\": \"boolean()\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/notify?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API sets, depending on the boolean entry, whether or not a chat gives notifications.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF050 * cannot get chat when chat membership is not visible\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RF998 * cannot get invisible chat\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","notify"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"b722c35a-1ed4-4202-9d2d-ae929332ea4b"},{"name":"remove","id":"989dda88-a11c-4fd4-a3a5-829a9bffd452","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"entity_user_xref_uuid\": \"uuid\", \n  \"visible\": \"boolean()\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/remove?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will remove a user from a chat</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","remove"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"989dda88-a11c-4fd4-a3a5-829a9bffd452"},{"name":"rename","id":"17b0733d-ad76-4ec3-9ffc-f24fe4a69dcc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"title\": \"string\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/rename?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will rename a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RU001 * auth key invalid or incompatible with secret\": 401</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","rename"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"17b0733d-ad76-4ec3-9ffc-f24fe4a69dcc"}],"id":"a5b75443-c0c5-4e6e-9785-d796572bd9c9","_postman_id":"a5b75443-c0c5-4e6e-9785-d796572bd9c9","description":""},{"name":"contacts","item":[{"name":"contacts","id":"0440c4a4-66f1-4f18-b5a2-6f2be53961dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"string(min=1,max=500) (optional)\", \n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/contacts?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will lookup a user by email or identifier or uuid.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","contacts"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"0440c4a4-66f1-4f18-b5a2-6f2be53961dd"},{"name":"avatar","id":"220bdba8-590b-43a2-8d06-fd6f62e41497","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"string(min=1,max=500) (optional)\", \n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\", \n  \"size\": \"string (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/contacts/avatar?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will lookup and retrieve contact avatar by uuid or identifier or email.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","contacts","avatar"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"220bdba8-590b-43a2-8d06-fd6f62e41497"},{"name":"list","id":"edda57a8-3225-46f8-a656-4c8354af6d81","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"contact_type\": \"integer(min=0, max=4)\", \n  \"page\": \"integer(min=1) (optional)\", \n  \"per_page\": \"integer(min=1, max=200) (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/contacts/list?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will get a list of contacts;</p>\n<p>contact_type: 0: client+staff (this is to get the default list), 1: staff (this is useless) 2: client 3: directory 4: everyone (if requester==client = client+staff, if requester==staff, client+staff+directory) cursor_dt is only present in response in page 1</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","contacts","list"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"edda57a8-3225-46f8-a656-4c8354af6d81"},{"name":"entity-memberships","id":"561fb9a0-9a79-4500-8b10-e8534466216f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-MASTER-USER-API-KEY-SECRET","value":"{{X-MASTER-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-MASTER-USER-API-KEY","value":"{{X-MASTER-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"string(min=1,max=500) (optional)\", \n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/entity-memberships?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will get a user's membership information.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB035 * cannot perform action on this type of profile id\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF115 * only accessible by master keys, not user keys\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","entity-memberships"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"561fb9a0-9a79-4500-8b10-e8534466216f"}],"id":"d262d69f-e86b-409c-a488-4094f2067226","_postman_id":"d262d69f-e86b-409c-a488-4094f2067226","description":""}],"id":"90becc90-0a36-4e57-9383-b66c031b2b88","description":"<p><strong>Qwil Messenger</strong> offers 23 <strong>Master APIs</strong> enabling <strong>Enterprise</strong> customers to perform chat and contact functions ranging from sending a simple message on someone's behalf to getting your contact list. Actions performed by APIs follow the same rules as conventionally using <strong>Qwil</strong>, but allow greater freedom for automation and integration.</p>\n<p>This documentation will help you develop programmes to automate your organisations messaging using the following API calls.</p>\n<p>You will need to provide certain <strong>permissions</strong> for your keys to perform certain functions. These are outlined with each endpoint. The options are:</p>\n<ul>\n<li><em>This key can perform read-only chat actions</em></li>\n<li><em>This key can perform write-only chat actions</em></li>\n<li><em>This key can export data</em></li>\n<li><em>This key can perform read-only contact actions</em></li>\n</ul>\n<p>To read more about this and learn how to set up and maintain your Master API keys, <a href=\"https://support.qwil.io/hc/en-us/articles/360010208298\">click here.</a></p>\n","_postman_id":"90becc90-0a36-4e57-9383-b66c031b2b88"},{"name":"User APIs","item":[{"name":"chats","item":[{"name":"chats","id":"257268b6-2cfa-4f54-9b1a-2327f8f15b12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API retrieves a user's chat and its membership details.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB557 * user key cannot act on behalf of restricted user\": 400,</li>\n<li>\"RB558 * master key target not provided\": 400,</li>\n<li>\"RB884 * on-behalf-of must be a uuid\": 400,</li>\n<li>\"RF024 * euxu not active\": 403,</li>\n<li>\"RF026 * staff with web device not in ip range\": 403,</li>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF478 * user keys support disabled in this entity\": 403,</li>\n<li>\"RF479 * master key targeting user of other entity\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RF844 * api key ip address is not valid\": 403,</li>\n<li>\"RF900 * entity is inactive\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404,</li>\n<li>\"RR001 * rate limiting at 3\": 429,</li>\n<li>\"RR001 * rate limiting at 5\": 429,</li>\n<li>\"RU001 * auth key invalid or incompatible with secret\": 401,</li>\n<li>\"RU002 * auth key not active\": 401,</li>\n<li>\"RU003 * auth key not provided\": 401</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"257268b6-2cfa-4f54-9b1a-2327f8f15b12"},{"name":"archive","id":"c6c4ad10-7aea-4946-933d-79f637e6cbaa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"archived\": \"boolean()\", \n  \"chat_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/archive?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will, depending on the boolean entry, archive or unarchive a chat the user's chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","archive"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"c6c4ad10-7aea-4946-933d-79f637e6cbaa"},{"name":"create","id":"42ed5903-96ce-44ec-96fa-3d87370fa4c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"entity_user_xref_uuids\": \"list_uuids\", \n  \"title\": \"string\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/create?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API creates a new chat with the given title and members.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB084 * cannot invite to chat if no one to invite\": 400,</li>\n<li>\"RF007 * entity_user_xref_uuids not allowed for contact\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","create"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"42ed5903-96ce-44ec-96fa-3d87370fa4c5"},{"name":"invite","id":"a237c06b-8b95-4fac-94dc-2715908a38d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"entity_user_xref_uuids\": \"list_uuids\"\n}\n"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/invite?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API invites other entity users in the user's contact groups to a specific chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF007 * entity_user_xref_uuids not allowed for contact\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","invite"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"a237c06b-8b95-4fac-94dc-2715908a38d2"},{"name":"leave","id":"fb238826-3c82-4a66-8c47-8777fff953be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\"\n}\n"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/leave?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API allows a user to leave a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB076 * cannot perform when chat is restricted\": 403,</li>\n<li>\"RF032 * chat_member_xref is not active\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","leave"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"fb238826-3c82-4a66-8c47-8777fff953be"},{"name":"messages/range","id":"2c785645-1525-4ff0-b5af-30552aa6f88c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"from_seq\": \"integer(min=0)\", \n  \"to_seq\": \"integer(min=0)\"\n}\n"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/range?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will return messages in sequence from a user's chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB049 * cannot request to see more than 200 messages\": 400,</li>\n<li>\"RF339 * feature flag value not allowed\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","range"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"2c785645-1525-4ff0-b5af-30552aa6f88c"},{"name":"messages/send-animation","id":"07d556ce-bf40-471c-8345-754ccc507cd9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"gif\": \"filestorage\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-animation?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will send a gif as message to a user's chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-animation"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"07d556ce-bf40-471c-8345-754ccc507cd9"},{"name":"messages/send-file","id":"4511ee4a-4069-40f4-a5a0-64cd416aec1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"document_uuid\": \"uuid (optional)\", \n  \"file\": \"filestorage (optional)\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\", \n  \"thumbnail\": \"b64_jpg (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-file?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API sends a file as a message attachment to a user's chat. Either the document_uuid or the file must be provided, but not both. Use the former to post with a pre-uploaded file or the latter to upload a new one. Optionally provide a custom thumbnail. If provided, this must be a B64-encoded JPEG.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB060 * expecting document_uuid of file (but not both)\": 400,</li>\n<li>\"RF030 * document does not exist or is not accessible\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-file"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"4511ee4a-4069-40f4-a5a0-64cd416aec1d"},{"name":"messages/send-image","id":"cb6571a1-8e2e-409f-8f46-e603966a9aad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=5000) (optional)\", \n  \"chat_uuid\": \"uuid\", \n  \"document_uuid\": \"uuid (optional)\", \n  \"image\": \"filestorage (optional)\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-image?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API sends an image as a message to a user's chat. Either document_uuid or image must be provided, but not both. Use the former to post with a pre-uploaded image or the latter to upload a new one. Only JPG and PNG image types allowed, with max size of 1MB.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB060 * expecting document_uuid of file (but not both)\": 400,</li>\n<li>\"RB177 * image too big\": 400,</li>\n<li>\"RF030 * document does not exist or is not accessible\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-image"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"cb6571a1-8e2e-409f-8f46-e603966a9aad"},{"name":"messages/send-text","id":"4d994097-16ed-4160-b7c8-c16849885493","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"reply_to_seq\": \"integer(min=0) (optional)\", \n  \"text\": \"string(min=1, max=5000)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/messages/send-text?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API sends a text-based message to a user's chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","messages","send-text"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"4d994097-16ed-4160-b7c8-c16849885493"},{"name":"biometrics-requests/create","id":"063d5fd9-db67-4752-93e5-7da539ce9a18","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=250)\",\n  \"chat_uuid\": \"uuid\",\n  \"signer_entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/biometrics-requests/create","description":"<p><strong>Description</strong>:</p>\n<p>This API creates a biometric approval request for a specific user within a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","biometrics-requests","create"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"063d5fd9-db67-4752-93e5-7da539ce9a18"},{"name":"messages/send-text Copy 2","id":"c8ccd8e2-8b01-4d2e-94fa-a507db7384d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"caption\": \"string(min=1, max=250) (optional)\",\n  \"chat_uuid\": \"uuid\",\n  \"include_requester_signature\": \"boolean() (optional)\",\n  \"pdf\": \"filestorage\",\n  \"signer_entity_user_xref_uuid\": \"uuid\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/signature-requests/create","description":"<p><strong>Description</strong>:</p>\n<p>This API creates a signature request within a specific chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","signature-requests","create"],"host":["{{environment}}","qwil","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"c8ccd8e2-8b01-4d2e-94fa-a507db7384d4"},{"name":"notify","id":"c65a8a5a-6c9e-4a4f-841d-d4b54b504c63","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"notify\": \"boolean()\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/notify?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API sets, depending on the boolean entry, whether or not a chat is muted for the user.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF050 * cannot get chat when chat membership is not visible\": 403,</li>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RF998 * cannot get invisible chat\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","notify"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"c65a8a5a-6c9e-4a4f-841d-d4b54b504c63"},{"name":"remove","id":"502109c2-5390-43b6-a7be-355438737d71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"entity_user_xref_uuid\": \"uuid\", \n  \"visible\": \"boolean()\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/remove?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will remove a user from a chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","remove"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"502109c2-5390-43b6-a7be-355438737d71"},{"name":"rename","id":"7ca6adad-ac8a-4077-9d18-79a190917e02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"chat_uuid\": \"uuid\", \n  \"title\": \"string\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/chats/rename?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will rename a user's chat.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform write-only chat actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF436 * chat_uuid does not exist OR entity_user_xref_uuid does not have access to it\": 403,</li>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RU001 * auth key invalid or incompatible with secret\": 401</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","chats","rename"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"7ca6adad-ac8a-4077-9d18-79a190917e02"}],"id":"763be9bb-612b-4b84-b40c-345808210265","_postman_id":"763be9bb-612b-4b84-b40c-345808210265","description":""},{"name":"contacts","item":[{"name":"contacts","id":"07c39369-7e74-4077-ac99-6adab054d7b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"string(min=1,max=500) (optional)\", \n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/contacts?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will lookup a user's contacts by email or identifier or uuid.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","contacts"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"07c39369-7e74-4077-ac99-6adab054d7b0"},{"name":"avatar","id":"e79997dd-aeaa-44b1-b073-cbb775e56181","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"string(min=1,max=500) (optional)\", \n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\", \n  \"size\": \"string (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/contacts/avatar?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will lookup and retrieve contact avatar by uuid or identifier or email.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","contacts","avatar"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"e79997dd-aeaa-44b1-b073-cbb775e56181"},{"name":"list","id":"31e8ddde-2492-4010-aed8-efc24f018ff8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"contact_type\": \"integer(min=0, max=4)\", \n  \"page\": \"integer(min=1) (optional)\", \n  \"per_page\": \"integer(min=1, max=200) (optional)\", \n  \"search\": \"string(min=1, max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/contacts/list?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This User API will get a list of user's contacts;</p>\n<p>contact_type: 0: client+staff (this is to get the default list), 1: staff (this is useless) 2: client 3: directory 4: everyone (if requester==client = client+staff, if requester==staff, client+staff+directory) cursor_dt is only present in response in page 1.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RF732 * user key does not have permission to perform this action\": 403,</li>\n<li>\"RN006 * entity_user_xref not found\": 404</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","contacts","list"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"31e8ddde-2492-4010-aed8-efc24f018ff8"},{"name":"entity-memberships","id":"a87c91cd-a5c2-4b88-a03e-d5238749a2bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-USER-API-KEY-SECRET","value":"{{X-USER-API-KEY-SECRET}}","type":"text"},{"key":"X-USER-API-KEY","value":"{{X-USER-API-KEY}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"string(min=1,max=500) (optional)\", \n  \"entity_user_xref_uuid\": \"uuid (optional)\", \n  \"identifier\": \"string(min=1,max=500) (optional)\"\n}"},"url":"https://{{environment}}.qwil.io/chat-service/api/entity-memberships?on-behalf-of={{entity_user_xref_uuid}}","description":"<p><strong>Description</strong>:</p>\n<p>This API will get a user's membership information.</p>\n<p><strong>Permissions</strong>:</p>\n<p><em>This key can perform read-only contact actions</em></p>\n<p><strong>Exceptions</strong>:</p>\n<ul>\n<li>\"RB035 * cannot perform action on this type of profile id\": 400,</li>\n<li>\"RF022 * requester cannot access data outside organisation\": 403,</li>\n<li>\"RF115 * only accessible by master keys, not user keys\": 403</li>\n</ul>\n","urlObject":{"protocol":"https","path":["chat-service","api","entity-memberships"],"host":["{{environment}}","qwil","io"],"query":[{"key":"on-behalf-of","value":"{{entity_user_xref_uuid}}"}],"variable":[]}},"response":[],"_postman_id":"a87c91cd-a5c2-4b88-a03e-d5238749a2bb"}],"id":"d09a1bb1-0e1e-499f-b1e8-ca5174d58bf7","_postman_id":"d09a1bb1-0e1e-499f-b1e8-ca5174d58bf7","description":""}],"id":"7baa78f6-33cf-4972-a1f5-0703ab331459","description":"<p><strong>Qwil Messenger</strong> offers 19 User APIs enabling <strong>Enterprise</strong> users to perform chat and contact functions ranging from sending a simple message to getting your contact list. Actions performed by APIs follow the same rules as conventionally using <strong>Qwil</strong>, but allow greater freedom for automation and integration.</p>\n<p>This documentation will help you develop programmes to automate your organisations messaging using the following API calls.</p>\n<p>You will need to provide certain <strong>permissions</strong> for your keys to perform certain functions. These are outlined with each endpoint. The options are:</p>\n<ul>\n<li><em>This key can perform read-only chat actions</em></li>\n<li><em>This key can perform write-only chat actions</em></li>\n<li><em>This key can export data</em></li>\n<li><em>This key can perform read-only contact actions</em></li>\n</ul>\n<p>To read more about this and learn how to set up and maintain your User API keys, <a href=\"https://support.qwil.io/hc/en-us/articles/360011284618\">click here.</a></p>\n","_postman_id":"7baa78f6-33cf-4972-a1f5-0703ab331459"}]}