{"info":{"_postman_id":"8822fde9-7c47-4d0a-8ba9-5163fdae4154","name":"Calendesk API v1","description":"<html><head></head><body><p>The Calendesk API is a comprehensive suite of HTTP endpoints designed to seamlessly integrate your app with Calendesk's scheduling features.</p>\n<p>To access the Calendesk API, a PRO Plan subscription on Calendesk is necessary. Upon subscription, you will be granted an API key.</p>\n<p>To authenticate with the Calendesk API, you'll need your Tenant's name - a unique identifier assigned to your account upon registration, and your API Key.</p>\n<p>To generate your API key and locate your Tenant Name, navigate to the <a href=\"https://admin.calendesk.com/en/panel/integrations/api\">Integrations / API</a> section in your Calendesk Admin Panel. Here, you'll find everything you need to kickstart your integration with Calendesk's scheduling capabilities.</p>\n<p>If you have any questions regarding the API, don't hesitate to contact us at <a href=\"https://mailto:support@calendesk.com\">support@calendesk.com</a>. We're here to help!</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"148493","collectionId":"8822fde9-7c47-4d0a-8ba9-5163fdae4154","publishedId":"UV5c9FSc","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"3b5cc0"},"publishDate":"2024-08-02T11:20:40.000Z"},"item":[{"name":"Admin API","item":[{"name":"Availability Schedule","item":[{"name":"Get All Availability Schedule","id":"0407bd94-20ec-40a2-a0b3-44bd62e501fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-API-Key","type":"text","value":"{{apiKey}}"}],"url":"https://api.calendesk.com/api/admin/availability-schedules?service_ids={{serviceID}}&employee_ids={{employeeID}}&query=Adam","urlObject":{"path":["api","admin","availability-schedules"],"host":["https://api.calendesk.com"],"query":[{"key":"service_ids","value":"{{serviceID}}"},{"key":"employee_ids","value":"{{employeeID}}"},{"key":"query","value":"Adam"}],"variable":[]}},"response":[],"_postman_id":"0407bd94-20ec-40a2-a0b3-44bd62e501fa"},{"name":"Get Availability Schedule","id":"cbe548d5-5c12-40ad-8fc4-581a5bce4842","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/admin/availability-schedules/2","urlObject":{"path":["api","admin","availability-schedules","2"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cbe548d5-5c12-40ad-8fc4-581a5bce4842"},{"name":"Create Availability Schedule","id":"250a9950-2b58-40ab-a54e-f30caee7ecd2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Test schedule Asia/Kuwait\",\n    \"time_zone\": \"Asia/Kuwait\",\n    \"rules\": [\n        {\n            \"type\": \"wday\",\n            \"wday\": \"monday\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"01:00\",\n                    \"end_time\": \"00:00\"\n                }\n            ],\n            \"service_ids\": [\n                1\n            ],\n            \"location_ids\": [\n                3\n            ]\n        },\n        {\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"07:00\",\n                    \"end_time\": \"10:00\"\n                },\n                {\n                    \"start_time\": \"11:00\",\n                    \"end_time\": \"15:00\"\n                }\n            ],\n            \"date\": \"2024-02-15\"\n        },\n        {\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"07:00\",\n                    \"end_time\": \"10:00\"\n                },\n                {\n                    \"start_time\": \"11:00\",\n                    \"end_time\": \"15:00\"\n                }\n            ],\n            \"date\": \"2024-02-16\"\n        },\n        {\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"07:00\",\n                    \"end_time\": \"10:00\"\n                },\n                {\n                    \"start_time\": \"11:00\",\n                    \"end_time\": \"15:00\"\n                }\n            ],\n            \"date\": \"2024-02-17\"\n        },\n        {\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"07:00\",\n                    \"end_time\": \"23:55\"\n                }\n            ],\n            \"date\": \"2024-02-29\"\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/availability-schedules","urlObject":{"path":["api","admin","availability-schedules"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"250a9950-2b58-40ab-a54e-f30caee7ecd2"},{"name":"Update Availability Schedule","id":"1fb4034d-99ab-4e3e-b6e7-e0ebc041b592","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-API-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Test schedule 3\",\n    \"time_zone\": \"UTC\",\n    \"rules\": [\n        {\n            \"date\": \"2024-01-22\",\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"01:00\",\n                    \"end_time\": \"03:00\"\n                },\n                {\n                    \"start_time\": \"23:00\",\n                    \"end_time\": \"23:59\"\n                }\n            ],\n            \"service_ids\": [\n                99\n            ],\n            \"location_ids\": [\n                3\n            ]\n        },\n        {\n            \"date\": \"2024-01-24\",\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"01:00\",\n                    \"end_time\": \"03:00\"\n                }\n            ]\n        },\n        {\n            \"date\": \"2024-01-25\",\n            \"type\": \"date\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"01:00\",\n                    \"end_time\": \"03:00\"\n                }\n            ],\n            \"service_ids\": [\n                99\n            ],\n            \"location_ids\": [\n                3\n            ]\n        },\n        {\n            \"type\": \"wday\",\n            \"wday\": \"monday\",\n            \"intervals\": [\n                {\n                    \"start_time\": \"01:00\",\n                    \"end_time\": \"03:00\"\n                },\n                {\n                    \"start_time\": \"00:00\",\n                    \"end_time\": \"01:00\"\n                }\n            ],\n            \"location_ids\": [\n                1\n            ]\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/availability-schedules/4","urlObject":{"path":["api","admin","availability-schedules","4"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1fb4034d-99ab-4e3e-b6e7-e0ebc041b592"},{"name":"Delete Availability Schedule","id":"cece66f8-02fd-410d-bb91-f01f5bc5678b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-API-Key","value":"{{apiKey}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/availability-schedules/2","urlObject":{"path":["api","admin","availability-schedules","2"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cece66f8-02fd-410d-bb91-f01f5bc5678b"}],"id":"d3f1523b-36ca-4d12-bb7b-8f37166f3936","_postman_id":"d3f1523b-36ca-4d12-bb7b-8f37166f3936","description":""},{"name":"Bookings","item":[{"name":"Booking Reminders","item":[{"name":"Booking Reminders","id":"9fff7aff-810b-4282-80f3-292c54a1c034","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/bookings/reminders","description":"<h3 id=\"get-urlapiadminbookingsreminders\">GET https://api.calendesk.com/api/admin/bookings/reminders</h3>\n<p>This endpoint retrieves a list of all booking reminders.</p>\n","urlObject":{"path":["api","admin","bookings","reminders"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9fff7aff-810b-4282-80f3-292c54a1c034"},{"name":"Create Booking Reminder","id":"fd5be4ed-1439-4eeb-bf80-25d15c61f306","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"notification_type\": 1,\n    \"time_before_booking\": 60,\n    \"recipient_type\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/bookings/reminders","description":"<h3 id=\"post-urlapiadminbookingsreminders\">POST https://api.calendesk.com/api/admin/bookings/reminders</h3>\n<p>This endpoint creates a new booking reminder with the specified details.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>notification_type</td>\n<td>integer</td>\n<td>The type of the notification (1 for Email, 2 for SMS, 3 for Push Notification).</td>\n</tr>\n<tr>\n<td>time_before_booking</td>\n<td>integer</td>\n<td>The time in minutes before the booking when the reminder should be sent.</td>\n</tr>\n<tr>\n<td>recipient_type</td>\n<td>integer</td>\n<td>The recipient type (1 for User, 2 for Employee).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"notification_type\": 1,\n    \"time_before_booking\": 60,\n    \"recipient_type\": 1\n}\n\n</code></pre>\n<h3 id=\"explanation\">Explanation:</h3>\n<ul>\n<li><p><strong>notification_type</strong>: This integer value specifies the type of notification to be sent. The possible values are:</p>\n<ul>\n<li><p><code>1</code>: Email</p>\n</li>\n<li><p><code>2</code>: SMS</p>\n</li>\n<li><p><code>3</code>: Push Notification</p>\n</li>\n</ul>\n</li>\n<li><p><strong>time_before_booking</strong>: This integer value specifies how many minutes before the booking the reminder should be sent. For example, a value of <code>60</code> means the reminder will be sent 60 minutes before the booking.</p>\n</li>\n<li><p><strong>recipient_type</strong>: This integer value specifies the recipient of the notification. The possible values are:</p>\n<ul>\n<li><p><code>1</code>: User</p>\n</li>\n<li><p><code>2</code>: Employee</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"example-successful-response\">Example Successful Response:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 123,\n    \"notification_type\": 1,\n    \"time_before_booking\": 60,\n    \"recipient_type\": 1,\n    \"created_at\": \"2024-07-19T12:34:56Z\",\n    \"updated_at\": \"2024-07-19T12:34:56Z\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","admin","bookings","reminders"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fd5be4ed-1439-4eeb-bf80-25d15c61f306"},{"name":"Delete Booking Reminder","id":"0706239e-a59d-49a6-a86a-63dcade272c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/bookings/reminders/{{bookingReminderId}}","description":"<h3 id=\"delete-urlapiadminbookingsremindersbookingreminderid\">DELETE https://api.calendesk.com/api/admin/bookings/reminders/{{bookingReminderId}}</h3>\n<p>This endpoint deletes a booking reminder identified by <code>bookingReminderId</code>. It does not require a body.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bookingReminderId</td>\n<td>integer</td>\n<td>The ID of the booking reminder to be deleted.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Usage:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-plaintext\">DELETE https://api.calendesk.com/api/admin/bookings/reminders/123\n\n</code></pre>\n","urlObject":{"path":["api","admin","bookings","reminders","{{bookingReminderId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0706239e-a59d-49a6-a86a-63dcade272c1"}],"id":"b168cbf3-fde2-4248-8ae5-f2c9f33a8ea1","_postman_id":"b168cbf3-fde2-4248-8ae5-f2c9f33a8ea1","description":"","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"e92c2b3d-dba6-494e-89bc-0069dadd8bd4","id":"e92c2b3d-dba6-494e-89bc-0069dadd8bd4","name":"Bookings","type":"folder"}}},{"name":"Booking","id":"09f83413-99e5-44ca-9be3-4cf160026644","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/bookings/{{bookingID}}","description":"<p>This endpoint allows you to fetch a booking by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>bookingID</td>\n<td>required</td>\n<td>integer</td>\n<td>A booking's ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","bookings","{{bookingID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09f83413-99e5-44ca-9be3-4cf160026644"},{"name":"Bookings","id":"9c9c77cd-fae3-4ced-8a57-4656d15b0e32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/bookings/v2/?employee_ids=4,5&user_ids=32&service_ids=47,48&booking_date_from=2022-05-31&booking_date_to=2022-05-31&create_date_from=2022-06-03&create_date_to=2022-06-05","description":"<h1 id=\"fetch-bookings-api-documentation\">Fetch Bookings API Documentation</h1>\n<p>This endpoint allows you to fetch bookings. The response is paginated, and you can filter results using the provided parameters.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>GET https://api.calendesk.com/api/admin/bookings/v2/</code></p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>user_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of users separated by commas (e.g., <code>1,2,3</code>).</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td><code>tag_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of tags separated by commas (e.g., <code>1,2,3</code>).</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td><code>employee_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of employees separated by commas (e.g., <code>1,2,3</code>).</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td><code>service_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of services separated by commas (e.g., <code>1,2,3</code>).</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td><code>service_id</code></td>\n<td>integer</td>\n<td>ID of a single service.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td><code>service_type_id</code></td>\n<td>integer</td>\n<td>ID of a service type.</td>\n<td><code>GET https://api.calendesk.com/api/admin/service-types</code></td>\n</tr>\n<tr>\n<td><code>booking_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of bookings separated by commas (e.g., <code>100,101,102</code>).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>group_id</code></td>\n<td>string</td>\n<td>Filter by group ID (for recurring bookings).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>status_ids</code></td>\n<td>string, comma-separated</td>\n<td>Statuses of bookings.</td>\n<td><code>waiting</code> - waiting for approval  <br /><code>payment</code> - waiting for payment  <br /><code>approved</code> - approved by admin  <br /><code>cancelled</code> - cancelled by admin or user  <br /><code>done</code> - completed</td>\n</tr>\n<tr>\n<td><code>booking_date_from</code></td>\n<td>string, date (Y-m-d)</td>\n<td>Start date for filtering by booking date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td><code>booking_date_to</code></td>\n<td>string, date (Y-m-d)</td>\n<td>End date for filtering by booking date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td><code>create_date_from</code></td>\n<td>string, date (Y-m-d)</td>\n<td>Start date for filtering by creation date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td><code>create_date_to</code></td>\n<td>string, date (Y-m-d)</td>\n<td>End date for filtering by creation date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td><code>identity_number</code></td>\n<td>string</td>\n<td>Filter by user's identity number.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>Filter by user's email.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>string</td>\n<td>Search term to filter results that match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>order_by</code></td>\n<td>string</td>\n<td>Field to order results by.</td>\n<td><code>id</code>, <code>start_date_time</code>, <code>start_date</code></td>\n</tr>\n<tr>\n<td><code>ascending</code></td>\n<td>boolean</td>\n<td>Sort order direction.</td>\n<td><code>true</code> (ASC), <code>false</code> (DESC)</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>Maximum number of results per page.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>Page number for pagination.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request\">Example Request</h3>\n<p>GET https://api.calendesk.com/api/admin/bookings/v2/?employee_ids=4,5&amp;user_ids=32&amp;service_ids=47,48&amp;booking_ids=100,101&amp;booking_date_from=2022-05-31&amp;booking_date_to=2022-05-31&amp;create_date_from=2022-06-03&amp;create_date_to=2022-06-05&amp;group_id=abc123</p>\n","urlObject":{"path":["api","admin","bookings","v2",""],"host":["https://api.calendesk.com"],"query":[{"key":"employee_ids","value":"4,5"},{"key":"user_ids","value":"32"},{"key":"service_ids","value":"47,48"},{"key":"booking_date_from","value":"2022-05-31"},{"key":"booking_date_to","value":"2022-05-31"},{"key":"create_date_from","value":"2022-06-03"},{"key":"create_date_to","value":"2022-06-05"}],"variable":[]}},"response":[],"_postman_id":"9c9c77cd-fae3-4ced-8a57-4656d15b0e32"},{"name":"Group Booking","id":"1186a342-dcf0-4353-8eee-f299f5c389c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/bookings/group/{{multiSlotGroupId}}","description":"<p>This endpoint allows you to fetch bookings. The response will use pagination. You can filter your results using parameters.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>id</td>\n<td>integer</td>\n<td>Booking's ID.</td>\n<td><code>GET http://api.calendesk.local/api/admin/bookings/v2/</code></td>\n</tr>\n<tr>\n<td>user_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of users separated by commas (e.g. 1,2,3).</td>\n<td><code>GET http://api.calendesk.local/api/admin/users</code></td>\n</tr>\n<tr>\n<td>tag_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of tags separated by commas (e.g. 1,2,3).</td>\n<td><code>GET http://api.calendesk.local/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of employees separated by commas (e.g. 1,2,3).</td>\n<td><code>GET http://api.calendesk.local/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of services separated by commas (e.g. 1,2,3).</td>\n<td><code>GET http://api.calendesk.local/api/admin/services</code></td>\n</tr>\n<tr>\n<td>status_ids</td>\n<td>string, ids separated by commas</td>\n<td>Statuses (e.g. waiting,payment).</td>\n<td><code>waiting</code> - waiting for approvement  <br /><code>payment</code> - waiting for payment  <br /><code>approved</code> - approved by admin  <br /><code>cancelled</code> - cancelled by admin or user  <br /><code>done</code> - done</td>\n</tr>\n<tr>\n<td>from</td>\n<td>string, date, format Y-m-d,</td>\n<td>Date from.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>to</td>\n<td>string, date, format Y-m-d,</td>\n<td>Date to.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>limit</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","bookings","group","{{multiSlotGroupId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1186a342-dcf0-4353-8eee-f299f5c389c1"},{"name":"Create Booking","id":"d6a0af90-85db-402e-8ef8-863961fcac66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}"}],"body":{"mode":"raw","raw":"{\n    \"start_date\": \"2024-06-18\",\n    \"end_date\": \"2024-06-18\",\n    \"employee_id\": 4,\n    \"service_id\": 94,\n    \"start_time\": \"20:00\",\n    \"end_time\": \"20:15\",\n    \"user_id\": 1,\n    \"service_location_id\": 1,\n    \"recurrence_params\": \"RRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2\",\n    \"skip_notifications\": true,\n    \"custom_fields\": \"[{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Additional Information\\\"},{\\\"type\\\":6,\\\"label\\\":null,\\\"description\\\":\\\"<p>Address</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"123 Main Street, Apt 4B, New York, NY 10001, USA\\\"},{\\\"type\\\":0,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Sample text value\\\"},{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Larger Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"This is a longer text that spans multiple lines.\\\\nIt can contain paragraphs and more detailed information.\\\"},{\\\"type\\\":2,\\\"label\\\":null,\\\"description\\\":\\\"<p>Checkbox</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":true},{\\\"type\\\":3,\\\"label\\\":null,\\\"description\\\":\\\"<p>Radio Button</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"radioOptions\\\":[\\\"Option 1\\\",\\\"Option 2\\\",\\\"Option 3\\\"],\\\"value\\\":\\\"Option 2\\\"},{\\\"type\\\":4,\\\"label\\\":\\\"Please enter your email...\\\",\\\"description\\\":\\\"<p>Email Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"secondary@example.com\\\"},{\\\"type\\\":5,\\\"label\\\":\\\"Please enter your phone...\\\",\\\"description\\\":\\\"<p>Phone Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"+15551234567\\\"},{\\\"type\\\":7,\\\"label\\\":null,\\\"description\\\":\\\"<p>Attachments Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":[{\\\"2fa02152-beae-40f2-b688-df3216ab6b35\\\":\\\"medical_records.pdf\\\"}]}]\"\n}"},"url":"https://api.calendesk.com/api/admin/bookings","description":"<p>This endpoint allows you to create a booking (make an appointment).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of user.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of service.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service type. Only some services have types.  <br />Always check if selected service has a type (array types in response)</td>\n<td>Types in GET https://api.calendesk.com/api/{{tenant}}/services</td>\n</tr>\n<tr>\n<td>service_location_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service location.</td>\n<td>Service location ids in GET https://api.calendesk.com/api/{{tenant}}/services</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal today</td>\n<td>Appointment's start date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal start_date</td>\n<td>Appointment's end date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>required</td>\n<td>string, time, format H:i, after now</td>\n<td>Appointment's start hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>required</td>\n<td>string, time, format H:i, after now, after start_time</td>\n<td>Appointment's end hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>required_time</td>\n<td>optional</td>\n<td>integer, max: 1000</td>\n<td>The number of minutes user wants to use for an appointment.  <br />Some services have dynamic duration time some not.  <br />Check the <code>allow_dynamic_duration</code> property to see if the service allows setting dynamic time.  <br />If you don't send anything here, system will use the default duration time from service or its type.</td>\n<td></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of tags assigned to the booking.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n<tr>\n<td>custom_fields</td>\n<td>string</td>\n<td>No</td>\n<td>JSON string of custom form fields</td>\n<td>Valid JSON string (see below)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"custom-field-object-structure\">Custom Field Object Structure</h4>\n<p>Each custom field object in the array has the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Field type identifier (see Field Types table below)</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Display label for the field shown to the user</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>No</td>\n<td>Additional explanatory text for the field</td>\n</tr>\n<tr>\n<td><code>required</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether the field is mandatory</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>varies</td>\n<td>Yes</td>\n<td>The value provided by the user (type depends on field type)</td>\n</tr>\n<tr>\n<td><code>equal</code></td>\n<td>string</td>\n<td>No</td>\n<td>For validation - user input must equal this value</td>\n</tr>\n<tr>\n<td><code>radioOptions</code></td>\n<td>array</td>\n<td>No</td>\n<td>For RADIO type - array of available options as strings</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"field-types\">Field Types</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type Code</strong></th>\n<th><strong>Field Type</strong></th>\n<th><strong>Value Format</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>TEXT_FIELD</td>\n<td>String</td>\n<td>Single-line text input</td>\n</tr>\n<tr>\n<td>1</td>\n<td>TEXT_AREA</td>\n<td>String</td>\n<td>Multi-line text input</td>\n</tr>\n<tr>\n<td>2</td>\n<td>CHECKBOX</td>\n<td>Boolean</td>\n<td>Yes/No checkbox</td>\n</tr>\n<tr>\n<td>3</td>\n<td>RADIO</td>\n<td>String</td>\n<td>Single selection from multiple options</td>\n</tr>\n<tr>\n<td>4</td>\n<td>EMAIL</td>\n<td>String</td>\n<td>Email address with validation</td>\n</tr>\n<tr>\n<td>5</td>\n<td>PHONE</td>\n<td>String</td>\n<td>Phone number with country code</td>\n</tr>\n<tr>\n<td>6</td>\n<td>ADDRESS</td>\n<td>String</td>\n<td>Complete address information</td>\n</tr>\n<tr>\n<td>7</td>\n<td>FILES</td>\n<td>Array</td>\n<td>Array of uploaded file references</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"value-format-examples-by-type\">Value Format Examples by Type</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Additional Information\"\n    },\n    {\n      \"type\": 6,\n      \"label\": null,\n      \"description\": \"Address\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"123 Main Street, Apt 4B, New York, NY 10001, USA\"\n    },\n    {\n      \"type\": 0,\n      \"label\": \"Please type here...\",\n      \"description\": \"Text Field\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Sample text value\"\n    },\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Larger Text Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"This is a longer text that spans multiple lines.\\nIt can contain paragraphs and more detailed information.\"\n    },\n    {\n      \"type\": 2,\n      \"label\": null,\n      \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Checkbox&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": true\n    },\n    {\n      \"type\": 3,\n      \"label\": null,\n      \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Radio Button&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"radioOptions\": [\"Option 1\", \"Option 2\", \"Option 3\"],\n      \"value\": \"Option 2\"\n    },\n    {\n      \"type\": 4,\n      \"label\": \"Please enter your email...\",\n      \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Email Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"secondary@example.com\"\n    },\n    {\n      \"type\": 5,\n      \"label\": \"Please enter your phone...\",\n      \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Phone Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"+15551234567\"\n    },\n    {\n      \"type\": 7,\n      \"label\": null,\n      \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Attachments Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": [\n        {\"2fa02152-beae-40f2-b688-df3216ab6b35\": \"medical_records.pdf\"}\n      ]\n    }\n  ]\n\n</code></pre>\n<p>Important Notes:</p>\n<ul>\n<li><p>The entire array must be stringified when sent in the request</p>\n</li>\n<li><p>File uploads (type 7) require prior upload to the /files/sandbox/upload endpoint</p>\n</li>\n<li><p>The files are associated with the booking after creation</p>\n</li>\n<li><p>Empty or null values are allowed for non-required fields</p>\n</li>\n</ul>\n","urlObject":{"path":["api","admin","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d6a0af90-85db-402e-8ef8-863961fcac66"},{"name":"Update Booking","id":"371ccbe4-7bc3-4a3c-8d32-bb8332f6cdc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"tags\" : [3],\n\t\"employee_id\" : 2,\n\t\"user_id\" : 2,\n\t\"service_id\" : 1,\n\t\"start_date\": \"2020-07-01\",\n\t\"end_date\": \"2020-07-01\",\n\t\"start_time\" : \"12:05\",\n\t\"end_time\": \"13:55\"\n}"},"url":"https://api.calendesk.com/api/admin/bookings/{{bookingID}}","description":"<p>This endpoint allows you to update a booking.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>bookingID</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of booking.</td>\n<td><code>GET https://api.calendesk.com/api/admin/bookings</code></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of user.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of service.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service type. Only some services have types.  <br />Always check if selected service has a type (array types in response)</td>\n<td>Types in <code>GET https://api.calendesk.com/api/services</code></td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal today</td>\n<td>Appointment's start date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal start_date</td>\n<td>Appointment's end date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>required</td>\n<td>string, time, format H:i, after now</td>\n<td>Appointment's start hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>required</td>\n<td>string, time, format H:i, after now, after start_time</td>\n<td>Appointment's end hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>required_time</td>\n<td>optional</td>\n<td>integer, max: 1000</td>\n<td>The number of minutes user wants to use for an appointment.  <br />Some services have dynamic duration time some not.  <br />Check the <code>allow_dynamic_duration</code> property to see if the service allows setting dynamic time.  <br />If you don't send anything here, system will use the default duration time from service or its type.</td>\n<td></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of tags assigned to a booking.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of a booking</td>\n<td>payment, approved, cancelled, done</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","bookings","{{bookingID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"371ccbe4-7bc3-4a3c-8d32-bb8332f6cdc7"},{"name":"Delete Booking","id":"503a724e-6966-485e-aca1-8b2fd33c2cb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/bookings/{{bookingID}}","description":"<p>This endpoint allows you to delete a booking (If you want to cancel a booking, you can also change its status to cancelled, in both cases we send cancel notifications).</p>\n","urlObject":{"path":["api","admin","bookings","{{bookingID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"503a724e-6966-485e-aca1-8b2fd33c2cb8"},{"name":"Delete Multiple Bookings","id":"77bc712f-98b7-4a75-bfd8-cb0610329bd2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"booking_ids\": [\n        3051\n    ],\n    \"skip_notifications\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/bookings","description":"<h1 id=\"delete-multiple-bookings\">Delete Multiple Bookings</h1>\n<p>Delete multiple bookings in a single API call.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>DELETE https://api.calendesk.com/api/admin/bookings\n\n</code></pre><h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"booking_ids\": [\n        3051\n    ],\n    \"skip_notifications\": true\n}\n\n</code></pre>\n<h3 id=\"parameters\">Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>booking_ids</code></td>\n<td>array</td>\n<td>Yes</td>\n<td>Array of booking IDs to delete</td>\n</tr>\n<tr>\n<td><code>skip_notifications</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Skip sending cancellation notifications to customers (default: false)</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><p>Requires admin-level authentication</p>\n</li>\n<li><p>Bookings are permanently deleted and cannot be recovered</p>\n</li>\n<li><p>Payment refunds must be handled separately if applicable</p>\n</li>\n<li><p>Setting <code>skip_notifications: true</code> prevents automated cancellation emails</p>\n</li>\n</ul>\n","urlObject":{"path":["api","admin","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"77bc712f-98b7-4a75-bfd8-cb0610329bd2"},{"name":"Resend Booking Notifications","id":"0054de95-601b-434a-b15b-38b1c9046872","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"event\": 1\n}"},"url":"https://api.calendesk.com/api/admin/bookings/6317/notifications","description":"<h3 id=\"resend-booking-notifications\">Resend Booking Notifications</h3>\n<p>This endpoint allows you to resend notifications (email, SMS, push) for a specific booking event. It can be used to trigger notification dispatches for events such as booking creation, updates, or deletion.</p>\n<h4 id=\"http-request\">HTTP Request:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST https://api.calendesk.com/api/admin/bookings/{bookingID}/notifications\n\n</code></pre><h4 id=\"request-parameters\">Request Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td><code>string</code></td>\n<td>The base URL of your API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>bookingID</code></td>\n<td>required</td>\n<td><code>integer</code></td>\n<td>A valid ID of the booking.</td>\n<td>Must be retrieved from <code>GET https://api.calendesk.com/api/admin/bookings</code></td>\n</tr>\n<tr>\n<td><code>event</code></td>\n<td>required</td>\n<td><code>integer</code></td>\n<td>The type of booking event for which to resend notifications.</td>\n<td><code>1</code> = Created, <code>2</code> = Updated, <code>3</code> = Deleted</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-usage\">Example Usage:</h4>\n<h5 id=\"post-urlapiadminbookings123notifications\"><code>POST https://api.calendesk.com/api/admin/bookings/123/notifications</code></h5>\n<h5 id=\"body\">Body:</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"event\": 1\n}\n\n</code></pre>\n<h4 id=\"response\">Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">HTTP/1.1 200 No Content\n\n</code></pre>\n<h4 id=\"error-response\">Error Response:</h4>\n<h5 id=\"422-unprocessable-entity-if-an-invalid-or-unsupported-event-type-is-provided-the-api-will-return-the-following-error\">422 Unprocessable Entity: If an invalid or unsupported event type is provided, the API will return the following error:</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"error\": \"Invalid event type. Accepted values are: created, updated, deleted.\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","admin","bookings","6317","notifications"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0054de95-601b-434a-b15b-38b1c9046872"},{"name":"Bookings generate file","id":"0c757a35-61e0-432b-b24b-9aa06ee001f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"booking_ids\" : [\n        3017,\n        3016,\n        3015\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/bookings/generate/{{type}}","description":"<p>This endpoint allows you to generate file with selected bookings.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Type of the file you want to download</td>\n<td><code>xlsx</code>, <code>xls</code>, <code>ods</code>, <code>csv</code>, <code>html</code></td>\n</tr>\n<tr>\n<td>booking_ids</td>\n<td>array</td>\n<td>Booking IDs</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","bookings","generate","{{type}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0c757a35-61e0-432b-b24b-9aa06ee001f2"}],"id":"e92c2b3d-dba6-494e-89bc-0069dadd8bd4","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"e6c00901-e34a-45e5-8971-1ae632aeaa3a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"880b4f40-ec9b-4feb-a786-043ba45a77fa","type":"text/javascript","exec":[""]}}],"_postman_id":"e92c2b3d-dba6-494e-89bc-0069dadd8bd4","description":""},{"name":"Bookings - Payment Transactions","item":[{"name":"Payment Transactions","id":"fc5470ce-e054-4dfe-8e4f-534bbefa5203","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/payments/bookings?user_id=8","description":"<h2 id=\"get-booking-payment-transactions\">Get Booking Payment Transactions</h2>\n<p><strong>Endpoint:</strong> <code>GET https://api.calendesk.com/api/admin/payments/bookings</code></p>\n<p><strong>Description</strong></p>\n<p>This endpoint retrieves booking payment transactions with pagination. The results can be filtered using various parameters.</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>Filter transactions by user ID</td>\n<td>Existing user ID</td>\n</tr>\n<tr>\n<td><code>booking_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>Filter transactions by booking ID</td>\n<td>Existing booking ID</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>Maximum number of results per page</td>\n<td>Positive integer</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>Page number for pagination</td>\n<td>Positive integer</td>\n</tr>\n<tr>\n<td><code>ascending</code></td>\n<td>optional</td>\n<td>boolean</td>\n<td>Sort results in ascending order</td>\n<td><code>0</code>, <code>1</code> (default: <code>0</code>)</td>\n</tr>\n<tr>\n<td><code>order_by</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Column to order results by</td>\n<td><code>id</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request\">Example Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.calendesk.com/api/admin/payments/bookings?user_id=8&amp;limit=10&amp;page=1&amp;order_by=id&amp;ascending=1\n\n</code></pre><h3 id=\"success-response\">Success Response</h3>\n<p><strong>Code:</strong> <code>200 OK</code></p>\n<p><strong>Content Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"current_page\": 1,\n    \"data\": [\n        {\n            \"id\": 633,\n            \"provider_tag\": \"cash\",\n            \"transaction_id\": null,\n            \"fakturownia_invoice_id\": null,\n            \"promo_code\": null,\n            \"invoice_number\": null,\n            \"status\": \"paid\",\n            \"paid_at\": \"2025-04-11T10:36:00+00:00\",\n            \"price\": 10000,\n            \"booking\": {\n                \"id\": 9254,\n                \"user_id\": 19,\n                \"employee_id\": 4,\n                \"service_id\": 146,\n                \"service_type_id\": null,\n                \"start_date\": \"2025-04-18\",\n                \"end_date\": \"2025-04-18\",\n                \"start_time\": \"16:00\",\n                \"end_time\": \"17:00\",\n                \"starts_at\": \"2025-04-18T14:00:00+00:00\",\n                \"ends_at\": \"2025-04-18T15:00:00+00:00\",\n                \"customer_time_zone\": null,\n                \"group_id\": null,\n                \"multi_slot_group_id\": null,\n                \"recurrence_params\": null,\n                \"status\": \"approved\",\n                \"control\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n                \"custom_fields\": null,\n                \"paid\": true,\n                \"payment_method\": \"cash\",\n                \"payment_transaction\": {\n                    \"id\": 633,\n                    \"provider_tag\": \"cash\",\n                    \"transaction_id\": null,\n                    \"fakturownia_invoice_id\": null,\n                    \"promo_code\": null,\n                    \"invoice_number\": null,\n                    \"status\": \"paid\",\n                    \"paid_at\": \"2025-04-11T10:36:00+00:00\",\n                    \"price\": 10000\n                },\n                \"paid_with_user_subscription_id\": null,\n                \"service\": {\n                    \"id\": 146,\n                    \"category_id\": 37,\n                    \"name\": \"Online Consultation\",\n                    \"description\": null,\n                    \"upselling_description\": null,\n                    \"booking_time_before\": 0,\n                    \"max_booking_time\": 0,\n                    \"cancel_time_before\": 0,\n                    \"change_time_before\": 0,\n                    \"max_people\": 1,\n                    \"tax\": null,\n                    \"wants_invoice\": false,\n                    \"only_subscriptions\": false,\n                    \"duration\": 60,\n                    \"slots_every\": 60,\n                    \"break_time_before\": 0,\n                    \"break_time_after\": 0,\n                    \"price\": 10000,\n                    \"allow_dynamic_duration\": false,\n                    \"allow_online_payment\": true,\n                    \"awaiting_booking_payment_time\": 30,\n                    \"payment_required\": true,\n                    \"payment_required_recurring_bookings\": true,\n                    \"status\": \"active\",\n                    \"order_position\": \"1048560\",\n                    \"default_booking_status\": \"approved\",\n                    \"default_image\": null,\n                    \"category\": {\n                        \"id\": 37,\n                        \"name\": \"Consultations\",\n                        \"status\": \"active\",\n                        \"order_position\": \"65535\"\n                    },\n                    \"employees\": [\n                        {\n                            \"id\": 47,\n                            \"title\": null,\n                            \"description\": null,\n                            \"facebook\": null,\n                            \"instagram\": null,\n                            \"youtube\": null,\n                            \"twitter\": null,\n                            \"user\": {\n                                \"id\": 766,\n                                \"name\": \"Jane\",\n                                \"surname\": \"Doe\",\n                                \"status\": \"active\",\n                                \"default_image\": {\n                                    \"id\": 6302,\n                                    \"name\": \"/calendesk/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxxxx.jpg\",\n                                    \"user_image_id\": 1119\n                                }\n                            },\n                            \"services\": []\n                        },\n                        {\n                            \"id\": 4,\n                            \"title\": \"Consultant\",\n                            \"description\": \"Professional consultant with expertise in various fields\",\n                            \"facebook\": \"https://www.facebook.com/\",\n                            \"instagram\": \"https://www.instagram.com/\",\n                            \"youtube\": \"https://www.linkedin.com/\",\n                            \"twitter\": null,\n                            \"user\": {\n                                \"id\": 1,\n                                \"name\": \"John\",\n                                \"surname\": \"Smith\",\n                                \"status\": \"active\",\n                                \"default_image\": {\n                                    \"id\": 9345,\n                                    \"name\": \"/calendesk/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxxxx.jpg\",\n                                    \"user_image_id\": 1249\n                                }\n                            },\n                            \"services\": []\n                        }\n                    ],\n                    \"types\": [],\n                    \"locations\": [\n                        {\n                            \"id\": 577,\n                            \"type\": 3,\n                            \"data\": null,\n                            \"name\": null,\n                            \"location_id\": 3\n                        }\n                    ],\n                    \"durations_range\": {\n                        \"from\": 60,\n                        \"to\": 60\n                    },\n                    \"prices_range\": {\n                        \"from\": 10000,\n                        \"to\": 10000\n                    }\n                },\n                \"service_type\": null,\n                \"employee\": {\n                    \"id\": 4,\n                    \"title\": \"Consultant\",\n                    \"description\": \"Professional consultant with expertise in various fields\",\n                    \"facebook\": \"https://www.facebook.com/\",\n                    \"instagram\": \"https://www.instagram.com/\",\n                    \"youtube\": \"https://www.linkedin.com/\",\n                    \"twitter\": null,\n                    \"user\": {\n                        \"id\": 1,\n                        \"name\": \"John\",\n                        \"surname\": \"Smith\",\n                        \"status\": \"active\",\n                        \"default_image\": {\n                            \"id\": 9345,\n                            \"name\": \"/calendesk/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxxxxxxxxx.jpg\",\n                            \"user_image_id\": 1249\n                        }\n                    },\n                    \"services\": [\n                        {\n                            \"id\": 150,\n                            \"name\": \"Group Session\"\n                        },\n                        {\n                            \"id\": 146,\n                            \"name\": \"Online Consultation\"\n                        }\n                    ]\n                },\n                \"location\": {\n                    \"id\": 577,\n                    \"type\": 3,\n                    \"data\": null,\n                    \"name\": null,\n                    \"location_id\": 3\n                },\n                \"google_meet_url\": \"https://meet.google.com/xxx-xxxx-xxx\",\n                \"zoom_join_url\": null,\n                \"teams_url\": null,\n                \"skype_url\": null,\n                \"customer_whatsapp_url\": null,\n                \"employee_whatsapp_url\": null,\n                \"simple_store_products\": []\n            }\n        }\n    ],\n    \"first_page_url\": \"https://api.calendesk.com/api/admin/payments/bookings?page=1&amp;limit=50\",\n    \"from\": 1,\n    \"last_page\": 1,\n    \"last_page_url\": \"https://api.calendesk.com/api/admin/payments/bookings?page=1&amp;limit=50\",\n    \"links\": [\n        {\n            \"url\": null,\n            \"label\": \"« Previous\",\n            \"active\": false\n        },\n        {\n            \"url\": \"https://api.calendesk.com/api/admin/payments/bookings?page=1&amp;limit=50\",\n            \"label\": \"1\",\n            \"active\": true\n        },\n        {\n            \"url\": null,\n            \"label\": \"Next »\",\n            \"active\": false\n        }\n    ],\n    \"next_page_url\": null,\n    \"path\": \"https://api.calendesk.com/api/admin/payments/bookings\",\n    \"per_page\": 50,\n    \"prev_page_url\": null,\n    \"to\": 1,\n    \"total\": 1\n}\n\n</code></pre>\n<h3 id=\"response-structure\">Response Structure</h3>\n<p>The response is paginated and includes:</p>\n<h4 id=\"pagination-information\">Pagination Information</h4>\n<ul>\n<li><p><code>current_page</code>: Current page number</p>\n</li>\n<li><p><code>first_page_url</code>: URL for the first page</p>\n</li>\n<li><p><code>from</code>: Starting record index on current page</p>\n</li>\n<li><p><code>last_page</code>: Last page number</p>\n</li>\n<li><p><code>last_page_url</code>: URL for the last page</p>\n</li>\n<li><p><code>links</code>: Array of pagination links</p>\n</li>\n<li><p><code>next_page_url</code>: URL for the next page (null if on last page)</p>\n</li>\n<li><p><code>path</code>: Base path for API endpoint</p>\n</li>\n<li><p><code>per_page</code>: Number of records per page</p>\n</li>\n<li><p><code>prev_page_url</code>: URL for the previous page (null if on first page)</p>\n</li>\n<li><p><code>to</code>: Ending record index on current page</p>\n</li>\n<li><p><code>total</code>: Total number of records</p>\n</li>\n</ul>\n<h4 id=\"payment-transaction-data\">Payment Transaction Data</h4>\n<p>Each item in the <code>data</code> array includes:</p>\n<ul>\n<li><p><code>id</code>: Transaction ID</p>\n</li>\n<li><p><code>provider_tag</code>: Payment provider identifier</p>\n</li>\n<li><p><code>transaction_id</code>: External transaction ID</p>\n</li>\n<li><p><code>fakturownia_invoice_id</code>: Invoice ID in the Fakturownia system</p>\n</li>\n<li><p><code>promo_code</code>: Applied promotion code</p>\n</li>\n<li><p><code>invoice_number</code>: Invoice number</p>\n</li>\n<li><p><code>status</code>: Payment status</p>\n</li>\n<li><p><code>paid_at</code>: Payment timestamp (ISO 8601 format)</p>\n</li>\n<li><p><code>price</code>: Payment amount in smallest currency unit</p>\n</li>\n<li><p><code>booking</code>: Related booking information</p>\n</li>\n</ul>\n","urlObject":{"path":["api","admin","payments","bookings"],"host":["https://api.calendesk.com"],"query":[{"key":"user_id","value":"8"}],"variable":[]}},"response":[],"_postman_id":"fc5470ce-e054-4dfe-8e4f-534bbefa5203"},{"name":"Create Payment Transaction","id":"7dfec666-60a2-401b-b06e-a5da70ccf201","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"payment_method\" : \"cash\",\n    \"transaction_id\": \"Test\",\n    \"booking_id\": 4395,\n    \"amount\": 20000,\n    \"status\": \"approved\",\n    \"is_paid\": true\n}"},"url":"https://api.calendesk.com/api/admin/payments/bookings","description":"<h2 id=\"create-booking-payment-transaction\">Create Booking Payment Transaction</h2>\n<p><strong>Endpoint:</strong> <code>POST https://api.calendesk.com/api/admin/payments/bookings</code></p>\n<p><strong>Description</strong></p>\n<p>This endpoint allows administrators to create payment transactions for bookings. It handles payment processing, status updates, and can generate invoices if configured.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>booking_id</code></td>\n<td>required</td>\n<td>integer</td>\n<td>ID of the booking to process payment for</td>\n<td>Existing booking ID</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>required*</td>\n<td>string</td>\n<td>Method of payment used</td>\n<td><code>stripe</code>, <code>card</code>, <code>cash</code>, <code>transfer</code>, <code>other</code>, <code>subscription</code></td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>required*</td>\n<td>integer</td>\n<td>Payment amount in smallest currency unit (e.g., cents)</td>\n<td>Integer value</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>required*</td>\n<td>string</td>\n<td>Status to set for the booking</td>\n<td><code>waiting</code>, <code>payment</code>, <code>approved</code>, <code>cancelled</code>, <code>done</code></td>\n</tr>\n<tr>\n<td><code>is_paid</code></td>\n<td>required*</td>\n<td>boolean</td>\n<td>Whether the booking should be marked as paid</td>\n<td><code>true</code>, <code>false</code></td>\n</tr>\n<tr>\n<td><code>transaction_id</code></td>\n<td>optional</td>\n<td>string</td>\n<td>External transaction identifier</td>\n<td>String (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>user_subscription_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>ID of user subscription to use for payment</td>\n<td>Existing user subscription ID</td>\n</tr>\n<tr>\n<td><code>simple_store_product_ids</code></td>\n<td>optional</td>\n<td>array</td>\n<td>List of product IDs to process with this payment</td>\n<td>Array of existing product IDs</td>\n</tr>\n</tbody>\n</table>\n</div><p>* Required when not using <code>user_subscription_id</code></p>\n<h3 id=\"example-request\">Example Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"booking_id\": 4395,\n  \"payment_method\": \"cash\",\n  \"transaction_id\": \"Test\",\n  \"amount\": 20000,\n  \"status\": \"approved\",\n  \"is_paid\": true\n}\n\n</code></pre>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Code:</strong> <code>201 Created</code></p>\n<p><strong>Content:</strong> Payment transaction resource object</p>\n<h3 id=\"error-responses\">Error Responses</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status Code</strong></th>\n<th><strong>Error Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>404</td>\n<td>NOT_FOUND</td>\n<td>Booking not found</td>\n</tr>\n<tr>\n<td>403</td>\n<td>REQUIRED_PERMISSION</td>\n<td>User does not have permission to process payment</td>\n</tr>\n<tr>\n<td>400</td>\n<td>USER_IS_REQUIRED</td>\n<td>Booking has no associated user</td>\n</tr>\n<tr>\n<td>400</td>\n<td>ACTIVE_SUBSCRIPTION_MISSING</td>\n<td>The specified subscription cannot be used</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"valid-payment-methods\">Valid Payment Methods</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>stripe       // Stripe payment processor\ncard         // Credit/debit card\ncash         // Cash payment\ntransfer     // Bank transfer\nother        // Other payment methods\nsubscription // Subscription-based payment\n\n</code></pre><h3 id=\"valid-booking-statuses\">Valid Booking Statuses</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>waiting      // Booking is waiting for confirmation\npayment      // Booking requires payment\napproved     // Booking has been approved\ncancelled    // Booking has been cancelled\ndone         // Booking has been completed\n\n</code></pre><h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>When successful, the endpoint will:</p>\n</li>\n<li><p>Create or update a payment transaction</p>\n</li>\n<li><p>Update the booking status</p>\n</li>\n<li><p>Process associated simple store products if provided</p>\n</li>\n<li><p>Generate invoices if configured</p>\n</li>\n</ul>\n","urlObject":{"path":["api","admin","payments","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7dfec666-60a2-401b-b06e-a5da70ccf201"},{"name":"Delete Payment Transaction","id":"eeb10892-1cef-412c-9bb1-6492128d8cf3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/payments/bookings/218","description":"<p>This endpoint allows you to fetch booking payment transactions. The response will use pagination. You can filter your results using parameters.</p>\n","urlObject":{"path":["api","admin","payments","bookings","218"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"eeb10892-1cef-412c-9bb1-6492128d8cf3"}],"id":"f12dedd1-f6b8-4373-875f-1ff216ac9853","event":[{"listen":"prerequest","script":{"id":"30f943a9-e199-4445-894a-7252cd241bc5","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1fbbf266-cb63-4891-8bf3-e35aca3038cf","type":"text/javascript","exec":[""]}}],"_postman_id":"f12dedd1-f6b8-4373-875f-1ff216ac9853","description":""},{"name":"Categories","item":[{"name":"Category","id":"551f0afd-9347-40a6-b1c4-1c34caf7096e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/categories/{{categoryID}}","description":"<p>This endpoint allows you to fetch a category by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>categoryID</td>\n<td>required</td>\n<td>integer</td>\n<td>A categories ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","categories","{{categoryID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"551f0afd-9347-40a6-b1c4-1c34caf7096e"},{"name":"Categories","id":"0b9c70da-2521-4a09-ab46-63a6f555b969","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/categories","description":"<p>This endpoint allows you to fetch categories. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","categories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0b9c70da-2521-4a09-ab46-63a6f555b969"},{"name":"Categories With Services","id":"3afc2a4e-4aa9-4418-953d-82cce430ee25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/v2/categories/services","description":"<p>This endpoint allows you to fetch all categories with all services. You can filter the response with the <code>query</code> and <code>status</code> parameters.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","v2","categories","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3afc2a4e-4aa9-4418-953d-82cce430ee25"},{"name":"Create Category","id":"aca9c281-c5fb-41aa-ad29-ca7d4e70912f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Best products\",\n\t\"status\" : \"active\",\n\t\"order_position\" : 13,\n\t\"default_image_id\" : null\n}"},"url":"https://api.calendesk.com/api/admin/categories","description":"<p>This endpoint allows you to create a new category.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n<tr>\n<td>order_position</td>\n<td>optional</td>\n<td>numeric</td>\n<td>Order position.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","categories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"aca9c281-c5fb-41aa-ad29-ca7d4e70912f"},{"name":"Update Category","id":"69207496-9b0b-453a-8ef7-7131da868862","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"status\" : \"inactive\",\n\t\"order_position\" : 15000.875,\n\t\"default_image_id\" : 11\n}"},"url":"https://api.calendesk.com/api/admin/categories/{{categoryID}}","description":"<p>This endpoint allows you to update a category.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>categoryID</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of category.</td>\n<td><code>GET https://api.calendesk.com/api/admin/categories</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n<tr>\n<td>order_position</td>\n<td>optional</td>\n<td>numeric</td>\n<td>Order position.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","categories","{{categoryID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"69207496-9b0b-453a-8ef7-7131da868862"},{"name":"Upload Categorie's Picture","id":"08e23551-72c6-4212-a7f9-ef4cdd1c8917","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","value":null}]},"url":"https://api.calendesk.com/api/admin/categories/{{categoryID}}/upload/picture","description":"<p>This endpoint allows you to add a picture to category.<br />\nThis request will remove the old picture and will set the new one as a default.<br />\nRemember about setting <code>Conent-Type</code> to <code>application/x-www-form-urlencoded</code>.<br />\nThe default limit is <code>10240 KB</code>, the size will be limited to <code>600x600 px</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>categoryID</td>\n<td>required</td>\n<td>integer</td>\n<td>Category Id.</td>\n<td><code>GET https://api.calendesk.com/api/admin/categories</code></td>\n</tr>\n<tr>\n<td>image</td>\n<td>required</td>\n<td>file</td>\n<td>Image.</td>\n<td>10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","categories","{{categoryID}}","upload","picture"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"08e23551-72c6-4212-a7f9-ef4cdd1c8917"},{"name":"Delete Category","id":"0de2896c-cdee-4581-ac5a-bddc4c6ec32f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/categories/{{categoryID}}","description":"<p>This endpoint allows you to delete a category.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>categoryID</td>\n<td>required</td>\n<td>integer</td>\n<td>Category ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/categories</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","categories","{{categoryID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0de2896c-cdee-4581-ac5a-bddc4c6ec32f"}],"id":"d9783202-4ec8-4fe5-bf80-0d498a5c277b","event":[{"listen":"prerequest","script":{"id":"74a05c1c-204b-4e8b-a906-471d8fc2c43b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"459bcf17-78ef-4632-8ce7-9743d498dd82","type":"text/javascript","exec":[""]}}],"_postman_id":"d9783202-4ec8-4fe5-bf80-0d498a5c277b","description":""},{"name":"Company Working Hours","item":[{"name":"Company Working Hours","id":"56911b69-a517-4d22-9c1f-20c056a08787","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/company-working-hours","description":"<p>This endpoint allows you to fetch company working hours.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","company-working-hours"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"56911b69-a517-4d22-9c1f-20c056a08787"},{"name":"Update Company Working Hours","id":"bbac8f9c-3c01-4983-83eb-6852b6a286de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"days\": [\n        {\n            \"day\": \"monday\",\n            \"open\": \"08:00\",\n            \"close\": \"17:00\",\n            \"is_open\": true\n        },\n        {\n            \"day\": \"tuesday\",\n            \"open\": \"08:00\",\n            \"close\": \"17:00\",\n            \"is_open\": true\n        },\n        {\n            \"day\": \"wednesday\",\n            \"open\": \"08:00\",\n            \"close\": \"17:00\",\n            \"is_open\": true\n        },\n        {\n            \"day\": \"thursday\",\n            \"open\": \"08:00\",\n            \"close\": \"17:00\",\n            \"is_open\": true\n        },\n        {\n            \"day\": \"friday\",\n            \"open\": \"08:00\",\n            \"close\": \"20:00\",\n            \"is_open\": true\n        },\n        {\n            \"day\": \"saturday\",\n            \"open\": \"08:00\",\n            \"close\": \"17:00\",\n            \"is_open\": true\n        },\n        {\n            \"day\": \"sunday\",\n            \"is_open\": false\n        }\n    ]\n}"},"url":"https://api.calendesk.com/api/admin/company-working-hours","description":"<p>This endpoint allows you to update company working hours. This call will replace only days you are sending.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>days</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of days data.</td>\n<td>array</td>\n</tr>\n<tr>\n<td>days.day</td>\n<td>optional</td>\n<td>string, weekday</td>\n<td>Week day.</td>\n<td><code>monday</code><br /><code>tuesday</code><br /><code>wednesday</code><br /><code>thursday</code><br /><code>friday</code><br /><code>saturday</code><br /><code>sunday</code></td>\n</tr>\n<tr>\n<td>days.open</td>\n<td>optional</td>\n<td>string, time, format H:i</td>\n<td>Open time.</td>\n<td></td>\n</tr>\n<tr>\n<td>days.close</td>\n<td>optional</td>\n<td>string, time, format H:i, after now, after start_time</td>\n<td>Close time.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","company-working-hours"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bbac8f9c-3c01-4983-83eb-6852b6a286de"}],"id":"f252b2f7-a15a-4086-91fd-2edb63e6dde3","event":[{"listen":"prerequest","script":{"id":"4182b688-b483-49dc-9123-f7b53df073df","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d76d6002-c60a-4113-8590-42995784db40","type":"text/javascript","exec":[""]}}],"_postman_id":"f252b2f7-a15a-4086-91fd-2edb63e6dde3","description":""},{"name":"Domains","item":[{"name":"Get Available Domains","id":"e8076449-c9d3-4999-90d5-26dc10f2ab63","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/domains/available","urlObject":{"path":["api","admin","domains","available"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e8076449-c9d3-4999-90d5-26dc10f2ab63"},{"name":"Get Tenants Domains","id":"3080c347-5458-42e1-9229-9388703f0b53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"}],"url":"https://api.calendesk.com/api/admin/domains","urlObject":{"path":["api","admin","domains"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3080c347-5458-42e1-9229-9388703f0b53"},{"name":"Assign Domain to Tenant","id":"62043ee6-5277-48d8-8986-4c508b79bc20","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"domain\" : \"https://mycalendar.com\",\n    \"calendar_id\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/domains","urlObject":{"path":["api","admin","domains"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"62043ee6-5277-48d8-8986-4c508b79bc20"},{"name":"Update Tenants Domain","id":"bb9ba661-7bec-48f8-b4b4-45c82fd167e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"domain\" : \"https://mydomain.calendesk.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/domains/{{domainId}}","urlObject":{"path":["api","admin","domains","{{domainId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bb9ba661-7bec-48f8-b4b4-45c82fd167e5"},{"name":"Delete Tenants Domain","id":"3c13daea-56fd-469d-b5a0-c9c55f3f914a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"}],"url":"https://api.calendesk.com/api/admin/domains/1","urlObject":{"path":["api","admin","domains","1"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3c13daea-56fd-469d-b5a0-c9c55f3f914a"}],"id":"2e666a89-22fe-4b21-9d23-f038f16e6070","_postman_id":"2e666a89-22fe-4b21-9d23-f038f16e6070","description":""},{"name":"Employees","item":[{"name":"Employee","id":"f3ad32da-51c2-4795-8042-0d6bef95cbc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/employees/{{employeeID}}","description":"<p>This endpoint allows you to fetch an employee by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>employeeID</td>\n<td>required</td>\n<td>integer</td>\n<td>A employee's ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","employees","{{employeeID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f3ad32da-51c2-4795-8042-0d6bef95cbc7"},{"name":"Employees","id":"be5e4220-05e2-41a8-95d5-89e7b12d4fe7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/employees","description":"<p>This endpoint allows you to fetch employees. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","employees"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"be5e4220-05e2-41a8-95d5-89e7b12d4fe7"},{"name":"Create Employee","id":"62b212c2-90dc-4eda-8440-46440c74ee8b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Szymon\",\n    \"surname\": \"Zawodowiec\",\n    \"email\": \"szymon2@calendesk.com\",\n    \"password\": \"demo12345\",\n    \"generate_password\": true,\n    \"role_ids\": [\n        2\n    ],\n    \"status\": \"active\",\n    \"default_phone\": \"+48500111222\",\n    \"date_of_birth\": \"2019-01-03\",\n    \"date_of_names_day\": \"2019-01-02\",\n    \"gender\": \"male\",\n    \"identity_number\": \"1234\",\n    \"card_number\": \"123456666\",\n    \"tags\": [],\n    \"is_public\": true,\n    \"default_image_id\" : 11,\n    \"service_ids\": [\n        1,\n        2,\n        3,\n        4\n    ],\n    \"default_address\": {\n        \"street\": \"Zawodowiec Street\",\n        \"postal_code\": \"00-000\",\n        \"city\": \"Warszawa\",\n        \"country_iso_code\": \"pl\"\n    },\n    \"social_1\": \"https://facebook.com\",\n    \"social_2\": \"https://instagram.com\",\n    \"social_3\": \"https://pinterest.com\",\n    \"title\": \"Specjalista\",\n    \"color\": \"#69ba00\",\n    \"description\": \"Niezastąpiony i niezawodny w każdym calu. Szymon to urodzony specjalista!\",\n    \"days\": [\n        {\n            \"day\": \"monday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"18:00\"\n        },\n        {\n            \"day\": \"tuesday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"15:00\"\n        },\n        {\n            \"day\": \"wednesday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"23:00\"\n        },\n        {\n            \"day\": \"thursday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"22:00\"\n        },\n        {\n            \"day\": \"friday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"11:00\"\n        }\n    ]\n}"},"url":"https://api.calendesk.com/api/admin/employees","description":"<p>This endpoint allows you to create a new employee. The employee will be created with user's account as well. Each employee needs a user account which will be able to login to the user's panel (website for tenant's clients) and mobile app (mobile app for tenant's clients).\nThe same user can also receive permission to the admin's panel (admin panel for tenant's). <br />\nYou can give permissions to the user also in this request.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>permission_ids</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Permissions in admin's panel.</td>\n<td><code>GET https://api.calendesk.com/api/admin/permissions</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Roles in admin's panel.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n<tr>\n<td>color</td>\n<td>optional</td>\n<td>string, hex code of color</td>\n<td>The color which will be used in the employee's calendar.</td>\n<td>HEX color, for example <code>#ffffff</code></td>\n</tr>\n<tr>\n<td>facebook</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - Facebook.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>instagram</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - Intagram.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>youtube</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - YouTube.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 1000</td>\n<td>Public description of the employee. It will appear on the tenant's client website, mobile apps etc.</td>\n<td></td>\n</tr>\n<tr>\n<td>title</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Public title of the employee. It will appear on the tenant's client website, mobile apps etc.</td>\n<td></td>\n</tr>\n<tr>\n<td>services</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of services which will be assigned to employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>generate_password</td>\n<td>optional if <code>password</code> was sent, otherwise required</td>\n<td>accepted (1)</td>\n<td>Set <code>1</code> if you want to generate user's password.</td>\n<td>1</td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Surname.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the user. The <code>inactive</code> status means that the user won't be visible in public web pages or mobile apps, but it will be able to use the admin's panel anyway.</td>\n<td><code>active</code> - active user.<br /><code>inactive</code> - inactive user.</td>\n</tr>\n<tr>\n<td>is_public</td>\n<td>optional</td>\n<td>boolean (1 or 0)</td>\n<td>The employee will be public is set <code>1</code> (we will show him on website and in the mobile apps).</td>\n<td></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number.</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>optional</td>\n<td>string, min: 6, max: 255</td>\n<td>Password.</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender.</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>card_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Card number, it can be a membership's number.</td>\n<td></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of tags assigned to the user.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data.</td>\n<td>array</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 255</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street and its number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code.</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n<tr>\n<td>days</td>\n<td>required</td>\n<td>object</td>\n<td>Container of days data</td>\n<td>array</td>\n</tr>\n<tr>\n<td>days.day</td>\n<td>optional</td>\n<td>string, weekday</td>\n<td>Week day</td>\n<td><code>monday</code><br /><code>tuesday</code><br /><code>wednesday</code><br /><code>thursday</code><br /><code>friday</code><br /><code>saturday</code><br /><code>sunday</code></td>\n</tr>\n<tr>\n<td>days.start_time</td>\n<td>optional</td>\n<td>string, time, format H:i</td>\n<td>Start time</td>\n<td></td>\n</tr>\n<tr>\n<td>days.end_time</td>\n<td>optional</td>\n<td>string, time, format H:i, after now, after start_time</td>\n<td>End time</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","employees"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"62b212c2-90dc-4eda-8440-46440c74ee8b"},{"name":"Update Employee by Id","id":"74374e9f-dba4-4512-ad68-c916148023f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"default_image_id\": 12,\n    \"status\": \"active\",\n    \"gender\": \"male\",\n    \"description\": \"Andrzej jest świetnym managerem i niezastąpionym fryzjerem.\",\n    \"services\": [\n        1\n    ],\n    \"role_ids\": [\n        2\n    ]\n}"},"url":"https://api.calendesk.com/api/admin/employees/{{employeeID}}","description":"<p>This endpoint allows you to update an employee. This request will update its user's account as well.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>permission_ids</td>\n<td>optional</td>\n<td>array[\"string\"]</td>\n<td>Permissions in admin's panel.</td>\n<td><code>GET https://api.calendesk.com/api/admin/permissions</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Roles in admin's panel.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n<tr>\n<td>color</td>\n<td>optional</td>\n<td>string, hex code of color</td>\n<td>The color which will be used in the employee's calendar.</td>\n<td>HEX color, for example <code>#ffffff</code></td>\n</tr>\n<tr>\n<td>facebook</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - Facebook.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>instagram</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - Intagram.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>youtube</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - YouTube.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 1000</td>\n<td>Public description of the employee. It will appear on the tenant's client website, mobile apps etc.</td>\n<td></td>\n</tr>\n<tr>\n<td>title</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Public title of the employee. It will appear on the tenant's client website, mobile apps etc.</td>\n<td></td>\n</tr>\n<tr>\n<td>services</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of services which will be assigned to employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>generate_password</td>\n<td>optional</td>\n<td>accepted (1)</td>\n<td>Set <code>1</code> if you want to generate user's password.</td>\n<td>1</td>\n</tr>\n<tr>\n<td>name</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Surname.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the user. The <code>inactive</code> status means that the user won't be visible in public web pages or mobile apps, but it will be able to use the admin's panel anyway.</td>\n<td><code>active</code> - active user.  <br /><code>inactive</code> - inactive user.</td>\n</tr>\n<tr>\n<td>is_public</td>\n<td>optional</td>\n<td>boolean (1 or 0)</td>\n<td>The employee will be public is set <code>1</code> (we will show him on website and in the mobile apps).</td>\n<td></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number.</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>required</td>\n<td>string, min: 6, max: 255</td>\n<td>Password.</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender.</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>card_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Card number, it can be a membership's number.</td>\n<td></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of tags assigned to the user.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data.</td>\n<td>array</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 255</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street and its number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code.</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n<tr>\n<td>days</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of days data</td>\n<td>array</td>\n</tr>\n<tr>\n<td>days.day</td>\n<td>optional</td>\n<td>string, weekday</td>\n<td>Week day</td>\n<td><code>monday``tuesday``wednesday``thursday``friday``saturday``sunday</code></td>\n</tr>\n<tr>\n<td>days.start_time</td>\n<td>optional</td>\n<td>string, time, format H:i</td>\n<td>Start time</td>\n<td></td>\n</tr>\n<tr>\n<td>days.end_time</td>\n<td>optional</td>\n<td>string, time, format H:i, after now, after start_time</td>\n<td>End time</td>\n<td></td>\n</tr>\n<tr>\n<td>availability_schedule_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>ID grafiku dostępności przypisanego do pracownika.</td>\n<td><code>GET https://api.calendesk.com/api/admin/availability-schedules</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","employees","{{employeeID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"74374e9f-dba4-4512-ad68-c916148023f9"},{"name":"Update Employee (itself)","id":"0a5b2418-ec66-42ff-ba9f-116fc1a8fa96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"default_image_id\": 12,\n    \"status\": \"active\",\n    \"gender\": \"male\",\n    \"description\": \"Andrzej jest świetnym managerem i niezastąpionym fryzjerem.\",\n    \"services\": [\n        1\n    ],\n    \"role_ids\": [\n        2\n    ],\n    \"days\": [\n        {\n            \"day\": \"monday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"22:00\"\n        },\n        {\n            \"day\": \"tuesday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"22:00\"\n        },\n        {\n            \"day\": \"wednesday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"23:00\"\n        },\n        {\n            \"day\": \"thursday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"22:00\"\n        },\n        {\n            \"day\": \"friday\",\n            \"start_time\": \"07:00\",\n            \"end_time\": \"11:00\"\n        }\n    ]\n}"},"url":"https://api.calendesk.com/api/admin/employee","description":"<p>This endpoint allows you to update an employee. This request will update its user's account as well.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>permission_ids</td>\n<td>optional</td>\n<td>array[\"string\"]</td>\n<td>Permissions in admin's panel.</td>\n<td><code>GET https://api.calendesk.com/api/admin/permissions</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Roles in admin's panel.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n<tr>\n<td>color</td>\n<td>optional</td>\n<td>string, hex code of color</td>\n<td>The color which will be used in the employee's calendar.</td>\n<td>HEX color, for example <code>#ffffff</code></td>\n</tr>\n<tr>\n<td>facebook</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - Facebook.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>instagram</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - Intagram.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>youtube</td>\n<td>optional</td>\n<td>string, url, max: 255</td>\n<td>Public social page - YouTube.</td>\n<td>Valid URL</td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 1000</td>\n<td>Public description of the employee. It will appear on the tenant's client website, mobile apps etc.</td>\n<td></td>\n</tr>\n<tr>\n<td>title</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Public title of the employee. It will appear on the tenant's client website, mobile apps etc.</td>\n<td></td>\n</tr>\n<tr>\n<td>services</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of services which will be assigned to employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>generate_password</td>\n<td>optional</td>\n<td>accepted (1)</td>\n<td>Set <code>1</code> if you want to generate user's password.</td>\n<td>1</td>\n</tr>\n<tr>\n<td>name</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Surname.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the user. The <code>inactive</code> status means that the user won't be visible in public web pages or mobile apps, but it will be able to use the admin's panel anyway.</td>\n<td><code>active</code> - active user.<br /><code>inactive</code> - inactive user.</td>\n</tr>\n<tr>\n<td>is_public</td>\n<td>optional</td>\n<td>boolean (1 or 0)</td>\n<td>The employee will be public is set <code>1</code> (we will show him on website and in the mobile apps).</td>\n<td></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number.</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>required</td>\n<td>string, min: 6, max: 255</td>\n<td>Password.</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender.</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>card_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Card number, it can be a membership's number.</td>\n<td></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[\"integer\"]</td>\n<td>ID of tags assigned to the user.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data.</td>\n<td>array</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 255</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street and its number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code.</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n<tr>\n<td>days</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of days data</td>\n<td>array</td>\n</tr>\n<tr>\n<td>days.day</td>\n<td>optional</td>\n<td>string, weekday</td>\n<td>Week day</td>\n<td><code>monday</code><br /><code>tuesday</code><br /><code>wednesday</code><br /><code>thursday</code><br /><code>friday</code><br /><code>saturday</code><br /><code>sunday</code></td>\n</tr>\n<tr>\n<td>days.start_time</td>\n<td>optional</td>\n<td>string, time, format H:i</td>\n<td>Start time</td>\n<td></td>\n</tr>\n<tr>\n<td>days.end_time</td>\n<td>optional</td>\n<td>string, time, format H:i, after now, after start_time</td>\n<td>End time</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","employee"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a5b2418-ec66-42ff-ba9f-116fc1a8fa96"},{"name":"Delete Employee","id":"e0819d38-ae2b-464f-8c37-19ef2bcbcdd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/employees/{{employeeID}}","description":"<p>This endpoint allows you to delete a employee. This request won't remove its user's accunt.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>employeeID</td>\n<td>required</td>\n<td>integer</td>\n<td>Employee ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","employees","{{employeeID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0819d38-ae2b-464f-8c37-19ef2bcbcdd7"},{"name":"Delete Multiple Employees","id":"56f259f3-fa3b-4bda-bad8-bfca7e256cf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"employee_ids\" : [5]\n}"},"url":"https://api.calendesk.com/api/admin/employees","urlObject":{"path":["api","admin","employees"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"56f259f3-fa3b-4bda-bad8-bfca7e256cf9"},{"name":"Update Multiple Employees","id":"3c583600-9b56-42d2-b81c-f888248e06ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"employee_ids\": [\n\t\t7,6\n\t],\n\t\"fields\": {\n\t\t\"color\" : \"#ffffff\"\n\t}\n}"},"url":"https://api.calendesk.com/api/admin/employees","urlObject":{"path":["api","admin","employees"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3c583600-9b56-42d2-b81c-f888248e06ac"}],"id":"ac050feb-7eb9-4da0-8390-c3ef6ad37187","event":[{"listen":"prerequest","script":{"id":"ec2cc8c8-0c08-4ac5-85f7-4f5d15dd2f9b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d0ce4c31-630c-4474-862c-b6bcc235ec40","type":"text/javascript","exec":[""]}}],"_postman_id":"ac050feb-7eb9-4da0-8390-c3ef6ad37187","description":""},{"name":"Events","item":[{"name":"Events","event":[{"listen":"test","script":{"id":"7810f166-ab75-4676-9cdb-6d4ff7c548eb","exec":[""],"type":"text/javascript"}}],"id":"cb09e404-3ad6-4cf5-b131-929376d38bb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/events?order_by=starts_at&ascending=0&event_date_from=2023-01-01&event_date_to=2023-08-20&with=usr,tags,prods,emp","description":"<h1 id=\"get-all-events-api\">Get All Events API</h1>\n<p>This API endpoint allows you to get all the events including <strong>bookings</strong>, <strong>group bookings</strong>, and <strong>blackout dates</strong> (unavailable booking slots).</p>\n<p><strong>Endpoint</strong>: <code>GET /api/admin/events</code></p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>limit</td>\n<td>Integer</td>\n<td>Limits the number of results.</td>\n<td><code>10</code></td>\n<td>Any valid integer</td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>Boolean/Integer</td>\n<td>Sets the ordering of results. If 1 (true), results will be in ascending order.</td>\n<td><code>1</code></td>\n<td><code>1</code>, <code>0</code></td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>String</td>\n<td>Sets the field by which results should be ordered.</td>\n<td><code>\"starts_at\"</code></td>\n<td><code>\"starts_at\"</code>, <code>\"created_at\"</code></td>\n</tr>\n<tr>\n<td>page</td>\n<td>Integer</td>\n<td>Specifies the page of results to return. Required if <code>event_date_from</code> and <code>event_date_to</code> are not provided.</td>\n<td><code>2</code></td>\n<td>Any valid integer</td>\n</tr>\n<tr>\n<td>event_types</td>\n<td>String</td>\n<td>Filter by event type.</td>\n<td><code>\"booking,unavailable_booking_slot\"</code></td>\n<td><code>\"booking\"</code>, <code>\"unavailable_booking_slot\"</code>, <code>\"group_booking\"</code></td>\n</tr>\n<tr>\n<td>user_ids</td>\n<td>String</td>\n<td>Comma-separated user id(s).</td>\n<td><code>\"1,2,3\"</code></td>\n<td>Any valid user ids</td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>String</td>\n<td>Comma-separated employee id(s).</td>\n<td><code>\"1,2,3\"</code></td>\n<td>Any valid employee ids</td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>String</td>\n<td>Comma-separated service id(s).</td>\n<td><code>\"1,2,3\"</code></td>\n<td>Any valid service ids</td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>Integer</td>\n<td>Filter by a specific service id.</td>\n<td><code>1</code></td>\n<td>Any valid service id</td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>Integer</td>\n<td>Filter by a specific service type id.</td>\n<td><code>1</code></td>\n<td>Any valid service type id</td>\n</tr>\n<tr>\n<td>tag_ids</td>\n<td>String</td>\n<td>Comma-separated tag id(s).</td>\n<td><code>\"1,2,3\"</code></td>\n<td>Any valid tag ids</td>\n</tr>\n<tr>\n<td>status_ids</td>\n<td>String</td>\n<td>Comma-separated status id(s).</td>\n<td><code>\"waiting,payment\"</code></td>\n<td><code>\"waiting\"</code>, <code>\"payment\"</code>, <code>\"approved\"</code>, <code>\"cancelled\"</code>, <code>\"done\"</code></td>\n</tr>\n<tr>\n<td>paid</td>\n<td>Boolean</td>\n<td>Filter by payment status.</td>\n<td><code>true</code></td>\n<td><code>true</code>, <code>false</code></td>\n</tr>\n<tr>\n<td>event_date_from</td>\n<td>Date</td>\n<td>Filter by event date (from). Required if <code>page</code> is not provided.</td>\n<td><code>\"2023-08-20\"</code></td>\n<td>Any valid date</td>\n</tr>\n<tr>\n<td>event_date_to</td>\n<td>Date</td>\n<td>Filter by event date (to). Required if <code>page</code> is not provided.</td>\n<td><code>\"2023-08-22\"</code></td>\n<td>Any valid date</td>\n</tr>\n<tr>\n<td>create_date_from</td>\n<td>Date</td>\n<td>Filter by creation date (from).</td>\n<td><code>\"2023-08-20\"</code></td>\n<td>Any valid date</td>\n</tr>\n<tr>\n<td>create_date_to</td>\n<td>Date</td>\n<td>Filter by creation date (to).</td>\n<td><code>\"2023-08-22\"</code></td>\n<td>Any valid date</td>\n</tr>\n<tr>\n<td>query</td>\n<td>String</td>\n<td>Search query.</td>\n<td><code>\"john\"</code></td>\n<td>Any valid string</td>\n</tr>\n<tr>\n<td>with</td>\n<td>String</td>\n<td>Include related entities in the response.</td>\n<td><code>\"bpt,prods\"</code></td>\n<td><code>\"bpt\"</code>, <code>\"prods\"</code>, <code>\"ppt\"</code>, <code>\"serv\"</code>, <code>\"usr\"</code>, <code>\"emp\"</code>, <code>\"tags\"</code>, <code>\"ug\"</code>, <code>\"up\"</code>, <code>\"ua\"</code>, <code>\"ui\"</code></td>\n</tr>\n<tr>\n<td>force_ubs</td>\n<td>Boolean/Integer</td>\n<td>This parameter will allow you to retrieve unavailable booking slots even when booking filters are requested simultaneously.</td>\n<td><code>1</code></td>\n<td><code>1</code>, <code>0</code></td>\n</tr>\n</tbody>\n</table>\n</div><p>The <code>with</code> parameter allows you to include related entities in the response by specifying their keys. Each key maps to a specific relation in the codebase. Here's what each key represents:</p>\n<ul>\n<li><code>bpt</code>: Booking Payment Transactions</li>\n<li><code>prods</code>: Products</li>\n<li><code>ppt</code>: Product Payment Transactions</li>\n<li><code>serv</code>: Service</li>\n<li><code>usr</code>: User</li>\n<li><code>emp</code>: Employee</li>\n<li><code>tags</code>: Tags</li>\n<li><code>ug</code>: User Groups</li>\n<li><code>up</code>: User Phone</li>\n<li><code>ua</code>: User Address</li>\n<li><code>ui</code>: User Image</li>\n</ul>\n<p>For instance, if you want to include the related \"service\" and \"employee\" in the response, you would set the <code>with</code> parameter to <code>serv,emp</code>. If you wish to include all related entities, you would set the <code>with</code> parameter to <code>bpt,prods,ppt,serv,usr,emp,tags,ug,up,ua,ui</code>.</p>\n","urlObject":{"path":["api","admin","events"],"host":["https://api.calendesk.com"],"query":[{"key":"order_by","value":"starts_at"},{"key":"ascending","value":"0"},{"key":"event_date_from","value":"2023-01-01"},{"key":"event_date_to","value":"2023-08-20"},{"key":"with","value":"usr,tags,prods,emp"}],"variable":[]}},"response":[],"_postman_id":"cb09e404-3ad6-4cf5-b131-929376d38bb2"},{"name":"Check Overlaps","event":[{"listen":"test","script":{"id":"7810f166-ab75-4676-9cdb-6d4ff7c548eb","exec":[""],"type":"text/javascript","packages":{}}}],"id":"824db8ac-bce9-4513-a5f7-fa5b6a1a2509","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"},{"key":"locale","value":"","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"employee_id\": 1,\n    \"service_id\": 2,\n    \"service_type_id\": null,\n    \"start_date\": \"2025-04-29\",\n    \"end_date\": \"2025-04-29\",\n    \"start_time\": \"09:45\",\n    \"end_time\": \"10:00\",\n    \"all_day_event\": false,\n    \"recurrence_params\":\"RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/events/check-overlaps","description":"<h1 id=\"check-events-overlaps-api\">Check Events Overlaps API</h1>\n<p>This API endpoint determines if a proposed booking or unavailable booking slot will overlap with existing bookings or unavailable slots. It supports both individual services and group services with capacity constraints.</p>\n<p><strong>Endpoint</strong>: <code>POST https://api.calendesk.com/api/admin/events/check-overlaps</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Validation</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>start_date</td>\n<td>String (Date)</td>\n<td>Yes</td>\n<td>Start date of the event in format YYYY-MM-DD</td>\n<td>Required, valid date</td>\n<td><code>\"2025-04-15\"</code></td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>String (Date)</td>\n<td>Yes</td>\n<td>End date of the event in format YYYY-MM-DD</td>\n<td>Required, must be &gt;= start_date</td>\n<td><code>\"2025-04-15\"</code></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>Integer</td>\n<td>Yes</td>\n<td>ID of the employee associated with the event</td>\n<td>Required, must exist in employees</td>\n<td><code>4</code></td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>String (Time)</td>\n<td>Conditional</td>\n<td>Start time of the event in format HH:MM</td>\n<td>Required if end_time is present, format H:i</td>\n<td><code>\"14:30\"</code></td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String (Time)</td>\n<td>Conditional</td>\n<td>End time of the event in format HH:MM</td>\n<td>Required if start_time is present, must be after start_time</td>\n<td><code>\"18:01\"</code></td>\n</tr>\n<tr>\n<td>all_day_event</td>\n<td>Boolean</td>\n<td>No</td>\n<td>Whether the event is an all-day event</td>\n<td>Optional boolean</td>\n<td><code>false</code></td>\n</tr>\n<tr>\n<td>recurrence_params</td>\n<td>String</td>\n<td>No</td>\n<td>RRULE string for recurring events</td>\n<td>Optional string</td>\n<td><code>\"FREQ=DAILY;INTERVAL=1;COUNT=10\"</code></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>Integer</td>\n<td>No</td>\n<td>ID of the service. Important for group service capacity checking</td>\n<td>Optional, must exist in services</td>\n<td><code>150</code></td>\n</tr>\n<tr>\n<td>skip_booking_id</td>\n<td>Integer</td>\n<td>No</td>\n<td>ID of a booking to exclude from overlap checking</td>\n<td>Optional, must exist in bookings</td>\n<td><code>9261</code></td>\n</tr>\n<tr>\n<td>skip_unavailable_booking_slot_id</td>\n<td>Integer</td>\n<td>No</td>\n<td>ID of an unavailable slot to exclude from overlap checking</td>\n<td>Optional, must exist in unavailable_booking_slots</td>\n<td><code>152781</code></td>\n</tr>\n<tr>\n<td>skip_multi_slot_group_id</td>\n<td>String</td>\n<td>No</td>\n<td>ID of a multi-slot group to exclude from overlap checking</td>\n<td>Optional string</td>\n<td><code>\"group123\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>has_overlaps</td>\n<td>Boolean</td>\n<td>Whether there are any overlaps found</td>\n</tr>\n<tr>\n<td>unavailable_occurrences</td>\n<td>Array</td>\n<td>List of occurrences that are unavailable due to overlaps</td>\n</tr>\n<tr>\n<td>total_occurrences</td>\n<td>Integer</td>\n<td>Total number of occurrence dates checked</td>\n</tr>\n<tr>\n<td>unavailable_count</td>\n<td>Integer</td>\n<td>Number of unavailable occurrences due to overlaps</td>\n</tr>\n<tr>\n<td>rule_error</td>\n<td>String/null</td>\n<td>Any error encountered while parsing the recurrence rule</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"unavailable-occurrence-object\">Unavailable Occurrence Object</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>date</td>\n<td>String</td>\n<td>Date of the occurrence (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>time</td>\n<td>String</td>\n<td>Time of the occurrence (HH:MM)</td>\n</tr>\n<tr>\n<td>formatted</td>\n<td>String</td>\n<td>Formatted date and time in the user's locale</td>\n</tr>\n<tr>\n<td>booking_overlaps</td>\n<td>Integer</td>\n<td>Number of overlapping bookings</td>\n</tr>\n<tr>\n<td>unavailable_slot_overlaps</td>\n<td>Integer</td>\n<td>Number of overlapping unavailable slots</td>\n</tr>\n<tr>\n<td>blocking_bookings</td>\n<td>Array</td>\n<td>Details of the blocking bookings</td>\n</tr>\n<tr>\n<td>blocking_unavailable_slots</td>\n<td>Array</td>\n<td>Details of the blocking unavailable slots</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"blocking-booking-object\">Blocking Booking Object</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Integer</td>\n<td>ID of the booking</td>\n</tr>\n<tr>\n<td>service_name</td>\n<td>String</td>\n<td>Name of the service</td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>Integer</td>\n<td>ID of the service</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>String</td>\n<td>Start date of the booking (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>String</td>\n<td>End date of the booking (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>String</td>\n<td>Start time of the booking (HH:MM)</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>End time of the booking (HH:MM)</td>\n</tr>\n<tr>\n<td>formatted</td>\n<td>String</td>\n<td>Formatted date and time in the user's locale</td>\n</tr>\n<tr>\n<td>customer_name</td>\n<td>String</td>\n<td>Name of the customer</td>\n</tr>\n<tr>\n<td>is_group</td>\n<td>Boolean</td>\n<td>Whether it's a group booking</td>\n</tr>\n<tr>\n<td>max_people</td>\n<td>Integer</td>\n<td>Maximum number of people allowed for group bookings</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"blocking-unavailable-slot-object\">Blocking Unavailable Slot Object</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Integer</td>\n<td>ID of the unavailable slot</td>\n</tr>\n<tr>\n<td>description</td>\n<td>String/null</td>\n<td>Description of the unavailable slot</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>String</td>\n<td>Start date of the unavailable slot (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>String</td>\n<td>End date of the unavailable slot (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>String</td>\n<td>Start time of the unavailable slot (HH:MM)</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>End time of the unavailable slot (HH:MM)</td>\n</tr>\n<tr>\n<td>formatted</td>\n<td>String</td>\n<td>Formatted date and time in the user's locale</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"business-logic\">Business Logic</h2>\n<p>The API implements the following business logic to check for overlaps when creating or updating bookings or unavailable slots:</p>\n<ol>\n<li><p><strong>Individual vs Group Services</strong>:</p>\n<ul>\n<li><p>For individual services, any existing booking in a timeslot makes it unavailable</p>\n</li>\n<li><p>For group services, a timeslot remains available until the group capacity is reached (controlled by the service's <code>max_people</code> setting)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Group Service Availability Rules</strong>:</p>\n<ul>\n<li><p>If bookings for the same service in the requested timeslot are less than the service's <code>max_people</code> setting AND there are no bookings for other services, the timeslot is available</p>\n</li>\n<li><p>If the group is full, other services are booked during that time, or there are surrounding bookings that would be enclosed by the new booking, the timeslot is unavailable</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Time Overlap Conditions</strong>:</p>\n<ul>\n<li>The API checks for four overlap cases:<ul>\n<li><p>Case 1: Entity starts during the requested time range</p>\n</li>\n<li><p>Case 2: Entity ends during the requested time range</p>\n</li>\n<li><p>Case 3: Entity completely surrounds the requested time range</p>\n</li>\n<li><p>Case 4: Requested time range completely surrounds the entity</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Recurring Events Handling</strong>:</p>\n<ul>\n<li><p>The API supports checking overlaps for recurring events</p>\n</li>\n<li><p>It calculates all occurrence dates based on the provided RRULE</p>\n</li>\n<li><p>Each occurrence is individually checked for overlaps</p>\n</li>\n<li><p>If an error occurs in parsing the recurrence rule, the API falls back to checking just the first date</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Unavailable Slots Handling</strong>:</p>\n<ul>\n<li><p>The API checks for overlaps with both employee-specific and global unavailable slots</p>\n</li>\n<li><p>Global slots (with <code>employee_id</code> as null) apply to all employees</p>\n</li>\n</ul>\n</li>\n</ol>\n<h2 id=\"example\">Example</h2>\n<h3 id=\"request\">Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"start_date\": \"2025-04-15\",\n  \"end_date\": \"2025-04-15\",\n  \"employee_id\": 4,\n  \"start_time\": \"14:30\",\n  \"end_time\": \"18:01\",\n  \"recurrence_params\": \"FREQ=DAILY;INTERVAL=1;COUNT=10\",\n  \"all_day_event\": false,\n  \"service_id\": 150\n}\n\n</code></pre>\n<h3 id=\"response-1\">Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"has_overlaps\": true,\n    \"unavailable_occurrences\": [\n        {\n            \"date\": \"2025-04-15\",\n            \"time\": \"14:30\",\n            \"formatted\": \"wtorek, 15 kwietnia 2025 o 14:30\",\n            \"booking_overlaps\": 6,\n            \"unavailable_slot_overlaps\": 1,\n            \"blocking_bookings\": [\n                {\n                    \"id\": 9261,\n                    \"service_name\": \"Test\",\n                    \"service_id\": 150,\n                    \"start_date\": \"2025-04-15\",\n                    \"end_date\": \"2025-04-15\",\n                    \"start_time\": \"17:00\",\n                    \"end_time\": \"17:30\",\n                    \"formatted\": \"wtorek, 15 kwietnia 2025 o 17:00\",\n                    \"customer_name\": \"Anna\",\n                    \"is_group\": true,\n                    \"max_people\": 5\n                },\n                // Additional booking entries...\n            ],\n            \"blocking_unavailable_slots\": [\n                {\n                    \"id\": 152781,\n                    \"description\": \"Blokada kalendarza Calendesk\",\n                    \"start_date\": \"2025-04-15\",\n                    \"end_date\": \"2025-04-15\",\n                    \"start_time\": \"14:30\",\n                    \"end_time\": \"16:00\",\n                    \"formatted\": \"wtorek, 15 kwietnia 2025 o 14:30\"\n                }\n            ]\n        },\n        {\n            \"date\": \"2025-04-16\",\n            \"time\": \"14:30\",\n            \"formatted\": \"środa, 16 kwietnia 2025 o 14:30\",\n            \"booking_overlaps\": 0,\n            \"unavailable_slot_overlaps\": 1,\n            \"blocking_bookings\": [],\n            \"blocking_unavailable_slots\": [\n                {\n                    \"id\": 152654,\n                    \"description\": \"Blokada kalendarza Calendesk\",\n                    \"start_date\": \"2025-04-16\",\n                    \"end_date\": \"2025-04-16\",\n                    \"start_time\": \"14:30\",\n                    \"end_time\": \"15:30\",\n                    \"formatted\": \"środa, 16 kwietnia 2025 o 14:30\"\n                }\n            ]\n        },\n        // Additional unavailable occurrences...\n    ],\n    \"total_occurrences\": 10,\n    \"unavailable_count\": 6,\n    \"rule_error\": null\n}\n\n</code></pre>\n","urlObject":{"path":["api","admin","events","check-overlaps"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"824db8ac-bce9-4513-a5f7-fa5b6a1a2509"},{"name":"Events generate file - export","id":"ef8ff7fd-69fa-4c7b-9155-568906c707f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"booking_ids\" : [\n        3017,\n        3016,\n        3015\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/bookings/generate/{{type}}","description":"<h1 id=\"export-events-api\">Export Events API</h1>\n<p>This API endpoint allows you to export a file in a specific type with all the selected events.</p>\n<p><strong>Endpoint</strong>: <code>POST /api/admin/events/generate/{type}</code></p>\n<p>The <code>{type}</code> parameter in the URL should be replaced with the desired export file type.</p>\n<h2 id=\"url-parameters\">URL Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Available Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>String</td>\n<td>The file type for the exported data.</td>\n<td><code>\"xlsx\"</code></td>\n<td><code>\"csv\"</code>, <code>\"xlsx\"</code>, <code>\"xls\"</code>, <code>\"ods\"</code>, <code>\"html\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>booking_ids</td>\n<td>Array</td>\n<td>An array of booking event IDs to be included in the export.</td>\n<td><code>[1, 2, 3]</code></td>\n</tr>\n<tr>\n<td>unavailable_booking_slot_ids</td>\n<td>Array</td>\n<td>An array of unavailable booking slot IDs to be included in the export.</td>\n<td><code>[1, 2, 3]</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note</strong>: You need to have the permissions to show bookings and unavailable booking slots to use this endpoint.</p>\n","urlObject":{"path":["api","admin","bookings","generate","{{type}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ef8ff7fd-69fa-4c7b-9155-568906c707f6"}],"id":"ec2445f5-f919-42eb-b8bb-2ef895200bf7","_postman_id":"ec2445f5-f919-42eb-b8bb-2ef895200bf7","description":""},{"name":"Groups","item":[{"name":"Group","id":"ff2dc3a4-b3fe-4244-9bad-2befbca529c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/groups/{{groupID}}","description":"<p>This endpoint allows you to fetch a group by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>groupID</td>\n<td>required</td>\n<td>integer</td>\n<td>A group ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","groups","{{groupID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ff2dc3a4-b3fe-4244-9bad-2befbca529c8"},{"name":"Groups","id":"4f828afb-562a-42b2-805e-35998324de3b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/groups","description":"<p>This endpoint allows you to fetch groups. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","groups"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4f828afb-562a-42b2-805e-35998324de3b"},{"name":"Create Group","id":"b4d72a88-e3a5-41b7-a859-bf37b757f9da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"New group\"\n}"},"url":"https://api.calendesk.com/api/admin/groups","description":"<p>This endpoint allows you to create a new group.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Name.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","groups"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b4d72a88-e3a5-41b7-a859-bf37b757f9da"},{"name":"Update Group","id":"dbdc7415-d36e-4554-853d-7564a091c7f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Updated group\"\n}"},"url":"https://api.calendesk.com/api/admin/groups/{{groupID}}","description":"<p>This endpoint allows you to update a group.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>groupID</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of group.</td>\n<td><code>GET https://api.calendesk.com/api/admin/groups</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Name.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","groups","{{groupID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"dbdc7415-d36e-4554-853d-7564a091c7f6"},{"name":"Delete Group","id":"92763d41-db11-47db-8c41-c06bbc61fce3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/groups/{{groupID}}","description":"<p>This endpoint allows you to delete a group.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>groupID</td>\n<td>required</td>\n<td>integer</td>\n<td>Group ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/groups</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","groups","{{groupID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"92763d41-db11-47db-8c41-c06bbc61fce3"}],"id":"af4e478e-cd4a-4395-8a97-f5c4b4d98a75","event":[{"listen":"prerequest","script":{"id":"3d22bc0b-05c0-45f3-bdce-7f2019bd74ca","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d6e9465c-7074-4d7f-bb34-64f43cecbe21","type":"text/javascript","exec":[""]}}],"_postman_id":"af4e478e-cd4a-4395-8a97-f5c4b4d98a75","description":""},{"name":"Health Checks","item":[{"name":"Healthy Tenant","id":"e4c2634c-8279-4c04-b7ba-5ae06508a86e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/healthy/tenant","description":"<p>This endpoint allows you to check if the API is healthy.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","healthy","tenant"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4c2634c-8279-4c04-b7ba-5ae06508a86e"},{"name":"Healthy Central","id":"51a3d613-a907-4f33-b4ec-e4be50246dd2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/healthy/central","description":"<p>This endpoint allows you to check if the API is healthy.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","healthy","central"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"51a3d613-a907-4f33-b4ec-e4be50246dd2"}],"id":"feeede7c-aaa6-4ca6-8b56-e734caebe641","event":[{"listen":"prerequest","script":{"id":"4b209785-0822-438a-887e-588cca196c34","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"c49f105c-5c9d-4488-a318-ae5b6520d268","type":"text/javascript","exec":[""]}}],"_postman_id":"feeede7c-aaa6-4ca6-8b56-e734caebe641","description":""},{"name":"Import Data","item":[{"name":"Import Users","id":"2286a0ed-69f4-47a1-9f13-2c8541f6617b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/maciejcupial/Downloads/import_users_example.xlsx"],"value":null}]},"url":"https://api.calendesk.com/api/admin/import/users","description":"<h1 id=\"import-users-endpoint\">Import Users Endpoint</h1>\n<h3 id=\"endpoint-purpose\">Endpoint Purpose</h3>\n<p>This endpoint enables you to import user data.</p>\n<h3 id=\"file-requirements\">File Requirements</h3>\n<ul>\n<li><p>Download the required file format template: <a href=\"https://media.calendesk.com/docs/import_users_example.xlsx\">import_users_example.xlsx</a></p>\n</li>\n<li><p>Ensure that <code>Content-Type</code> is set to <code>application/x-www-form-urlencoded</code>.</p>\n</li>\n<li><p>Maximum upload file size: <code>10 MB</code> (10240 KB)</p>\n</li>\n</ul>\n<h3 id=\"file-structure\">File Structure</h3>\n<p>The following columns are accepted in the uploaded file. All fields are optional, but for a valid import, at least <strong>name</strong>, <strong>surname</strong>, <strong>email</strong>, or <strong>identity_number</strong> must be provided.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Description</th>\n<th>Type / Format</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>identity_number</strong></td>\n<td>Internal ID to match existing users in your system; can be used for search and booking assignment in the future.</td>\n<td>string, max 40 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>name</strong></td>\n<td>User’s first name</td>\n<td>string, max 30 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>surname</strong></td>\n<td>User’s last name</td>\n<td>string, max 30 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>phone</strong></td>\n<td>User’s phone number in E.164 format (e.g., 48500111222, without the \"+\" character)</td>\n<td>string, no max length</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>email</strong></td>\n<td>User’s email address</td>\n<td>string, max 50 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>status</strong></td>\n<td>Account status; options are \"active\" (default) or \"inactive\"</td>\n<td>string</td>\n<td>Default: active, Optional</td>\n</tr>\n<tr>\n<td><strong>date_of_birth</strong></td>\n<td>Date of birth in <code>yyyy-mm-dd</code> format</td>\n<td>date</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>gender</strong></td>\n<td>Gender; options are \"male,\" \"female,\" or \"other\"</td>\n<td>string</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>description</strong></td>\n<td>Additional user information</td>\n<td>string, max 5000 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_name</strong></td>\n<td>Name associated with default address</td>\n<td>string, max 250 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_street</strong></td>\n<td>Street of the default address</td>\n<td>string, max 100 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_postal_code</strong></td>\n<td>Postal code of the default address</td>\n<td>string, max 15 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_city</strong></td>\n<td>City of the default address</td>\n<td>string, max 50 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_country_iso_code</strong></td>\n<td>Country code in ISO format (e.g., \"PL\" for Poland)</td>\n<td>string, 2 chars (ISO)</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_vat_iso_prefix</strong></td>\n<td>VAT ISO prefix for the country (e.g., \"PL\" for Poland)</td>\n<td>string, 2 chars (ISO)</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>default_address_tax_number</strong></td>\n<td>Tax number associated with the default address</td>\n<td>string, max 20 chars</td>\n<td>Optional</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-parameters\">Request Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>Base URL for the API</td>\n<td></td>\n</tr>\n<tr>\n<td>file</td>\n<td>required</td>\n<td>file</td>\n<td>The xlsx file to be uploaded</td>\n<td>Max size: 10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","import","users"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2286a0ed-69f4-47a1-9f13-2c8541f6617b"},{"name":"Import Bookings","id":"302a873a-964f-4d7d-9ea8-e4b8bd43f692","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/Users/maciejcupial/Desktop/Example_User_Data_Import.xlsx"],"value":null}]},"url":"https://api.calendesk.com/api/admin/import/bookings","description":"<h1 id=\"import-bookings-endpoint\">Import Bookings Endpoint</h1>\n<h3 id=\"endpoint-purpose\">Endpoint Purpose</h3>\n<p>This endpoint enables you to import booking data.</p>\n<h3 id=\"important-notes\">Important Notes</h3>\n<ul>\n<li><p>Imported bookings will not trigger any notifications and are not synced with employee calendars. This import function is intended solely for viewing historical booking data within the system.</p>\n</li>\n<li><p>Ensure that <code>Content-Type</code> is set to <code>application/x-www-form-urlencoded</code>.</p>\n</li>\n</ul>\n<h3 id=\"file-requirements\">File Requirements</h3>\n<ul>\n<li><p>Download the required file format template: <a href=\"https://media.calendesk.com/docs/import_bookings_example.xlsx\">import_bookings_example.xlsx</a></p>\n</li>\n<li><p>Maximum upload file size: <code>10 MB</code> (10240 KB)</p>\n</li>\n</ul>\n<h3 id=\"file-structure\">File Structure</h3>\n<p>The following columns are accepted in the uploaded file. All fields are optional, but the file must meet specific data formatting requirements for successful import.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Description</th>\n<th>Type / Format</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>employee_id</strong></td>\n<td>ID of an active employee in the Calendesk system</td>\n<td>string</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>identity_number</strong></td>\n<td>Internal user ID (e.g., from a previous system) to match a user in Calendesk and assign bookings</td>\n<td>string</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>user_email</strong></td>\n<td>User’s email address; can be used to match an existing Calendesk user and assign bookings</td>\n<td>string, max 50 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>starts_at</strong></td>\n<td>Start date and time of the booking in ISO format</td>\n<td>datetime (ISO 8601)</td>\n<td>Required</td>\n</tr>\n<tr>\n<td><strong>ends_at</strong></td>\n<td>End date and time of the booking in ISO format</td>\n<td>datetime (ISO 8601)</td>\n<td>Required</td>\n</tr>\n<tr>\n<td><strong>service_id</strong></td>\n<td>Service ID within the Calendesk system</td>\n<td>string</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>paid_amount</strong></td>\n<td>Amount paid, in integer or double format (e.g., 99.99)</td>\n<td>float or integer</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>paid_note</strong></td>\n<td>Additional note for payment (e.g., transaction ID)</td>\n<td>string, max 255 chars</td>\n<td>Optional</td>\n</tr>\n<tr>\n<td><strong>status</strong></td>\n<td>Booking status; options are \"waiting,\" \"payment,\" \"approved,\" \"cancelled,\" or \"done\"</td>\n<td>string</td>\n<td>Optional, Default: approved</td>\n</tr>\n<tr>\n<td><strong>description</strong></td>\n<td>Additional booking description</td>\n<td>string, max 5000 chars</td>\n<td>Optional</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-parameters\">Request Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>Base URL for the API</td>\n<td></td>\n</tr>\n<tr>\n<td>file</td>\n<td>required</td>\n<td>file</td>\n<td>The xlsx file to be uploaded</td>\n<td>Max size: 10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","import","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"302a873a-964f-4d7d-9ea8-e4b8bd43f692"}],"id":"0fcd0b9c-92b3-4842-b21f-fbd3483cbb23","_postman_id":"0fcd0b9c-92b3-4842-b21f-fbd3483cbb23","description":""},{"name":"Invoices","item":[{"name":"Get Issued Invoices","id":"ff3dd2ad-337f-4245-86ad-f5f474007d1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/invoices?query=CD-02&created_from=2022-01-11&created_to=2022-01-13","description":"<p>This endpoint allows you to fetch issued invoices.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","invoices"],"host":["https://api.calendesk.com"],"query":[{"key":"query","value":"CD-02"},{"key":"created_from","value":"2022-01-11"},{"key":"created_to","value":"2022-01-13"}],"variable":[]}},"response":[],"_postman_id":"ff3dd2ad-337f-4245-86ad-f5f474007d1b"},{"name":"Downloade Issued Invoice PDF","id":"553e6826-413c-40cc-afc6-c42e6dd94915","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/invoices/fakturownia/pdf/{{invoiceId}}","description":"<p>This endpoint allows you to fetch issued invoices.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","invoices","fakturownia","pdf","{{invoiceId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"553e6826-413c-40cc-afc6-c42e6dd94915"}],"id":"5fbd9066-6b62-4fad-8c30-ef460e535e88","_postman_id":"5fbd9066-6b62-4fad-8c30-ef460e535e88","description":""},{"name":"Newsletter","item":[{"name":"Newsletter","id":"da4398ce-8b07-4861-9f66-05df06ac7141","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/newsletter?is_valid=1","urlObject":{"path":["api","admin","newsletter"],"host":["https://api.calendesk.com"],"query":[{"key":"is_valid","value":"1"}],"variable":[]}},"response":[],"_postman_id":"da4398ce-8b07-4861-9f66-05df06ac7141"},{"name":"Newsletter generate file","id":"298b570b-d487-43d7-882c-b5ae4b4ef0d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"newsletter_ids\": [\n        42,\n        43\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/newsletter/generate/{{type}}","description":"<p>This endpoint allows you to generate file with selected newsletter records.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Type of the file you want to download</td>\n<td><code>xlsx</code>, <code>xls</code>, <code>ods</code>, <code>csv</code>, <code>html</code></td>\n</tr>\n<tr>\n<td>newsletter_ids</td>\n<td>array</td>\n<td>Newsletter IDs</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","newsletter","generate","{{type}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"298b570b-d487-43d7-882c-b5ae4b4ef0d7"},{"name":"Newsletter (single)","id":"ec15fe79-9e6c-40e5-9b25-5efdc7abb7e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/newsletter/16","urlObject":{"path":["api","admin","newsletter","16"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ec15fe79-9e6c-40e5-9b25-5efdc7abb7e1"},{"name":"Create Newsletter","id":"65d6ede3-a363-4c8a-93b0-b730f5321ccf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email\" : \"jan@calendesk.com\",\n    \"is_valid\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/newsletter","urlObject":{"path":["api","admin","newsletter"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"65d6ede3-a363-4c8a-93b0-b730f5321ccf"},{"name":"Update Newsletter","id":"2986c48c-c8e7-4407-abb5-4867f288e848","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email\" : \"jan@calendesk.com\",\n    \"is_valid\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/newsletter/16","urlObject":{"path":["api","admin","newsletter","16"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2986c48c-c8e7-4407-abb5-4867f288e848"},{"name":"Delete Newsletter","id":"21e9eb5a-cd51-4cbc-bf57-01353bd5832d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/newsletter/1","urlObject":{"path":["api","admin","newsletter","1"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"21e9eb5a-cd51-4cbc-bf57-01353bd5832d"},{"name":"Delete Multiple Newsletter","id":"2216bdb0-9d83-49f9-a5ca-d7f6d595eebb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"newsletter_ids\" : [\n        15\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/newsletter","urlObject":{"path":["api","admin","newsletter"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2216bdb0-9d83-49f9-a5ca-d7f6d595eebb"}],"id":"a3141053-2c6a-4eff-8284-6f237fb51da2","event":[{"listen":"prerequest","script":{"id":"54f53795-ba71-477f-8d04-6850fe88ae65","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a76ac22d-7383-4a03-84a1-59fd3ff7cdbd","type":"text/javascript","exec":[""]}}],"_postman_id":"a3141053-2c6a-4eff-8284-6f237fb51da2","description":""},{"name":"Notifications","item":[{"name":"Templates","item":[{"name":"Get Notification Templates","id":"ce6ea5e4-60fd-421b-a8b3-cb5c48bb6e1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/notifications/templates","description":"<p>This endpoint allows you to create a mobile editor draft.</p>\n","urlObject":{"path":["api","admin","notifications","templates"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce6ea5e4-60fd-421b-a8b3-cb5c48bb6e1c"},{"name":"Get Notification Template Types","id":"f78720f1-3030-4f3c-a7eb-ce6ccaa09e12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/notifications/templates/types","description":"<p>This endpoint allows you to create a mobile editor draft.</p>\n","urlObject":{"path":["api","admin","notifications","templates","types"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f78720f1-3030-4f3c-a7eb-ce6ccaa09e12"},{"name":"Create Notification Template","id":"9e64375a-d7ac-4483-9061-1fffe45b86be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type_id\": 9,\n    \"subject\": \"Zmiana rezerwacji: [EMPLOYEE_NAME] [EMPLOYEE_SURNAME]\",\n    \"content\": \"email.booking.created.client: [EMPLOYEE_NAME] [EMPLOYEE_SURNAME] [EMPLOYEE_FULL_NAME] [CUSTOMER_FULL_NAME] [CUSTOMER_NAME] [CUSTOMER_SURNAME] [BOOKING_START_DATE] [BOOKING_START_TIME] [BOOKING_END_DATE] [BOOKING_END_TIME] [SERVICE_NAME] [BOOKING_PRICE] [COMPANY_NAME] [COMPANY_PHONE] [COMPANY_ADDRESS] [BOOKING_STATUS]\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/notifications/templates","description":"<p>{\n    \"type_id\": 8,\n    \"subject\": \"email.booking.reminder.client: %EMPLOYEE_NAME% %EMPLOYEE_SURNAME%\",\n    \"content\": \"email.booking.reminder.client: %EMPLOYEE_NAME% %EMPLOYEE_SURNAME% %EMPLOYEE_FULL_NAME% %CUSTOMER_FULL_NAME% %CUSTOMER_NAME% %CUSTOMER_SURNAME% %BOOKING_START_DATE% %BOOKING_START_TIME% %BOOKING_END_DATE% %BOOKING_END_TIME% %SERVICE_NAME% %PRICE% %COMPANY_NAME% %COMPANY_PHONE% %COMPANY_ADDRESS% %STATUS%\"\n}</p>\n","urlObject":{"path":["api","admin","notifications","templates"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9e64375a-d7ac-4483-9061-1fffe45b86be"},{"name":"Update Notification Template","id":"5209d440-f31d-4927-90c2-9d8474dd1751","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"}],"body":{"mode":"raw","raw":"{\n    \"subject\": \"Zmiana rezerwacji: [EMPLOYEE_NAME] [EMPLOYEE_SURNAME]\",\n    \"content\": \"email.booking.created.client: [EMPLOYEE_NAME] [EMPLOYEE_SURNAME] [EMPLOYEE_FULL_NAME] [CUSTOMER_FULL_NAME] [CUSTOMER_NAME] [CUSTOMER_SURNAME] [BOOKING_START_DATE] [BOOKING_START_TIME] [BOOKING_END_DATE] [BOOKING_END_TIME] [SERVICE_NAME] [PRICE] [COMPANY_NAME] [COMPANY_PHONE] [COMPANY_ADDRESS] [STATUS]\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/notifications/templates/2","description":"<p>This endpoint allows you to create a mobile editor draft.</p>\n","urlObject":{"path":["api","admin","notifications","templates","2"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5209d440-f31d-4927-90c2-9d8474dd1751"},{"name":"Delete Notification Template","id":"cfd13ba3-4253-4206-883a-87e363712405","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"}],"url":"https://api.calendesk.com/api/admin/notifications/templates/9","description":"<p>This endpoint allows you to create a mobile editor draft.</p>\n","urlObject":{"path":["api","admin","notifications","templates","9"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cfd13ba3-4253-4206-883a-87e363712405"}],"id":"7c4b2717-fafa-44bf-a2d4-dd9378812fa1","_postman_id":"7c4b2717-fafa-44bf-a2d4-dd9378812fa1","description":""},{"name":"Customer Notifications","item":[{"name":"Contact Tenant From Website","id":"8bc151e0-cb42-4a4d-92ed-9680a68b57af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"customer_type\" : 1,\n    \"notification_type\" : 3,\n    \"customer_ids\": [2,3],\n    \"subject\": \"Test subject\",\n    \"html_content\": \"Test content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/mail/tenant/send","description":"<h2 id=\"send-customer-notification\">Send Customer Notification</h2>\n<p>This endpoint allows you to send a notification to a specific type of customer (User, Newsletter, Employee) via different channels (Email, SMS, Push). The notification can be personalized with a subject and a message content.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customer_type</td>\n<td>required</td>\n<td>integer</td>\n<td>Type of customer to send the notification to.</td>\n<td><code>1</code> = USER, <code>2</code> = NEWSLETTER, <code>3</code> = EMPLOYEE</td>\n</tr>\n<tr>\n<td>notification_type</td>\n<td>required</td>\n<td>integer</td>\n<td>Type of notification to be sent.</td>\n<td><code>1</code>= EMAIL, <code>2</code> = SMS, <code>3</code> = PUSH</td>\n</tr>\n<tr>\n<td>customer_ids</td>\n<td>required</td>\n<td>array[integer]</td>\n<td>IDs of the customers.</td>\n<td></td>\n</tr>\n<tr>\n<td>subject</td>\n<td>optional</td>\n<td>string</td>\n<td>Subject of the notification. Applicable only for EMAIL and PUSH notification types.</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td>required</td>\n<td>string</td>\n<td>Content of the notification.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request\">Example Request</h3>\n<p>POST https://api.calendesk.com/api/admin/customer-notifications</p>\n<p>{ \"customer_type\" : 1, \"notification_type\" : 3, \"customer_ids\": [2,3], \"subject\": \"AAAA\", \"content\": \"Test text\" }</p>\n<p>On success, the API will return a 200 OK status. The response will include the IDs of the customers who received the notification.</p>\n<p>On failure, the API will return an error message detailing what went wrong. Possible errors include invalid customer type, invalid notification type, missing or invalid customer IDs, or missing content.</p>\n","urlObject":{"path":["api","mail","tenant","send"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8bc151e0-cb42-4a4d-92ed-9680a68b57af"},{"name":"Customer Notification","id":"9026fdd0-6e5d-4e88-bb95-94228645ba27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/customer-notifications?date=2021-03-26,2021-03-27","urlObject":{"path":["api","admin","customer-notifications"],"host":["https://api.calendesk.com"],"query":[{"key":"date","value":"2021-03-26,2021-03-27"}],"variable":[]}},"response":[],"_postman_id":"9026fdd0-6e5d-4e88-bb95-94228645ba27"}],"id":"ea4b9207-0cb6-4b50-b4c7-ba92ab13c898","_postman_id":"ea4b9207-0cb6-4b50-b4c7-ba92ab13c898","description":""}],"id":"634698a3-f808-43fc-8e77-b5987d8f180d","_postman_id":"634698a3-f808-43fc-8e77-b5987d8f180d","description":""},{"name":"Photos","item":[{"name":"Search for photos","id":"ceeda35e-dcdb-4256-961c-cfd090ebcb5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/admin/photos/unsplash/search?query=hair","description":"<p>This endpoint allows you to search for photos.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>required</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","photos","unsplash","search"],"host":["https://api.calendesk.com"],"query":[{"key":"query","value":"hair"}],"variable":[]}},"response":[],"_postman_id":"ceeda35e-dcdb-4256-961c-cfd090ebcb5a"},{"name":"Select photo","id":"44a0adc1-2859-49b6-8891-072edaad2810","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/admin/photos/unsplash/select?id=WCPg9ROZbM0","description":"<p>This endpoint allows you to download photo and put it in users image.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>id</td>\n<td>required</td>\n<td>string</td>\n<td>Photo's id.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","photos","unsplash","select"],"host":["https://api.calendesk.com"],"query":[{"key":"id","value":"WCPg9ROZbM0"}],"variable":[]}},"response":[],"_postman_id":"44a0adc1-2859-49b6-8891-072edaad2810"}],"id":"cabfc5bd-1a7f-422a-84d2-00549d55882e","_postman_id":"cabfc5bd-1a7f-422a-84d2-00549d55882e","description":""},{"name":"Resources","item":[{"name":"Resource","id":"d43ce5dc-1ed3-47f4-aa13-1551243831fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/resources/{{resourceID}}","description":"<p>This endpoint allows you to fetch a reource by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>resourceID</td>\n<td>required</td>\n<td>integer</td>\n<td>A resource ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","resources","{{resourceID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d43ce5dc-1ed3-47f4-aa13-1551243831fb"},{"name":"Resources","id":"010f2443-5837-4cd2-949c-37fd338e8f0f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/resources","description":"<p>This endpoint allows you to fetch resources. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","resources"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"010f2443-5837-4cd2-949c-37fd338e8f0f"},{"name":"Create Resource","id":"bc39d72b-fd24-46cb-8ece-bd6869331efd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Stolik duży\",\n\t\"quantity\" : 5\n}"},"url":"https://api.calendesk.com/api/admin/resources","description":"<p>This endpoint allows you to create a new resource.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Quantity.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","resources"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bc39d72b-fd24-46cb-8ece-bd6869331efd"},{"name":"Update Resource","id":"09d26b4a-26c9-4194-8e81-643a0a70fe06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"quantity\" : 99\n}"},"url":"https://api.calendesk.com/api/admin/resources/{{resourceID}}","description":"<p>This endpoint allows you to update a resource.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>resourceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Resource ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/resources</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Quantity.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","resources","{{resourceID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09d26b4a-26c9-4194-8e81-643a0a70fe06"},{"name":"Delete Resource","id":"391e4d44-c0ce-46d9-b81c-276f2da77eb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/resources/{{resourceID}}","description":"<p>This endpoint allows you to delete a service type.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>resourceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Resource ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/resources</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","resources","{{resourceID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"391e4d44-c0ce-46d9-b81c-276f2da77eb2"}],"id":"b1137e95-9b6e-4124-a7b8-4ddef9578c7b","_postman_id":"b1137e95-9b6e-4124-a7b8-4ddef9578c7b","description":""},{"name":"Roles and Permissions","item":[{"name":"Roles","id":"0288dd0c-b456-450b-b1d3-59c610e5d754","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/roles","description":"<p>This endpoint allows you to fetch roles. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","roles"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0288dd0c-b456-450b-b1d3-59c610e5d754"},{"name":"Permissions","id":"e1b00bc4-2db2-4beb-b552-d31fe48c25f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/permissions","description":"<p>This endpoint allows you to fetch permissions. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","permissions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e1b00bc4-2db2-4beb-b552-d31fe48c25f8"},{"name":"Give Roles To User","id":"bf22b476-b791-4d2c-a979-51a20a3e1bed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_id\": 1,\n\t\"role_ids\": [1,2,3,4]\n}"},"url":"https://api.calendesk.com/api/admin/roles/user/give","description":"<p>This endpoint allows you to assign roles to user.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>required</td>\n<td>integer</td>\n<td>User ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>required</td>\n<td>array</td>\n<td>Array of role IDs.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","roles","user","give"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bf22b476-b791-4d2c-a979-51a20a3e1bed"},{"name":"Revoke Roles From User","id":"36e04d6e-aeef-49f4-a6d5-9748760d0f7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_id\": 1,\n\t\"role_ids\": [1,2,3,4]\n}"},"url":"https://api.calendesk.com/api/admin/roles/user/revoke","description":"<p>This endpoint allows you to delete an assigment roles from user.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>userID</td>\n<td>required</td>\n<td>integer</td>\n<td>User ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>required</td>\n<td>array</td>\n<td>Array of role IDs.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","roles","user","revoke"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"36e04d6e-aeef-49f4-a6d5-9748760d0f7d"},{"name":"Revoke Permission From Role","id":"0e1057c5-ffd8-49c4-a1a9-82563c207318","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"role_id\": 5,\n\t\"permission_ids\": [72]\n}"},"url":"https://api.calendesk.com/api/admin/roles/permission/revoke","description":"<p>This endpoint allows you to delete an assigment roles from user.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>userID</td>\n<td>required</td>\n<td>integer</td>\n<td>User ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>required</td>\n<td>array</td>\n<td>Array of role IDs.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","roles","permission","revoke"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e1057c5-ffd8-49c4-a1a9-82563c207318"},{"name":"Give Permission To Role","id":"b608f492-0729-40b4-9d5e-ac3493bebe1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"role_id\": 5,\n\t\"permission_ids\": [119]\n}"},"url":"https://api.calendesk.com/api/admin/roles/permission/give","description":"<p>This endpoint allows you to assign roles to user.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>required</td>\n<td>integer</td>\n<td>User ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>role_ids</td>\n<td>required</td>\n<td>array</td>\n<td>Array of role IDs.</td>\n<td><code>GET https://api.calendesk.com/api/admin/roles</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","roles","permission","give"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b608f492-0729-40b4-9d5e-ac3493bebe1d"}],"id":"1f787910-97f0-42c2-a511-69356f6eb3fb","event":[{"listen":"prerequest","script":{"id":"1f60fc91-27bc-4fbc-9491-a346a2c67776","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"6def7b3e-67a7-412d-867f-c5172ee86184","type":"text/javascript","exec":[""]}}],"_postman_id":"1f787910-97f0-42c2-a511-69356f6eb3fb","description":""},{"name":"Services","item":[{"name":"Service","id":"22687dd1-4cb5-46a4-a176-532a4f609fed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/services/{{serviceID}}","description":"<h1 id=\"api-endpoint---fetch-service-by-id\">API Endpoint - Fetch Service by ID</h1>\n<p>This API endpoint allows you to fetch a service by its unique ID.</p>\n<h2 id=\"request\">Request</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>Yes</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>Yes</td>\n<td>integer</td>\n<td>A service ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>The response will contain the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>int</td>\n<td>The unique ID of the service.</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>The name of the service.</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>The description of the service.</td>\n</tr>\n<tr>\n<td>upselling_description</td>\n<td>string</td>\n<td>The upselling description of the service.</td>\n</tr>\n<tr>\n<td>booking_time_before</td>\n<td>int</td>\n<td>The booking time before the service.</td>\n</tr>\n<tr>\n<td>cancel_time_before</td>\n<td>int</td>\n<td>The cancellation time before the service.</td>\n</tr>\n<tr>\n<td>change_time_before</td>\n<td>int</td>\n<td>The changing time before the service.</td>\n</tr>\n<tr>\n<td>max_people</td>\n<td>int</td>\n<td>The maximum number of people for the service.</td>\n</tr>\n<tr>\n<td>tax</td>\n<td>string</td>\n<td>The tax for the service.</td>\n</tr>\n<tr>\n<td>wants_invoice</td>\n<td>bool</td>\n<td>Whether an invoice is wanted for the service.</td>\n</tr>\n<tr>\n<td>only_subscriptions</td>\n<td>bool</td>\n<td>Whether only subscriptions are allowed for the service.</td>\n</tr>\n<tr>\n<td>availability_schedule_id</td>\n<td>int</td>\n<td>The ID of the availability schedule.</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>int</td>\n<td>The duration of the service.</td>\n</tr>\n<tr>\n<td>slots_every</td>\n<td>int</td>\n<td>The slots for every service.</td>\n</tr>\n<tr>\n<td>break_time_before</td>\n<td>int</td>\n<td>The break time before the service.</td>\n</tr>\n<tr>\n<td>break_time_after</td>\n<td>int</td>\n<td>The break time after the service.</td>\n</tr>\n<tr>\n<td>price</td>\n<td>int</td>\n<td>The price of the service.</td>\n</tr>\n<tr>\n<td>days</td>\n<td>array</td>\n<td>The days available for the service.</td>\n</tr>\n<tr>\n<td>allow_dynamic_duration</td>\n<td>bool</td>\n<td>Whether dynamic duration is allowed.</td>\n</tr>\n<tr>\n<td>allow_online_payment</td>\n<td>bool</td>\n<td>Whether online payment is allowed.</td>\n</tr>\n<tr>\n<td>awaiting_booking_payment_time</td>\n<td>int</td>\n<td>The awaiting booking payment time.</td>\n</tr>\n<tr>\n<td>payment_required</td>\n<td>bool</td>\n<td>Whether payment is required.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>The status of the service.</td>\n</tr>\n<tr>\n<td>order_position</td>\n<td>int</td>\n<td>The order position of the service.</td>\n</tr>\n<tr>\n<td>default_booking_status</td>\n<td>string</td>\n<td>The default booking status.</td>\n</tr>\n<tr>\n<td>default_image</td>\n<td>array</td>\n<td>The default image of the service.</td>\n</tr>\n<tr>\n<td>category</td>\n<td>array</td>\n<td>The category of the service.</td>\n</tr>\n<tr>\n<td>employees</td>\n<td>array</td>\n<td>The employees related to the service.</td>\n</tr>\n<tr>\n<td>types</td>\n<td>array</td>\n<td>The types of the service.</td>\n</tr>\n<tr>\n<td>locations</td>\n<td>array</td>\n<td>The locations of the service.</td>\n</tr>\n<tr>\n<td>resources</td>\n<td>array</td>\n<td>The resources related to the service.</td>\n</tr>\n<tr>\n<td>simple_store_products</td>\n<td>array</td>\n<td>The simple store products related to the service.</td>\n</tr>\n<tr>\n<td>max_booking_time</td>\n<td>int</td>\n<td>The maximum booking time for the service.</td>\n</tr>\n<tr>\n<td>max_user_bookings</td>\n<td>int</td>\n<td>The maximum user bookings for the service.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","{{serviceID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"22687dd1-4cb5-46a4-a176-532a4f609fed"},{"name":"Services","id":"91944b16-32b9-439f-a704-952bea6c892f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/services","description":"<p>This endpoint allows you to fetch all services.\n<br /><br />\nWe do you need to know?</p>\n<blockquote>\n<p><code>status</code></p>\n<p>We use different statuses for booking:</p>\n<ul>\n<li><code>waiting</code> - The booking is waiting for approvement.</li>\n<li><code>payment</code> - The booking is waiting for payment.</li>\n<li><code>approved</code> - The booking is approved and waiting to done.</li>\n<li><code>cancelled</code> - The booking is cancelled.</li>\n<li><code>done</code> - The booking is done.</li>\n</ul>\n</blockquote>\n<blockquote>\n<p><code>allow_dynamic_duration</code> </p>\n<p>It says if the service can use dynamic time for booking (<code>required_time</code> at <code>POST https://api.calendesk.com/api/user/bookings</code>)</p>\n</blockquote>\n<blockquote>\n<p><code>payment_required</code></p>\n<p>It will be used in the future. So far we don't support payments.</p>\n</blockquote>\n<blockquote>\n<p><code>default_booking_status</code></p>\n<p>This says which status booking will receive if will be created for this service. Status <code>waiting</code> means that tenant's admin has to approve it.</p>\n</blockquote>\n<blockquote>\n<p><code>types</code></p>\n<p>Some services have types. It means you can't book just a service by its id, you need to choose which type you want to book as well.\nTypes have own price and duration.</p>\n</blockquote>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>optional</td>\n<td>string, ids separated by commas</td>\n<td>IDs of employees separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/employees</code></td>\n</tr>\n<tr>\n<td>category_ids</td>\n<td>optional</td>\n<td>string, ids separated by commas</td>\n<td>IDs of categories separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/services</code></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"91944b16-32b9-439f-a704-952bea6c892f"},{"name":"Search for Services","id":"84685c08-dd8a-4c9e-a5d7-2781b1fc8476","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/v2/services/search?status=active,inactive&query=test","description":"<p>This endpoint allows you to fetch all services.\n<br /><br />\nWe do you need to know?</p>\n<blockquote>\n<p><code>status</code></p>\n<p>We use different statuses for booking:</p>\n<ul>\n<li><code>waiting</code> - The booking is waiting for approvement.</li>\n<li><code>payment</code> - The booking is waiting for payment.</li>\n<li><code>approved</code> - The booking is approved and waiting to done.</li>\n<li><code>cancelled</code> - The booking is cancelled.</li>\n<li><code>done</code> - The booking is done.</li>\n</ul>\n</blockquote>\n<blockquote>\n<p><code>allow_dynamic_duration</code> </p>\n<p>It says if the service can use dynamic time for booking (<code>required_time</code> at <code>POST https://api.calendesk.com/api/user/bookings</code>)</p>\n</blockquote>\n<blockquote>\n<p><code>payment_required</code></p>\n<p>It will be used in the future. So far we don't support payments.</p>\n</blockquote>\n<blockquote>\n<p><code>default_booking_status</code></p>\n<p>This says which status booking will receive if will be created for this service. Status <code>waiting</code> means that tenant's admin has to approve it.</p>\n</blockquote>\n<blockquote>\n<p><code>types</code></p>\n<p>Some services have types. It means you can't book just a service by its id, you need to choose which type you want to book as well.\nTypes have own price and duration.</p>\n</blockquote>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>optional</td>\n<td>string, ids separated by commas</td>\n<td>IDs of employees separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/employees</code></td>\n</tr>\n<tr>\n<td>category_ids</td>\n<td>optional</td>\n<td>string, ids separated by commas</td>\n<td>IDs of categories separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/services</code></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","v2","services","search"],"host":["https://api.calendesk.com"],"query":[{"key":"status","value":"active,inactive"},{"key":"query","value":"test"}],"variable":[]}},"response":[],"_postman_id":"84685c08-dd8a-4c9e-a5d7-2781b1fc8476"},{"name":"Create Service","id":"9042a394-dcf2-4048-acd6-35b7da9a0fb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"category_id\" : 1,\n\t\"name\" : \"Strzyżenie profesjonalne\",\n\t\"description\" : \"To strzyżenie pozwoli Ci całkowicie oddać się w ręce profesjonalisty.\",\n\t\"duration\": 60,\n\t\"booking_time_before\" : 30,\n\t\"cancel_time_before\" : 30,\n    \"max_booking_time\": 525600,\n\t\"price\": 1000,\n\t\"slots_every\" : 30,\n\t\"allow_dynamic_duration\" : true,\n\t\"status\" : \"active\",\n\t\"default_booking_status\" : \"approved\",\n\t\"resources\" : [],\n\t\"employees\" : [1],\n    \"allow_online_payment\": false,\n    \"payment_required\": false,\n\t\"types\" : [{\n\t\t\"name\" : \"Test\",\n\t\t\"duration\": 10,\n\t\t\"price\": 1000\n\t}],\n    \"locations\" : [\n        {\n            \"type\": 1,\n            \"data\": \"Warszawa, Jerozolimskie 1\"\n        },\n        {\n            \"type\": 2,\n            \"data\": \"+48500123456\"\n        },\n        {\n            \"type\": 3\n        }\n    ],\n\t\"default_image_id\" : null\n\t\n}"},"url":"https://api.calendesk.com/api/admin/services","description":"<p>This endpoint allows you to create a new service.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>category_id</td>\n<td>required</td>\n<td>integer</td>\n<td>Category ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/categories</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>required</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n<tr>\n<td>duration</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Default duration in minutes.</td>\n<td></td>\n</tr>\n<tr>\n<td>booking_time_before</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Until this amount of minutes before booking user can book the service.</td>\n<td></td>\n</tr>\n<tr>\n<td>cancel_time_before</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Until this amount of minutes before booking user can cancel the booking.</td>\n<td></td>\n</tr>\n<tr>\n<td>price</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Price in cents.</td>\n<td></td>\n</tr>\n<tr>\n<td>slots_every</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>For the selected amount of minutes, booking slots will be created every <code>duration</code> time + <code>slots_every</code>.</td>\n<td></td>\n</tr>\n<tr>\n<td>allow_dynamic_duration</td>\n<td>required</td>\n<td>boolean, <code>1</code> or <code>0</code></td>\n<td>If <code>1</code> users will be able to change the default <code>duration</code> as they want.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the service.</td>\n<td>- <code>active</code> - The booking is active.<br />- <code>inactive</code> - The booking is inactive and not visible publicly.</td>\n</tr>\n<tr>\n<td>order_position</td>\n<td>optional</td>\n<td>numeric</td>\n<td>Order postion.</td>\n<td></td>\n</tr>\n<tr>\n<td>resources</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Array of resource ids.</td>\n<td><code>GET https://api.calendesk.com/api/admin/resources</code></td>\n</tr>\n<tr>\n<td>employees</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Array of employee ids.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>types</td>\n<td>optional</td>\n<td>array[typeObject]</td>\n<td>Array of type objects.</td>\n<td></td>\n</tr>\n<tr>\n<td>types.name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Service type's name.</td>\n<td></td>\n</tr>\n<tr>\n<td>types.duration</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Service type's duration in minutes.</td>\n<td></td>\n</tr>\n<tr>\n<td>types.price</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Service type's price in cents.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9042a394-dcf2-4048-acd6-35b7da9a0fb0"},{"name":"Update Service","id":"52ec6706-f35c-48d1-b408-8ddcd6fe70d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"price\": 1400,\n    \"order_position\": 1,\n    \"default_image_id\": 11,\n    \"max_booking_time\": 1440,\n    \"employees\": [\n        1\n    ],\n    \"resources\": [],\n    \"locations\": [\n        {\n            \"type\": 1,\n            \"data\": \"Warszawa, Jerozolimskie 102 after update\"\n        },\n        {\n            \"type\": 2,\n            \"data\": \"+48500123456\"\n        },\n        {\n            \"type\": 3\n        }\n    ]\n}"},"url":"https://api.calendesk.com/api/admin/services/24","description":"<p>This endpoint allows you to update selected service. If you want to update <code>types</code> go to another endpoint <code>https://api.calendesk.com/api/admin/services/{{serviceID}}/types/{{serviceTypeID}}</code></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>category_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>Category ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/categories</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>optional</td>\n<td>string, max: 30</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n<tr>\n<td>duration</td>\n<td>optional</td>\n<td>integer, max: 2147483647</td>\n<td>Default duration in minutes.</td>\n<td></td>\n</tr>\n<tr>\n<td>booking_time_before</td>\n<td>optional</td>\n<td>integer, max: 2147483647</td>\n<td>Until this amount of minutes before booking user can book the service.</td>\n<td></td>\n</tr>\n<tr>\n<td>cancel_time_before</td>\n<td>optional</td>\n<td>integer, max: 2147483647</td>\n<td>Until this amount of minutes before booking user can cancel the booking.</td>\n<td></td>\n</tr>\n<tr>\n<td>price</td>\n<td>optional</td>\n<td>integer, max: 2147483647</td>\n<td>Price in cents.</td>\n<td></td>\n</tr>\n<tr>\n<td>slots_every</td>\n<td>optional</td>\n<td>integer, max: 2147483647</td>\n<td>For the selected amount of minutes, booking slots will be created every <code>duration</code> time + <code>slots_every</code>.</td>\n<td></td>\n</tr>\n<tr>\n<td>allow_dynamic_duration</td>\n<td>optional</td>\n<td>boolean, <code>1</code> or <code>0</code></td>\n<td>If <code>1</code> users will be able to change the default <code>duration</code> as they want.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the service.</td>\n<td>- <code>active</code> - The booking is active.<br />- <code>inactive</code> - The booking is inactive and not visible publicly.</td>\n</tr>\n<tr>\n<td>order_position</td>\n<td>optional</td>\n<td>numeric</td>\n<td>Order postion.</td>\n<td></td>\n</tr>\n<tr>\n<td>resources</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Array of resource ids.</td>\n<td><code>GET https://api.calendesk.com/api/admin/resources</code></td>\n</tr>\n<tr>\n<td>employees</td>\n<td>optional</td>\n<td>array[integer]</td>\n<td>Array of employee ids.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","24"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"52ec6706-f35c-48d1-b408-8ddcd6fe70d8"},{"name":"Update Multiple Services","id":"710c100b-6935-46c6-a90e-0f64900526b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_ids\" : [2,3],\n\t\"fields\" : {\n\t\t\"name\" : \"Nazwa dla wszystkich\",\n\t\t\"price\" : 777\n\t}\n}"},"url":"https://api.calendesk.com/api/admin/services","urlObject":{"path":["api","admin","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"710c100b-6935-46c6-a90e-0f64900526b3"},{"name":"Upload Service's Picture","id":"aece8ace-459b-4e3a-9280-3337978c59ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","value":null}]},"url":"https://api.calendesk.com/api/admin/services/{{serviceID}}/upload/picture","description":"<p>This endpoint allows you to add a picture to service.<br />\nThis request will remove the old picture and will set the new one as a default.<br />\nRemember about setting <code>Conent-Type</code> to <code>application/x-www-form-urlencoded</code>.<br />\nThe default limit is <code>10240 KB</code>, the size will be limited to <code>600x600 px</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service Id.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>image</td>\n<td>required</td>\n<td>file</td>\n<td>Image.</td>\n<td>10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","{{serviceID}}","upload","picture"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"aece8ace-459b-4e3a-9280-3337978c59ee"},{"name":"Delete Service","id":"1f2d8d2b-72e8-4b3b-9ccd-998b2f6d85b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/services/{{serviceID}}","description":"<p>This endpoint allows you to delete a service.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","{{serviceID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1f2d8d2b-72e8-4b3b-9ccd-998b2f6d85b2"},{"name":"Delete Multiple Services","id":"25caaf78-32aa-487c-8201-58e17d078dc3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_ids\" : [156,157]\n}"},"url":"https://api.calendesk.com/api/admin/services","urlObject":{"path":["api","admin","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"25caaf78-32aa-487c-8201-58e17d078dc3"}],"id":"984b70a1-5666-4210-93b5-30d74bf7bd27","_postman_id":"984b70a1-5666-4210-93b5-30d74bf7bd27","description":""},{"name":"Service's Types","item":[{"name":"Create Service's Type","id":"ea5b7106-9df7-44f4-85fa-e87df9ec2832","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Test\",\n\t\"price\": 123,\n\t\"duration\" : 20\n}"},"url":"https://api.calendesk.com/api/admin/services/{{serviceID}}","description":"<p>This endpoint allows you to assign a new service type to any service.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Service type's name.</td>\n<td></td>\n</tr>\n<tr>\n<td>duration</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Service type's duration in minutes.</td>\n<td></td>\n</tr>\n<tr>\n<td>price</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Service type's price in cents.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","{{serviceID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ea5b7106-9df7-44f4-85fa-e87df9ec2832"},{"name":"Update Service's Type","id":"16553b96-929e-4278-af1a-9215e148e82d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Test\",\n\t\"price\": 123,\n\t\"duration\" : 20\n}"},"url":"https://api.calendesk.com/api/admin/services/{{serviceID}}/types/{{serviceTypeID}}","description":"<p>This endpoint allows you to update a service type.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>serviceTypeID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service Type ID you are updating.</td>\n<td>Types in <code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Service type's name.</td>\n<td></td>\n</tr>\n<tr>\n<td>duration</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Service type's duration in minutes.</td>\n<td></td>\n</tr>\n<tr>\n<td>price</td>\n<td>required</td>\n<td>integer, max: 2147483647</td>\n<td>Service type's price in cents.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","{{serviceID}}","types","{{serviceTypeID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"16553b96-929e-4278-af1a-9215e148e82d"},{"name":"Delete Service's Type","id":"e07fd33f-2352-4dde-807a-547452edeecb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/services/{{serviceID}}/types/{{serviceTypeID}}","description":"<p>This endpoint allows you to delete a service type.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>serviceID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>serviceTypeID</td>\n<td>required</td>\n<td>integer</td>\n<td>Service Type ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","services","{{serviceID}}","types","{{serviceTypeID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e07fd33f-2352-4dde-807a-547452edeecb"}],"id":"5ee7cb05-5d79-4daf-8f9b-7a530d949743","_postman_id":"5ee7cb05-5d79-4daf-8f9b-7a530d949743","description":""},{"name":"Locations","item":[{"name":"Locations","id":"2cfd8c0e-d795-4230-a794-e82b3dcca03f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/location","description":"<h3 id=\"get-urlapiadminlocation\">GET https://api.calendesk.com/api/admin/location</h3>\n<p>This endpoint retrieves a list of locations. It supports filters for more targeted results.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example Usage</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>query</td>\n<td>string</td>\n<td>A search term to filter locations by name or other data attributes.</td>\n<td><code>GET https://api.calendesk.com/api/admin/location?query=name</code></td>\n</tr>\n<tr>\n<td>type_ids</td>\n<td>string</td>\n<td>A comma-separated list of type IDs to filter locations associated with these type.  <br />  <br />- <code>1</code>: Physical locations with an address.  <br />- <code>2</code>: Telephone-based service locations.  <br />- <code>3</code>: Online locations via Google Meet.  <br />- <code>4</code>: Any other types of locations, defined as needed.  <br />- <code>5</code>: Online locations via Zoom.  <br />- <code>6</code>: Online locations via Microsoft Teams.  <br />- <code>7</code>: Online locations via Skype.  <br />- <code>8</code>: Service locations accessible through WhatsApp.</td>\n<td><code>GET https://api.calendesk.com/api/admin/location?type_ids=1,2</code></td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>string</td>\n<td>A comma-separated list of service IDs to filter locations associated with these services.</td>\n<td><code>GET https://api.calendesk.com/api/admin/location?service_ids=1,2,3</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","location"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2cfd8c0e-d795-4230-a794-e82b3dcca03f"},{"name":"Create Location","id":"75256e83-8bd9-483e-bd1f-78587f1ea3ca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type\": 4,\n    \"data\": \"Inna nowa API\",\n    \"service_ids\": [88,99,13]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/location","description":"<h3 id=\"post-urlapiadminlocation\">POST https://api.calendesk.com/api/admin/location</h3>\n<p>This endpoint creates a new location with the specified details.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>integer</td>\n<td>The type of the location.</td>\n</tr>\n<tr>\n<td>data</td>\n<td>string</td>\n<td>Detailed information about the location.</td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>array</td>\n<td>An array of service IDs associated with the location.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": 4,\n    \"data\": \"Location data\",\n    \"service_ids\": [88, 99, 13]\n}\n\n</code></pre>\n","urlObject":{"path":["api","admin","location"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"75256e83-8bd9-483e-bd1f-78587f1ea3ca"},{"name":"Update Location","id":"f351a7e1-6077-4398-a1a4-0e7c50fbe134","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": \"Changed name\",\n    \"service_ids\": [88,99,13]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/location/{{locationId}}","description":"<h3 id=\"patch-urlapiadminlocationlocationid\">PATCH https://api.calendesk.com/api/admin/location/{{locationId}}</h3>\n<p>This endpoint updates an existing location identified by <code>locationId</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td>string</td>\n<td>Updated details about the location.</td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>array</td>\n<td>Updated array of service IDs for the location.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": \"Changed name\",\n    \"service_ids\": [88, 99, 13]\n}\n\n</code></pre>\n","urlObject":{"path":["api","admin","location","{{locationId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f351a7e1-6077-4398-a1a4-0e7c50fbe134"},{"name":"Delete Location","id":"28479263-9470-4ee4-927c-f77f1611c2a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/location/{{locationId}}","description":"<h3 id=\"delete-urlapiadminlocationlocationid\">DELETE https://api.calendesk.com/api/admin/location/{{locationId}}</h3>\n<p>This endpoint deletes a location identified by <code>locationId</code>. It does not require a body.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>locationId</td>\n<td>integer</td>\n<td>The ID of the location to be deleted.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Usage:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>DELETE https://api.calendesk.com/api/admin/location/123\n\n</code></pre>","urlObject":{"path":["api","admin","location","{{locationId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"28479263-9470-4ee4-927c-f77f1611c2a0"}],"id":"87d46faa-858a-47db-9130-a393d6066b88","description":"<h3 id=\"locations-api-overview\">Locations API Overview</h3>\n<p>The <code>Locations</code> API provides a dynamic and versatile framework for managing location-related data, intricately linked with services in an administrative system. It is an essential part of the system's booking process, allowing users to select from various location types when scheduling appointments.</p>\n<h4 id=\"key-relationships-and-functionalities\">Key Relationships and Functionalities:</h4>\n<ol>\n<li><strong>Service-Location Association</strong>: Each service within the system can be associated with multiple locations, facilitating a flexible and user-centric booking experience. This feature enables users to choose both a service and its corresponding location when making an appointment.</li>\n<li><strong>Location Availability in Service and Booking</strong>: Locations are not just standalone entities; they are integrated within the Service and Booking modules. This integration ensures that users have clear and immediate access to location options when booking services.</li>\n<li><strong>Diverse Location Types</strong>: The API supports various location types to cater to a range of service delivery methods. These include:<ul>\n<li><code>IN_PERSON</code> (1): Physical locations with an address.</li>\n<li><code>PHONE</code> (2): Telephone-based service locations.</li>\n<li><code>GOOGLE_MEET</code> (3): Online locations via Google Meet.</li>\n<li><code>OTHER</code> (4): Any other types of locations, defined as needed.</li>\n<li><code>ZOOM</code> (5): Online locations via Zoom.</li>\n<li><code>TEAMS</code> (6): Online locations via Microsoft Teams.</li>\n<li><code>SKYPE</code> (7): Online locations via Skype.</li>\n<li><code>WHATSAPP</code> (8): Service locations accessible through WhatsApp.</li>\n</ul>\n</li>\n<li><strong>Enhanced Data for Certain Types</strong>: For types like <code>IN_PERSON</code>, <code>PHONE</code>, and <code>OTHER</code>, additional textual data can be provided for a better understanding of the location. This information is displayed to users, aiding them in making informed choices.</li>\n</ol>\n<h4 id=\"core-features\">Core Features:</h4>\n<ol>\n<li><strong>List Locations (GET)</strong>: Retrieve a comprehensive list of locations. This endpoint allows for detailed filtering based on search queries, location types, and associated service IDs.</li>\n<li><strong>Create Location (POST)</strong>: Introduce a new location into the system, specifying its type, detailed information, and associated services.</li>\n<li><strong>Update Location (PATCH)</strong>: Adjust existing location details, a crucial function for maintaining current and accurate location information, including changes to type, descriptive data, and service linkages.</li>\n<li><strong>Delete Location (DELETE)</strong>: Eliminate a location from the system, a key feature for data management and ensuring relevance and accuracy in location offerings.</li>\n</ol>\n","_postman_id":"87d46faa-858a-47db-9130-a393d6066b88"},{"name":"Settings","item":[{"name":"Settings","id":"df8b89d3-fc70-4e48-94a0-6bfed20ff716","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"alphanumeric_sms_sender\": \"Calendesk\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/settings","urlObject":{"path":["api","admin","settings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"df8b89d3-fc70-4e48-94a0-6bfed20ff716"},{"name":"Settings All","id":"5b002616-f24c-45cb-81c1-73f96f5f6ff9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/settings/all","urlObject":{"path":["api","settings","all"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5b002616-f24c-45cb-81c1-73f96f5f6ff9"},{"name":"Settings Web","id":"13ae6b86-5c61-4325-ba13-b9aacecf933e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/settings/web","urlObject":{"path":["api","settings","web"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"13ae6b86-5c61-4325-ba13-b9aacecf933e"},{"name":"Settings Mobile","id":"b281a710-24fd-4ac6-972a-426fb8998bb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/settings/mobile","urlObject":{"path":["api","settings","mobile"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b281a710-24fd-4ac6-972a-426fb8998bb3"},{"name":"Settings Admin","id":"057e78dc-98ea-408d-a5f3-e0aae04acfe8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/settings","urlObject":{"path":["api","admin","settings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"057e78dc-98ea-408d-a5f3-e0aae04acfe8"},{"name":"Settings Regulations","id":"da636fda-15f6-44cb-a717-a1a5a6a83723","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Accept-Language","value":"{{language}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/settings/regulations","urlObject":{"path":["api","settings","regulations"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"da636fda-15f6-44cb-a717-a1a5a6a83723"},{"name":"Generate Regulations","id":"88135f77-430e-4728-bee7-aa7ff4b91a03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Accept-Language","type":"text","value":"{{language}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"company_name\": \"ABC SA\",\n    \"company_address\": \"Street\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/regulations/generate","urlObject":{"path":["api","admin","regulations","generate"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"88135f77-430e-4728-bee7-aa7ff4b91a03"},{"name":"Settings Privacy Policy","id":"15321a9b-5f1f-4014-b831-07c4d83413f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/settings/privacy_policy","urlObject":{"path":["api","settings","privacy_policy"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"15321a9b-5f1f-4014-b831-07c4d83413f0"}],"id":"2ba66e96-cda0-4bae-83d5-00c1c9f04156","_postman_id":"2ba66e96-cda0-4bae-83d5-00c1c9f04156","description":""},{"name":"Simple Store","item":[{"name":"Create Simple Store Product","id":"c5d7d3bc-f73e-4f30-a7eb-093db6837d5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Product Test 2\",\n    \"price\": 1200\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/simple-store/product","urlObject":{"path":["api","admin","simple-store","product"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c5d7d3bc-f73e-4f30-a7eb-093db6837d5f"},{"name":"Update Simple Store Product","id":"09584e55-f979-4571-aeac-b9ce8dc9d54c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Product Test Updated 2\",\n    \"price\": 1400\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/simple-store/product/2","urlObject":{"path":["api","admin","simple-store","product","2"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09584e55-f979-4571-aeac-b9ce8dc9d54c"},{"name":"Delete Simple Store Product","id":"b5b14e01-2be9-4563-9e2d-f2ed28225540","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/simple-store/product/1","urlObject":{"path":["api","admin","simple-store","product","1"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b5b14e01-2be9-4563-9e2d-f2ed28225540"},{"name":"Get All Simple Store Products","id":"9135f06a-304e-4874-87ee-61a3589d33f7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/simple-store/product?query=prod","urlObject":{"path":["api","admin","simple-store","product"],"host":["https://api.calendesk.com"],"query":[{"key":"query","value":"prod"}],"variable":[]}},"response":[],"_postman_id":"9135f06a-304e-4874-87ee-61a3589d33f7"},{"name":"Get All Admin Simple Store Transactions","id":"c2822026-49c7-49f4-a3bb-4c39e413e701","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/simple-store/product/transaction","urlObject":{"path":["api","admin","simple-store","product","transaction"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c2822026-49c7-49f4-a3bb-4c39e413e701"}],"id":"8480aac9-99c7-4ecf-b9ea-959bffe4dd72","_postman_id":"8480aac9-99c7-4ecf-b9ea-959bffe4dd72","description":""},{"name":"Statistics","item":[{"name":"Statistics","id":"afdf3b4e-93c0-4d27-87c6-de11f031b315","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/stats","description":"<p>This endpoint allows you to fetch statistics.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","stats"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"afdf3b4e-93c0-4d27-87c6-de11f031b315"}],"id":"344fd89c-9f9d-4e28-8dc9-6b602f973161","_postman_id":"344fd89c-9f9d-4e28-8dc9-6b602f973161","description":""},{"name":"Subscriptions","item":[{"name":"Create Subscription","id":"e30cab23-dd0a-440f-acb8-9e642367234b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"stripe_product_price_id\": 1,\n    \"name\": \"Monthly Booking x 10\",\n    \"description\": \"<p>Up to 10 bookings per month</p>\",\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 10,\n    \"service_ids\": [1, 5, 12],\n    \"wants_invoice\": true,\n    \"tax\": \"23\",\n    \"status\": \"active\",\n    \"allow_users_to_cancel\": true,\n    \"max_active_subscriptions\": 1,\n    \"gdpr_fields\": \"[{\\\"name\\\":\\\"GDPR\\\",\\\"label\\\":\\\"I accept the Terms and Privacy Policy\\\",\\\"required\\\":true},{\\\"name\\\":\\\"Optional consent\\\",\\\"label\\\":\\\"<p>Marketing consent</p>\\\",\\\"required\\\":false}]\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/subscriptions","description":"<h1 id=\"subscriptions\">Subscriptions</h1>\n<h2 id=\"create-subscription\">Create Subscription</h2>\n<h3 id=\"endpoint\">Endpoint</h3>\n<p><strong>POST</strong>\n<code>https://api.calendesk.com/api/admin/subscriptions</code></p>\n<h3 id=\"description\">Description</h3>\n<p>Creates a new subscription plan that can be offered to clients. Supports recurring billing via Stripe, service limits, GDPR consent fields, invoicing options, and automatic payment stop rules.</p>\n<h3 id=\"authorization\">Authorization</h3>\n<p>Requires <code>ADD_SUBSCRIPTIONS</code> permission.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in JSON format.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Subscription name displayed to clients. Max 255 characters.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Subscription status. Options: <code>active</code>, <code>inactive</code>.</td>\n</tr>\n<tr>\n<td><code>stripe_product_price_id</code></td>\n<td>integer</td>\n<td>No</td>\n<td>ID of the Stripe product price (must exist in <code>stripe_product_prices</code>).</td>\n</tr>\n<tr>\n<td><code>service_ids</code></td>\n<td>array</td>\n<td>No</td>\n<td>Array of service IDs to associate with this subscription. Each ID must exist in <code>services</code>.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>No</td>\n<td>HTML description of the subscription. Max 65000 characters.</td>\n</tr>\n<tr>\n<td><code>recurring_interval</code></td>\n<td>string</td>\n<td>No</td>\n<td>Billing interval. Options: <code>day</code>, <code>week</code>, <code>month</code>, <code>year</code>.</td>\n</tr>\n<tr>\n<td><code>interval_count</code></td>\n<td>integer</td>\n<td>Conditional</td>\n<td>Number of intervals between billings. <strong>Required</strong> when <code>recurring_interval</code> is set.</td>\n</tr>\n<tr>\n<td><code>service_limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of services a subscriber can use.</td>\n</tr>\n<tr>\n<td><code>wants_invoice</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether to generate an invoice. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>tax</code></td>\n<td>string</td>\n<td>No</td>\n<td>Tax rate percentage (e.g. <code>\"23\"</code>). Max 5 characters.</td>\n</tr>\n<tr>\n<td><code>require_billing_data</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether billing data is required from the client. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>disable_robot_indexing</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether to prevent search engine indexing of the subscription page. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>only_company_invoice_data_type</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether to restrict invoice data to company type only. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>allow_users_to_cancel</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether subscribers can cancel on their own. Default: <code>true</code>.</td>\n</tr>\n<tr>\n<td><code>stop_automatic_payments_recurring_interval</code></td>\n<td>string</td>\n<td>No</td>\n<td>Interval for stopping automatic payments. Options: <code>day</code>, <code>week</code>, <code>month</code>, <code>year</code>.</td>\n</tr>\n<tr>\n<td><code>stop_automatic_payments_interval_count</code></td>\n<td>integer</td>\n<td>Conditional</td>\n<td>Number of intervals before stopping automatic payments. <strong>Required</strong> when <code>stop_automatic_payments_recurring_interval</code> is set.</td>\n</tr>\n<tr>\n<td><code>max_active_subscriptions</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of active subscriptions allowed per client. Min: <code>1</code>.</td>\n</tr>\n<tr>\n<td><code>gdpr_fields</code></td>\n<td>string</td>\n<td>No</td>\n<td>JSON-encoded string defining GDPR consent fields. Max 65000 characters. See <a href=\"#gdpr-fields-format\">GDPR Fields Format</a>.</td>\n</tr>\n<tr>\n<td><code>success_url</code></td>\n<td>string</td>\n<td>No</td>\n<td>Redirect URL after successful subscription purchase. Max 255 characters.</td>\n</tr>\n<tr>\n<td><code>cancel_url</code></td>\n<td>string</td>\n<td>No</td>\n<td>Redirect URL after cancelled subscription purchase. Max 255 characters.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"gdpr-fields-format\">GDPR Fields Format</h3>\n<p>The <code>gdpr_fields</code> value must be a JSON-encoded string containing an array of consent field objects:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Internal identifier for the consent field.</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>string</td>\n<td>Display label (supports HTML).</td>\n</tr>\n<tr>\n<td><code>required</code></td>\n<td>boolean</td>\n<td>Whether the consent is mandatory.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-example\">Request Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"stripe_product_price_id\": 1,\n    \"name\": \"Monthly Booking x 10\",\n    \"description\": \"&lt;p&gt;Up to 10 bookings per month&lt;/p&gt;\",\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 10,\n    \"service_ids\": [1, 5, 12],\n    \"wants_invoice\": true,\n    \"tax\": \"23\",\n    \"status\": \"active\",\n    \"allow_users_to_cancel\": true,\n    \"max_active_subscriptions\": 1,\n    \"gdpr_fields\": \"[{\\\"name\\\":\\\"GDPR\\\",\\\"label\\\":\\\"I accept the Terms and Privacy Policy\\\",\\\"required\\\":true},{\\\"name\\\":\\\"Optional consent\\\",\\\"label\\\":\\\"&lt;p&gt;Marketing consent&lt;/p&gt;\\\",\\\"required\\\":false}]\"\n}\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p><strong>201 Created</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 1,\n    \"stripe_product_price_id\": 1,\n    \"name\": \"Monthly Booking x 10\",\n    \"description\": \"&lt;p&gt;Up to 10 bookings per month&lt;/p&gt;\",\n    \"status\": \"active\",\n    \"success_url\": null,\n    \"cancel_url\": null,\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 10,\n    \"wants_invoice\": true,\n    \"require_billing_data\": false,\n    \"disable_robot_indexing\": false,\n    \"only_company_invoice_data_type\": false,\n    \"allow_users_to_cancel\": true,\n    \"stop_automatic_payments_recurring_interval\": null,\n    \"stop_automatic_payments_interval_count\": null,\n    \"gdpr_fields\": \"[{\\\"name\\\":\\\"GDPR\\\",\\\"label\\\":\\\"I accept the Terms and Privacy Policy\\\",\\\"required\\\":true}]\",\n    \"tax\": \"23\",\n    \"max_active_subscriptions\": 1,\n    \"active_subscriptions_count\": 0,\n    \"created_at\": \"2026-02-19T12:00:00+00:00\",\n    \"updated_at\": \"2026-02-19T12:00:00+00:00\",\n    \"price\": {},\n    \"services\": []\n}\n</code></pre>\n<p><strong>422 Unprocessable Entity</strong> - Validation errors</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"The given data was invalid.\",\n    \"errors\": {\n        \"name\": [\"The name field is required.\"],\n        \"status\": [\"The status field is required.\"]\n    }\n}\n</code></pre>\n","urlObject":{"path":["api","admin","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e30cab23-dd0a-440f-acb8-9e642367234b"},{"name":"Update Subscription","id":"d47871e8-e93e-4e01-9d4b-b4eed0917cce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Monthly Booking x 20\",\n    \"status\": \"active\",\n    \"description\": \"<p>Up to 20 bookings per month</p>\",\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 20,\n    \"service_ids\": [1, 5],\n    \"wants_invoice\": true,\n    \"tax\": \"23\",\n    \"allow_users_to_cancel\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/subscriptions/{{subscriptionId}}","description":"<h1 id=\"update-subscription\">Update Subscription</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>PUT</strong>\n<code>https://api.calendesk.com/api/admin/subscriptions/{subscriptionId}</code></p>\n<h2 id=\"description\">Description</h2>\n<p>Updates an existing subscription. Service associations are fully replaced when <code>service_ids</code> is provided. Note that <code>stripe_product_price_id</code>, <code>stop_automatic_payments_recurring_interval</code>, and <code>stop_automatic_payments_interval_count</code> cannot be changed after creation.</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Requires <code>EDIT_SUBSCRIPTIONS</code> permission.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<h3 id=\"url-path\">URL Path</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>subscriptionId</code></td>\n<td>integer</td>\n<td>The ID of the subscription to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body\">Request Body</h2>\n<p>The request body should be in JSON format.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Subscription name. Max 255 characters.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Subscription status. Options: <code>active</code>, <code>inactive</code>.</td>\n</tr>\n<tr>\n<td><code>service_ids</code></td>\n<td>array</td>\n<td>No</td>\n<td>Array of service IDs to associate. Replaces all current associations. Each ID must exist in <code>services</code>.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>No</td>\n<td>HTML description. Max 65000 characters.</td>\n</tr>\n<tr>\n<td><code>recurring_interval</code></td>\n<td>string</td>\n<td>No</td>\n<td>Billing interval. Options: <code>day</code>, <code>week</code>, <code>month</code>, <code>year</code>.</td>\n</tr>\n<tr>\n<td><code>interval_count</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Number of intervals between billings.</td>\n</tr>\n<tr>\n<td><code>service_limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of services a subscriber can use.</td>\n</tr>\n<tr>\n<td><code>wants_invoice</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether to generate an invoice. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>tax</code></td>\n<td>string</td>\n<td>No</td>\n<td>Tax rate percentage (e.g. <code>\"23\"</code>). Max 5 characters.</td>\n</tr>\n<tr>\n<td><code>require_billing_data</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether billing data is required from the client. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>disable_robot_indexing</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether to prevent search engine indexing. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>only_company_invoice_data_type</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether to restrict invoice data to company type only. Default: <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>allow_users_to_cancel</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Whether subscribers can cancel on their own. Default: <code>true</code>.</td>\n</tr>\n<tr>\n<td><code>max_active_subscriptions</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of active subscriptions allowed per client. Min: <code>1</code>.</td>\n</tr>\n<tr>\n<td><code>gdpr_fields</code></td>\n<td>string</td>\n<td>No</td>\n<td>JSON-encoded string defining GDPR consent fields. Max 65000 characters. See <a href=\"create-subscription.md#gdpr-fields-format\">GDPR Fields Format</a>.</td>\n</tr>\n<tr>\n<td><code>success_url</code></td>\n<td>string</td>\n<td>No</td>\n<td>Redirect URL after successful purchase. Max 255 characters.</td>\n</tr>\n<tr>\n<td><code>cancel_url</code></td>\n<td>string</td>\n<td>No</td>\n<td>Redirect URL after cancelled purchase. Max 255 characters.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-example\">Request Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"name\": \"Monthly Booking x 20\",\n    \"status\": \"active\",\n    \"description\": \"&lt;p&gt;Up to 20 bookings per month&lt;/p&gt;\",\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 20,\n    \"service_ids\": [1, 5],\n    \"wants_invoice\": true,\n    \"tax\": \"23\",\n    \"allow_users_to_cancel\": true\n}\n</code></pre>\n<h2 id=\"response\">Response</h2>\n<p><strong>200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 1,\n    \"stripe_product_price_id\": 1,\n    \"name\": \"Monthly Booking x 20\",\n    \"description\": \"&lt;p&gt;Up to 20 bookings per month&lt;/p&gt;\",\n    \"status\": \"active\",\n    \"success_url\": null,\n    \"cancel_url\": null,\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 20,\n    \"wants_invoice\": true,\n    \"require_billing_data\": false,\n    \"disable_robot_indexing\": false,\n    \"only_company_invoice_data_type\": false,\n    \"allow_users_to_cancel\": true,\n    \"stop_automatic_payments_recurring_interval\": null,\n    \"stop_automatic_payments_interval_count\": null,\n    \"gdpr_fields\": null,\n    \"tax\": \"23\",\n    \"max_active_subscriptions\": null,\n    \"active_subscriptions_count\": 5,\n    \"created_at\": \"2026-02-19T12:00:00+00:00\",\n    \"updated_at\": \"2026-02-19T14:30:00+00:00\",\n    \"price\": {},\n    \"services\": []\n}\n</code></pre>\n<p><strong>404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Not found.\"\n}\n</code></pre>\n<p><strong>422 Unprocessable Entity</strong> - Validation errors</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"The given data was invalid.\",\n    \"errors\": {\n        \"name\": [\"The name field is required.\"],\n        \"status\": [\"The status field is required.\"]\n    }\n}\n</code></pre>\n","urlObject":{"path":["api","admin","subscriptions","{{subscriptionId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d47871e8-e93e-4e01-9d4b-b4eed0917cce"},{"name":"Delete Subscription","id":"7907d6a0-13ee-44af-a578-6a32b7fcdd62","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/subscriptions/{{subscriptionId}}","description":"<h1 id=\"delete-subscription\">Delete Subscription</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>DELETE</strong>\n<code>https://api.calendesk.com/api/admin/subscriptions/{subscriptionId}</code></p>\n<h2 id=\"description\">Description</h2>\n<p>Deletes a subscription. The subscription can only be deleted if no users have subscribed to it. If any user subscriptions exist, the request will be rejected.</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Requires <code>DELETE_SUBSCRIPTIONS</code> permission.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<h3 id=\"url-path\">URL Path</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>subscriptionId</code></td>\n<td>integer</td>\n<td>The ID of the subscription to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p><strong>200 OK</strong> - Empty response</p>\n<p><strong>403 Forbidden</strong> - Subscription has active user subscriptions</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Forbidden.\"\n}\n</code></pre>\n<p><strong>404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Not found.\"\n}\n</code></pre>\n","urlObject":{"path":["api","admin","subscriptions","{{subscriptionId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7907d6a0-13ee-44af-a578-6a32b7fcdd62"},{"name":"Get Subscription","id":"cf810aee-db0b-4b6c-8ccd-52be30f97532","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/subscriptions/{{subscriptionId}}","description":"<h1 id=\"get-subscription\">Get Subscription</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>GET</strong><br /><code>https://api.calendesk.com/api/admin/subscriptions/{subscriptionId}</code></p>\n<h2 id=\"description\">Description</h2>\n<p>Retrieves a single subscription by its ID, including the count of currently active user subscriptions (active or canceled but not yet expired).</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Requires <code>SHOW_SUBSCRIPTIONS</code> permission.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<h3 id=\"url-path\">URL Path</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>subscriptionId</code></td>\n<td>integer</td>\n<td>The ID of the subscription.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p><strong>200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 1,\n    \"stripe_product_price_id\": 1,\n    \"name\": \"Monthly Booking x 10\",\n    \"description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Up to 10 bookings per month&lt;/p&gt;\",\n    \"status\": \"active\",\n    \"success_url\": null,\n    \"cancel_url\": null,\n    \"recurring_interval\": \"month\",\n    \"interval_count\": 1,\n    \"service_limit\": 10,\n    \"wants_invoice\": true,\n    \"require_billing_data\": false,\n    \"disable_robot_indexing\": false,\n    \"only_company_invoice_data_type\": false,\n    \"allow_users_to_cancel\": true,\n    \"stop_automatic_payments_recurring_interval\": null,\n    \"stop_automatic_payments_interval_count\": null,\n    \"gdpr_fields\": \"[{\\\"name\\\":\\\"GDPR\\\",\\\"label\\\":\\\"I accept the Terms and Privacy Policy\\\",\\\"required\\\":true}]\",\n    \"tax\": \"23\",\n    \"max_active_subscriptions\": 1,\n    \"active_subscriptions_count\": 5,\n    \"created_at\": \"2026-02-19T12:00:00+00:00\",\n    \"updated_at\": \"2026-02-19T12:00:00+00:00\",\n    \"price\": {},\n    \"services\": []\n}\n\n</code></pre>\n<p><strong>404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"No query results for model [Subscription].\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","admin","subscriptions","{{subscriptionId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cf810aee-db0b-4b6c-8ccd-52be30f97532"},{"name":"Get Subscriptions","id":"56ae9a13-2f7d-41d4-b742-221b7df76e3e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/subscriptions","description":"<h1 id=\"get-subscriptions\">Get Subscriptions</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>GET</strong>\n<code>https://api.calendesk.com/api/admin/subscriptions</code></p>\n<h2 id=\"description\">Description</h2>\n<p>Retrieves a paginated list of subscriptions with optional filtering by search query, status, and associated services. Results include active subscription counts, Stripe price details, and linked services.</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Requires <code>SHOW_SUBSCRIPTIONS</code> permission.</p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<h3 id=\"pagination\">Pagination</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Number of results per page. Min: <code>1</code>. Default: <code>50</code>.</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Page number.</td>\n</tr>\n<tr>\n<td><code>order_by</code></td>\n<td>string</td>\n<td>No</td>\n<td>Sort field. Options: <code>id</code>, <code>created_at</code>. Default: <code>id</code>.</td>\n</tr>\n<tr>\n<td><code>ascending</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Sort direction. <code>true</code> = ASC, <code>false</code> = DESC. Default: <code>false</code> (DESC).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"filters\">Filters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>query</code></td>\n<td>string</td>\n<td>No</td>\n<td>Search term. Matches against subscription ID, name, success/cancel URLs, Stripe price ID, and product name/Stripe ID.</td>\n</tr>\n<tr>\n<td><code>status_ids</code></td>\n<td>string</td>\n<td>No</td>\n<td>Comma-separated statuses to filter by. Options: <code>active</code>, <code>inactive</code>. Example: <code>active,inactive</code>.</td>\n</tr>\n<tr>\n<td><code>service_ids</code></td>\n<td>string</td>\n<td>No</td>\n<td>Comma-separated service IDs to filter by. Only returns subscriptions linked to these services. Example: <code>1,5,12</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-example\">Request Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /api/admin/subscriptions?query=booking&amp;status_ids=active&amp;limit=10&amp;page=1&amp;order_by=created_at&amp;ascending=false\n</code></pre><h2 id=\"response\">Response</h2>\n<p><strong>200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"current_page\": 1,\n    \"data\": [\n        {\n            \"id\": 1,\n            \"stripe_product_price_id\": 1,\n            \"name\": \"Monthly Booking x 10\",\n            \"description\": \"&lt;p&gt;Up to 10 bookings per month&lt;/p&gt;\",\n            \"status\": \"active\",\n            \"success_url\": null,\n            \"cancel_url\": null,\n            \"recurring_interval\": \"month\",\n            \"interval_count\": 1,\n            \"service_limit\": 10,\n            \"wants_invoice\": true,\n            \"require_billing_data\": false,\n            \"disable_robot_indexing\": false,\n            \"only_company_invoice_data_type\": false,\n            \"allow_users_to_cancel\": true,\n            \"stop_automatic_payments_recurring_interval\": null,\n            \"stop_automatic_payments_interval_count\": null,\n            \"gdpr_fields\": null,\n            \"tax\": \"23\",\n            \"max_active_subscriptions\": 1,\n            \"active_subscriptions_count\": 5,\n            \"created_at\": \"2026-02-19T12:00:00+00:00\",\n            \"updated_at\": \"2026-02-19T12:00:00+00:00\",\n            \"price\": {},\n            \"services\": []\n        }\n    ],\n    \"first_page_url\": \"https://api.calendesk.com/api/admin/subscriptions?page=1\",\n    \"from\": 1,\n    \"last_page\": 1,\n    \"last_page_url\": \"https://api.calendesk.com/api/admin/subscriptions?page=1\",\n    \"links\": [],\n    \"next_page_url\": null,\n    \"path\": \"https://api.calendesk.com/api/admin/subscriptions\",\n    \"per_page\": 50,\n    \"prev_page_url\": null,\n    \"to\": 1,\n    \"total\": 1\n}\n</code></pre>\n","urlObject":{"path":["api","admin","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"56ae9a13-2f7d-41d4-b742-221b7df76e3e"},{"name":"Search for Subscriptions","id":"7700db63-b37f-4412-9698-c9ac2111c330","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/subscriptions/search","description":"<h1 id=\"search-subscriptions\">Search Subscriptions</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>GET</strong>\n<code>https://api.calendesk.com/api/admin/subscriptions/search</code></p>\n<h2 id=\"description\">Description</h2>\n<p>Lightweight search endpoint that returns a simplified list of subscriptions. Useful for autocomplete and dropdown selectors. Returns only core fields (ID, name, status, price ID) without pagination metadata.</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Requires <code>SEARCH_SUBSCRIPTIONS</code> permission.</p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>query</code></td>\n<td>string</td>\n<td>No</td>\n<td>Search term. Matches against subscription ID, name, and price ID.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>No</td>\n<td>Comma-separated statuses to filter by. Options: <code>active</code>, <code>inactive</code>. Example: <code>active,inactive</code>.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of results to return.</td>\n</tr>\n<tr>\n<td><code>order_by</code></td>\n<td>string</td>\n<td>No</td>\n<td>Sort field. Options: <code>id</code>, <code>name</code>.</td>\n</tr>\n<tr>\n<td><code>ascending</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Sort direction. <code>true</code> = ASC, <code>false</code> = DESC. Default: <code>false</code> (DESC).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-example\">Request Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /api/admin/subscriptions/search?query=booking&amp;status=active&amp;limit=10&amp;order_by=name&amp;ascending=true\n</code></pre><h2 id=\"response\">Response</h2>\n<p><strong>200 OK</strong></p>\n<p>Returns a flat array (no pagination wrapper).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": 1,\n        \"stripe_product_price_id\": 1,\n        \"name\": \"Monthly Booking x 10\",\n        \"status\": \"active\"\n    },\n    {\n        \"id\": 2,\n        \"stripe_product_price_id\": 3,\n        \"name\": \"Monthly Booking x 20\",\n        \"status\": \"active\"\n    }\n]\n</code></pre>\n","urlObject":{"path":["api","admin","subscriptions","search"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7700db63-b37f-4412-9698-c9ac2111c330"},{"name":"Change User Subscription Price","id":"c3f025a9-f9b4-4e0e-ab96-53cb9f9ddc34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"unit_amount\" : 30000,\n    \"proration_behavior\" : \"none\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/stripe/connect/subscriptions/{{subscriptionId}}/prices/change","description":"<h1 id=\"change-subscription-price\">Change Subscription Price</h1>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><strong>POST</strong>\n<code>https://api.calendesk.com/api/admin/stripe/connect/subscriptions/{subscriptionId}/prices/change</code></p>\n<h2 id=\"description\">Description</h2>\n<p>Changes the price of a subscription. The new price takes effect immediately for new customers, while existing subscriptions remain unaffected unless prorations are explicitly specified via <code>proration_behavior</code>. Supports two modes: setting a new price directly via <code>unit_amount</code>, or migrating to an existing Stripe price via <code>from_stripe_product_price_id</code>. The change is processed asynchronously.</p>\n<h2 id=\"authorization\">Authorization</h2>\n<p>Requires <code>EDIT_SERVICES</code> permission. Stripe Connect account must be active and ready to process payments.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<h3 id=\"url-path\">URL Path</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>subscriptionId</code></td>\n<td>integer</td>\n<td>The ID of the subscription to update the price for.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-body\">Request Body</h2>\n<p>The request body should be in JSON format. Two mutually exclusive modes are available:</p>\n<p><strong>Mode 1: New price</strong> — provide <code>unit_amount</code> and <code>proration_behavior</code>.</p>\n<p><strong>Mode 2: Existing price</strong> — provide <code>from_stripe_product_price_id</code> (prohibits <code>unit_amount</code>, <code>recurring</code>, <code>interval_count</code>).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>unit_amount</code></td>\n<td>integer</td>\n<td>Conditional</td>\n<td>New price in <strong>cents</strong> (e.g. <code>30000</code> = 300.00). <strong>Required</strong> when <code>from_stripe_product_price_id</code> is not provided. Prohibited when <code>from_stripe_product_price_id</code> is set.</td>\n</tr>\n<tr>\n<td><code>proration_behavior</code></td>\n<td>string</td>\n<td>Conditional</td>\n<td>Billing behavior for existing subscribers. <strong>Required</strong> when <code>from_stripe_product_price_id</code> is not provided. Options:</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td>- <code>none</code> — no immediate charge; new price applies from the next billing cycle.</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td>- <code>create_prorations</code> — calculate and charge prorated amount immediately.</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td>- <code>always_invoice</code> — charge the full new price immediately.</td>\n</tr>\n<tr>\n<td><code>recurring</code></td>\n<td>string</td>\n<td>No</td>\n<td>New billing interval. Options: <code>day</code>, <code>week</code>, <code>month</code>, <code>year</code>. Prohibited when <code>from_stripe_product_price_id</code> is set.</td>\n</tr>\n<tr>\n<td><code>interval_count</code></td>\n<td>integer</td>\n<td>Conditional</td>\n<td>Number of intervals between billings. <strong>Required</strong> when <code>recurring</code> is set. Prohibited when <code>from_stripe_product_price_id</code> is set.</td>\n</tr>\n<tr>\n<td><code>from_stripe_product_price_id</code></td>\n<td>string</td>\n<td>No</td>\n<td>Stripe price ID to migrate to. When provided, <code>unit_amount</code>, <code>recurring</code>, and <code>interval_count</code> must not be set.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-examples\">Request Examples</h2>\n<p><strong>Mode 1: Set a new price</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"unit_amount\": 30000,\n    \"proration_behavior\": \"none\"\n}\n</code></pre>\n<p><strong>Mode 1: Set a new price with changed billing interval</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"unit_amount\": 50000,\n    \"proration_behavior\": \"create_prorations\",\n    \"recurring\": \"year\",\n    \"interval_count\": 1\n}\n</code></pre>\n<p><strong>Mode 2: Migrate to an existing Stripe price</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"from_stripe_product_price_id\": \"price_1abc2def3ghi\"\n}\n</code></pre>\n<h2 id=\"response\">Response</h2>\n<p><strong>200 OK</strong> - Empty response. The price change is processed asynchronously.</p>\n<p><strong>403 Forbidden</strong> - Stripe payments are not configured or account is not ready</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Stripe payments are disabled or not fully configured.\"\n}\n</code></pre>\n<p><strong>404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Not found.\"\n}\n</code></pre>\n<p><strong>422 Unprocessable Entity</strong> - Validation errors</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"The given data was invalid.\",\n    \"errors\": {\n        \"unit_amount\": [\"The unit amount field is required when from stripe product price id is not present.\"]\n    }\n}\n</code></pre>\n","urlObject":{"path":["api","admin","stripe","connect","subscriptions","{{subscriptionId}}","prices","change"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c3f025a9-f9b4-4e0e-ab96-53cb9f9ddc34"}],"id":"e1523d5f-a529-461f-a992-35d25f571d74","_postman_id":"e1523d5f-a529-461f-a992-35d25f571d74","description":""},{"name":"Tags","item":[{"name":"Tag","id":"a775e355-101d-4757-b28d-03bcc04a9b96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/tags/{{tagID}}","description":"<p>This endpoint allows you to fetch a tag by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>tagID</td>\n<td>required</td>\n<td>integer</td>\n<td>A tag ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","tags","{{tagID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a775e355-101d-4757-b28d-03bcc04a9b96"},{"name":"Tags","id":"b69c6fd5-70cd-4207-986e-c29be802969c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/tags","description":"<p>This endpoint allows you to fetch tags. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","tags"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b69c6fd5-70cd-4207-986e-c29be802969c"},{"name":"Create Tag","id":"45e3f505-58e0-449f-a314-25faddfda997","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Custom tag\"\n}"},"url":"https://api.calendesk.com/api/admin/tags","description":"<p>This endpoint allows you to create a new tag.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Name.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","tags"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"45e3f505-58e0-449f-a314-25faddfda997"},{"name":"Update Tag","id":"2a2d9046-9227-4405-ac6c-a80fd806b269","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Updated tag value\"\n}"},"url":"https://api.calendesk.com/api/admin/tags/{{tagID}}","description":"<p>This endpoint allows you to update a tag.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>tagID</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of tag.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Name.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","tags","{{tagID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2a2d9046-9227-4405-ac6c-a80fd806b269"},{"name":"Delete Tag","id":"10dda001-4607-430f-b4f0-7a0bc6eb2278","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/tags/{{tagID}}","description":"<p>This endpoint allows you to delete a tag.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>tagID</td>\n<td>required</td>\n<td>integer</td>\n<td>Tag ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","tags","{{tagID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"10dda001-4607-430f-b4f0-7a0bc6eb2278"}],"id":"35c7d298-43c6-4cdc-be2b-5acdbe272924","event":[{"listen":"prerequest","script":{"id":"66b9fa43-2065-4010-a2c7-124a47dec20b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"322298da-2736-48db-95d2-00b7f25625a9","type":"text/javascript","exec":[""]}}],"_postman_id":"35c7d298-43c6-4cdc-be2b-5acdbe272924","description":""},{"name":"User Images","item":[{"name":"User Images","id":"18b5241b-1475-46df-98cf-46c43af8718e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/user-images","description":"<p>This endpoint allows you to fetch all user images. This is private storage for users, they can upload images there and use them later. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","user-images"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"18b5241b-1475-46df-98cf-46c43af8718e"},{"name":"Upload User Image","id":"2e348f2a-e34a-4d42-a6ff-dd37a605745e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"warning":"This is a duplicate header and will be overridden by the Content-Type header generated by Postman.","key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","src":"/home/notebook/Desktop/Projects/mojprogramista/shared/postman/bg1.jpg"},{"key":"name","type":"text","value":"bg_1"},{"key":"description","value":"My background","type":"text"}]},"url":"https://api.calendesk.com/api/admin/user-images","description":"<p>This endpoint allows you to add a picture to users images.<br />\nRemember about setting <code>Conent-Type</code> to <code>application/x-www-form-urlencoded</code>.<br />\nThe upload size limit is <code>10240 KB</code>, the width size will be limited to <code>2000 px</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Image name.</td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>required</td>\n<td>string, max: 255</td>\n<td>Image description.</td>\n<td></td>\n</tr>\n<tr>\n<td>image</td>\n<td>required</td>\n<td>file</td>\n<td>Image.</td>\n<td>10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","user-images"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2e348f2a-e34a-4d42-a6ff-dd37a605745e"},{"name":"Update User Image","id":"ded728a6-6e98-4615-97b4-58c2f9186993","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\" : \"bg_2\",\n    \"description\" : \"New description.\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/user-images/{{userImageID}}","description":"<p>This endpoint allows you to add a picture to users images.<br />\nRemember about setting <code>Conent-Type</code> to <code>application/x-www-form-urlencoded</code>.<br />\nThe upload size limit is <code>10240 KB</code>, the width size will be limited to <code>2000 px</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 30</td>\n<td>Image name.</td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>required</td>\n<td>string, max: 255</td>\n<td>Image description.</td>\n<td></td>\n</tr>\n<tr>\n<td>image</td>\n<td>required</td>\n<td>file</td>\n<td>Image.</td>\n<td>10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","user-images","{{userImageID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ded728a6-6e98-4615-97b4-58c2f9186993"},{"name":"Delete User Image","id":"883bc2c3-6cf5-4e61-872f-33944aae3890","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/user-images/{{userImageID}}","description":"<p>This endpoint allows you to delete a user image.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>tenant</td>\n<td>required</td>\n<td>string</td>\n<td>A unique username for tenant.</td>\n<td></td>\n</tr>\n<tr>\n<td>userImageID</td>\n<td>required</td>\n<td>integer</td>\n<td>User image ID.</td>\n<td>GET https://api.calendesk.com/api/admin/user-images</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","user-images","{{userImageID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"883bc2c3-6cf5-4e61-872f-33944aae3890"}],"id":"bd9ef07a-9518-411a-845f-4e1b60289654","event":[{"listen":"prerequest","script":{"id":"ce7bbe5d-bebd-4063-81d4-81427d1d55e0","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"601ed2a1-857d-43b8-8cf7-37dc1ee296ff","type":"text/javascript","exec":[""]}}],"_postman_id":"bd9ef07a-9518-411a-845f-4e1b60289654","description":""},{"name":"Unavailable Booking Slots","item":[{"name":"Unavailable Booking Slots","id":"8b908990-4ad4-4fd4-afcd-df7d44e67a39","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/unavailable-booking-slots?from={{from}}&to={{to}}","description":"<h1 id=\"fetch-unavailable-booking-slots-api-documentation\">Fetch Unavailable Booking Slots API Documentation</h1>\n<p>This endpoint allows you to fetch unavailable booking slots. The response is paginated, and you can filter results using the provided parameters.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>GET https://api.calendesk.com/api/admin/unavailable-booking-slots</code></p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>employee_id</code></td>\n<td>integer</td>\n<td>ID of an employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td><code>employee_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of employees separated by commas (e.g., <code>1,2,3</code>).</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td><code>unavailable_booking_slot_ids</code></td>\n<td>string, comma-separated</td>\n<td>IDs of unavailable booking slots separated by commas (e.g., <code>1,2,3</code>).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>group_id</code></td>\n<td>string</td>\n<td>Filter by group ID (for recurring slots).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>from</code></td>\n<td>string, date (Y-m-d)</td>\n<td>Start date for filtering results.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td><code>to</code></td>\n<td>string, date (Y-m-d)</td>\n<td>End date for filtering results.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>Maximum number of results per page.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>Page number for pagination.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request\">Example Request</h3>\n<p>GET https://api.calendesk.com/api/admin/unavailable-booking-slots?employee_ids=4,5&amp;from=2022-05-01&amp;to=2022-05-31&amp;group_id=abc123</p>\n","urlObject":{"path":["api","admin","unavailable-booking-slots"],"host":["https://api.calendesk.com"],"query":[{"key":"from","value":"{{from}}"},{"key":"to","value":"{{to}}"}],"variable":[]}},"response":[],"_postman_id":"8b908990-4ad4-4fd4-afcd-df7d44e67a39"},{"name":"Create Unavailable Booking Slots","id":"7755f139-f0df-424d-b006-705fd53a4162","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"employee_id\" : 1,\n\t\"start_date\" : \"2020-03-01\",\n\t\"end_date\" : \"2020-03-01\",\n\t\"description\" : \"Day off\"\n}"},"url":"https://api.calendesk.com/api/admin/unavailable-booking-slots","description":"<p>This endpoint allows you to create an unavailable booking spot (block the spot).<br />\nYou can block the spot for all employees or just for one. You can add a description to tell the others why you're blocking the spot e.g. holidays.<br />\nYou can block specific hours or all day. This is just information for employees that there is a blocked spot, but it doesn't block the calendar from putting other events.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d</td>\n<td>Appointment's start date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal <code>start_date</code></td>\n<td>Appointment's end date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>required with <code>end_time</code></td>\n<td>string, time, format H:i</td>\n<td>Appointment's start hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>required with <code>start_time</code></td>\n<td>string, time, format H:i, after <code>start_date</code> and <code>start_time</code></td>\n<td>Appointment's end hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","unavailable-booking-slots"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7755f139-f0df-424d-b006-705fd53a4162"},{"name":"Update Unavailable Booking Slots","id":"96d25239-9d72-41c7-92dd-039fc649f666","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"employee_id\" : null,\n\t\"start_date\" : \"2020-01-12\",\n\t\"end_date\" : \"2020-01-12\",\n\t\"start_time\" : \"10:00\",\n\t\"end_time\" : \"11:00\"\n}"},"url":"https://api.calendesk.com/api/admin/unavailable-booking-slots/{{unavailableBookingSpotID}}","description":"<p>This endpoint allows you to update an unavailable booking spot (block the spot). <br />\nYou can block the spot for all employees or just for one. You can add a description to tell the others why you're blocking the spot e.g. holidays.<br />\nYou can block specific hours or all day. This is just information for employees that there is a blocked spot, but it doesn't block the calendar from putting other events.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>unavailableBookingSpotID</td>\n<td>required</td>\n<td>integer</td>\n<td>Unavailable booking spot ID</td>\n<td><code>GET https://api.calendesk.com/api/admin/unavailable-booking-slots</code></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of employee.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d</td>\n<td>Appointment's start date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal <code>start_date</code></td>\n<td>Appointment's end date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>required with <code>end_time</code></td>\n<td>string, time, format H:i</td>\n<td>Appointment's start hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>required with <code>start_time</code></td>\n<td>string, time, format H:i, after <code>start_date</code> and <code>start_time</code></td>\n<td>Appointment's end hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>description</td>\n<td>optional</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","unavailable-booking-slots","{{unavailableBookingSpotID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"96d25239-9d72-41c7-92dd-039fc649f666"},{"name":"Delete Unavailable Booking Slots","id":"5c5f77a0-43fe-40a9-809d-c646499569fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/unavailable-booking-slots/{{unavailableBookingSpotID}}","description":"<p>This endpoint allows you to delete a unavailable booking slot.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>unavailableBookingSpotID</td>\n<td>required</td>\n<td>integer</td>\n<td>Unavailable booking spot ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/unavailable-booking-slots</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","unavailable-booking-slots","{{unavailableBookingSpotID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5c5f77a0-43fe-40a9-809d-c646499569fd"}],"id":"1efbfb85-907d-4b85-8880-3ff0740631de","event":[{"listen":"prerequest","script":{"id":"e20dce55-fee0-4291-84a2-5dcb95d02852","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"3cf12ff6-686a-449f-8144-6c11d08e7ae4","type":"text/javascript","exec":[""]}}],"_postman_id":"1efbfb85-907d-4b85-8880-3ff0740631de","description":""},{"name":"Users","item":[{"name":"Preferences","item":[{"name":"Update User Preferences","id":"74b7fa9a-b55a-46c0-aff3-fbeec5e07411","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email_notification_booking_created\": false,\n    \"email_notification_booking_updated\": false,\n    \"email_notification_booking_deleted\": false,\n    \"email_notification_booking_reminder\": false,\n    \"sms_notification_booking_created\": false,\n    \"sms_notification_booking_updated\": false,\n    \"sms_notification_booking_deleted\": false,\n    \"sms_notification_booking_reminder\": false\n    \n}"},"url":"https://api.calendesk.com/api/admin/users/{{userId}}/preferences","urlObject":{"path":["api","admin","users","{{userId}}","preferences"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"74b7fa9a-b55a-46c0-aff3-fbeec5e07411"}],"id":"80124b8c-1aed-42af-bd86-ae89212c7e25","_postman_id":"80124b8c-1aed-42af-bd86-ae89212c7e25","description":""},{"name":"User's Data","id":"47413f12-8868-46bd-ba4d-cb648d8d57be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/user","description":"<p>This endpoint allows you to fetch logged user's data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","user"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"47413f12-8868-46bd-ba4d-cb648d8d57be"},{"name":"User","id":"a6787bb2-312f-415a-bd57-d23a137299fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/users/{{userID}}","description":"<p>This endpoint allows you to fetch a user by its <code>id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>userID</td>\n<td>required</td>\n<td>integer</td>\n<td>A user's ID.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users","{{userID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a6787bb2-312f-415a-bd57-d23a137299fd"},{"name":"Users","id":"648d616b-887a-4c2c-9135-d5808df625b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/v2/users?query=MPR","description":"<p>This endpoint allows you to fetch users. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td><code>id</code>,<code>name</code>,<code>surname</code>,<code>email</code>, <code>created_at</code></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n<tr>\n<td>user_ids</td>\n<td>optional</td>\n<td>string</td>\n<td>User Ids separated by comma.</td>\n<td></td>\n</tr>\n<tr>\n<td>group_ids</td>\n<td>optional</td>\n<td>string</td>\n<td>Group Ids separated by comma.</td>\n<td></td>\n</tr>\n<tr>\n<td>created_from</td>\n<td>optional</td>\n<td>date</td>\n<td>Date</td>\n<td>yyyy-mm-dd</td>\n</tr>\n<tr>\n<td>created_to</td>\n<td>optional</td>\n<td>date</td>\n<td>Date</td>\n<td>yyyy-mm-dd</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","v2","users"],"host":["https://api.calendesk.com"],"query":[{"key":"query","value":"MPR"}],"variable":[]}},"response":[],"_postman_id":"648d616b-887a-4c2c-9135-d5808df625b3"},{"name":"Search for Users","id":"0b294cdd-962d-4fc1-b42c-f644f35168ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/v2/users/search?query=adam&order_by=id&ascending=0","description":"<p>This endpoint allows you to fetch users. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td><code>id</code>,<code>name</code>,<code>surname</code>,<code>email</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","v2","users","search"],"host":["https://api.calendesk.com"],"query":[{"key":"query","value":"adam"},{"key":"order_by","value":"id"},{"key":"ascending","value":"0"}],"variable":[]}},"response":[],"_postman_id":"0b294cdd-962d-4fc1-b42c-f644f35168ee"},{"name":"Users V1","id":"1453bf76-9aee-4a8d-bdf5-bc9b5edb02a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/users?order_by=id&ascending=0","description":"<p>This endpoint allows you to fetch users. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td>0,1</td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name,surname,email</td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n<tr>\n<td>todays_visits</td>\n<td>optional</td>\n<td>boolean</td>\n<td>If <code>true</code> api will return only users who have booked visits for today.</td>\n<td></td>\n</tr>\n<tr>\n<td>with_employees</td>\n<td>optional</td>\n<td>boolean</td>\n<td>If <code>true</code> api will return additionally users who have permissions or are employees.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users"],"host":["https://api.calendesk.com"],"query":[{"key":"order_by","value":"id"},{"key":"ascending","value":"0"}],"variable":[]}},"response":[],"_postman_id":"1453bf76-9aee-4a8d-bdf5-bc9b5edb02a4"},{"name":"Create User","id":"505af307-573a-4dc4-8d9e-3ce04166ab79","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Test\",\n\t\"surname\" : \"User\",\n\t\"email\" : \"test@calendesk.com\",\n\t\"password\" : \"12345678\",\n\t\"activate_account\" : 1,\n\t\"default_phone\": \"+48500123456\",\n\t\"date_of_birth\": \"2019-12-04\",\n\t\"groups\" : [1],\n\t\"gender\": \"female\",\n\t\"description\" : \"test\",\n\t\"default_address\" : {\n        \"city\" : \"Warsaw\",\n\t\t\"street\" : \"Test\",\n\t\t\"house_number\": \"12\"\n\t},\n\t\"default_image_id\" : 14\n}"},"url":"https://api.calendesk.com/api/admin/users","description":"<p>This endpoint allows you to create a new user, which will be able to login to the user's panel (website for tenant's clients) and mobile app (mobile app for tenant's clients).<br />The same user can also receive permission to the admin's panel (admin panel for tenant's). See <a href=\"https://documenter.getpostman.com/view/148493/SzKN12DA?version=latest#5a7076b6-5689-41ef-abba-4fa7a33490f9\">POST api/admin/permissions</a> in Calendesk API (admin's endpoints).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Surname.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>optional</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the user.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number.</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>optional</td>\n<td>string, min: 6, max: 255</td>\n<td>Password.</td>\n<td></td>\n</tr>\n<tr>\n<td>send_reset_password</td>\n<td>required with <code>email</code></td>\n<td>boolean</td>\n<td>The system will send reset password link to the user.</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender.</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>groups</td>\n<td>optional</td>\n<td>array[id]</td>\n<td>Assign the user to the groups.</td>\n<td><code>GET https://api.calendesk.com/api/admin/groups</code></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[id]</td>\n<td>Assign the user to the tags.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>activate_account</td>\n<td>optional</td>\n<td>boolean, <code>1</code> or <code>0</code></td>\n<td>Set <code>1</code> if you want to activate user's account.</td>\n<td><code>1</code> or <code>0</code></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data.</td>\n<td>array</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 255</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street and its number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code.</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"505af307-573a-4dc4-8d9e-3ce04166ab79"},{"name":"Update User","id":"d2c1924f-b308-4d3a-8bf3-7ee98b0e3e61","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"default_phone\": null\n}"},"url":"https://api.calendesk.com/api/admin/users/{{userID}}","description":"<p>This endpoint allows you to update a user's data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>userID</td>\n<td>required</td>\n<td>integer</td>\n<td>A user's ID.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Surname.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>optional</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status of the user.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number.</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>optional</td>\n<td>string, min: 6, max: 255</td>\n<td>Password.</td>\n<td></td>\n</tr>\n<tr>\n<td>send_reset_password</td>\n<td>optional with <code>email</code></td>\n<td>boolean</td>\n<td>The system will send reset password link to the user.</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender.</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>groups</td>\n<td>optional</td>\n<td>array[id]</td>\n<td>Assign the user to the groups.</td>\n<td><code>GET https://api.calendesk.com/api/admin/groups</code></td>\n</tr>\n<tr>\n<td>tags</td>\n<td>optional</td>\n<td>array[id]</td>\n<td>Assign the user to the tags.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>An image id which is assigned to the user's images (upload first). This will replace main user's image (avatar).</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data.</td>\n<td>object</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 255</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street and its number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code.</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_image_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>User image ID for avatar.</td>\n<td><code>GET https://api.calendesk.com/api/admin/user-images</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users","{{userID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d2c1924f-b308-4d3a-8bf3-7ee98b0e3e61"},{"name":"Delete User","id":"fd0ff3c5-27b3-44d2-9e4d-85c4d6825585","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/admin/users/{{userID}}","description":"<p>This endpoint allows you to delete a user.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>userID</td>\n<td>required</td>\n<td>integer</td>\n<td>User ID.</td>\n<td>GET https://api.calendesk.com/api/admin/users</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users","{{userID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fd0ff3c5-27b3-44d2-9e4d-85c4d6825585"},{"name":"Upload User's Picture","id":"803a3405-c3f9-4b71-83e0-fe5d14180bcd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","value":null}]},"url":"https://api.calendesk.com/api/admin/users/{{userID}}/upload/picture","description":"<p>This endpoint allows you to add a picture to user's account.<br />\nThis request will remove the old avatar and will set the new one.<br />\nRemember about setting <code>Conent-Type</code> to <code>application/x-www-form-urlencoded</code>.<br />\nThe default limit is <code>10240 KB</code>, the size will be limited to <code>600x600 px</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>image</td>\n<td>required</td>\n<td>file</td>\n<td>Image.</td>\n<td>10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users","{{userID}}","upload","picture"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"803a3405-c3f9-4b71-83e0-fe5d14180bcd"},{"name":"Update Multiple Users","id":"9c402381-1db5-439a-bf21-3c6bf3e896f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_ids\" : [6,5],\n\t\"fields\" : {\n\t\t\"status\" : \"active\",\n\t\t\"groups\" : [1,2]\n\t}\n}"},"url":"https://api.calendesk.com/api/admin/users","urlObject":{"path":["api","admin","users"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9c402381-1db5-439a-bf21-3c6bf3e896f8"},{"name":"Delete Multiple Users","id":"f6542190-6a78-4deb-86ea-45117848ace6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_ids\" : [6,7]\n}"},"url":"https://api.calendesk.com/api/admin/users","urlObject":{"path":["api","admin","users"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f6542190-6a78-4deb-86ea-45117848ace6"},{"name":"Users generate file","id":"d68bc38e-587a-40bf-ba9c-9a94624b6a4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_ids\": [\n        769,\n        770\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/users/generate/{{type}}","description":"<p>This endpoint allows you to generate file with selected users.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Type of the file you want to download</td>\n<td><code>xlsx</code>, <code>xls</code>, <code>ods</code>, <code>csv</code>, <code>html</code></td>\n</tr>\n<tr>\n<td>user_ids</td>\n<td>array</td>\n<td>User IDs</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","users","generate","{{type}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d68bc38e-587a-40bf-ba9c-9a94624b6a4f"},{"name":"Update User's Description","id":"b72ac91c-47ed-41b3-aef7-4fd8d83bd962","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"description\": \"New description\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/users/{{userId}}/description","urlObject":{"path":["api","admin","users","{{userId}}","description"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b72ac91c-47ed-41b3-aef7-4fd8d83bd962"}],"id":"608c23d7-325c-4221-b55f-33cca1abb022","event":[{"listen":"prerequest","script":{"id":"00b03f60-50e0-44cd-a193-7ffe9f457f18","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"62492887-b931-45a8-9251-b905109104bb","type":"text/javascript","exec":[""]}}],"_postman_id":"608c23d7-325c-4221-b55f-33cca1abb022","description":""},{"name":"User Subscription","item":[{"name":"Get User Subscriptions","id":"39b46dac-29e7-4f2e-86f5-b1e85c8c2a6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/v2/users/subscriptions","urlObject":{"path":["api","admin","v2","users","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"39b46dac-29e7-4f2e-86f5-b1e85c8c2a6f"},{"name":"Create User Subscription","id":"640945f2-4edb-44a7-9a03-9f7003a11abd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_id\": 1,\n    \"subscription_id\": 22,\n    \"create_payment\": true,\n    \"payment_method\": \"transfer\",\n    \"transaction_id\": \"Transfer from 20.08.2022\",\n    \"amount\": 100000\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/users/subscriptions","description":"<h1 id=\"create-user-subscription-api\">Create User Subscription API</h1>\n<p>This API endpoint allows you to create a subscription for a user. You can specify the subscription details, including the user ID, subscription ID, payment details, and more. This is particularly useful for managing subscriptions and payments within your system.</p>\n<p><strong>Endpoint</strong>: <code>POST https://api.calendesk.com/api/admin/users/subscriptions</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<p>The request body should be a JSON object with the following keys and values:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>Integer</td>\n<td>The ID of the user for whom the subscription is being created.</td>\n<td><code>1</code></td>\n<td>Any valid user ID</td>\n</tr>\n<tr>\n<td>subscription_id</td>\n<td>Integer</td>\n<td>The ID of the subscription that the user is being subscribed to.</td>\n<td><code>22</code></td>\n<td>Any valid subscription ID</td>\n</tr>\n<tr>\n<td>create_payment</td>\n<td>Boolean</td>\n<td>Whether to create a payment record for this subscription.</td>\n<td><code>true</code></td>\n<td><code>true</code>, <code>false</code></td>\n</tr>\n<tr>\n<td>payment_method</td>\n<td>String</td>\n<td>The method of payment for the subscription.</td>\n<td><code>\"transfer\"</code></td>\n<td><code>\"stripe\"</code>, <code>\"cash\"</code>, <code>\"transfer\"</code>, <code>\"card\"</code></td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>String</td>\n<td>A unique identifier for the transaction, if applicable.</td>\n<td><code>\"Transfer from 20.08.2022\"</code></td>\n<td>Any valid string</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Integer</td>\n<td>The amount of the payment, in the smallest currency unit (e.g., cents).</td>\n<td><code>100000</code></td>\n<td>Any valid integer</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"user_id\": 1,\n    \"subscription_id\": 22,\n    \"create_payment\": true,\n    \"payment_method\": \"transfer\",\n    \"transaction_id\": \"Transfer from 20.08.2022\",\n    \"amount\": 100000\n}\n\n</code></pre>\n<h2 id=\"description\">Description</h2>\n<p>When creating a user subscription, you can specify whether to create a payment record (<code>create_payment</code>) and define the payment method used. The <code>payment_method</code> can be one of the following: <code>stripe</code>, <code>cash</code>, <code>transfer</code>, or <code>card</code>. Each payment method requires the <code>amount</code> to be specified in the smallest unit of the currency (e.g., cents for USD). If the payment method involves a transaction that can be uniquely identified (e.g., bank transfer), you should include a <code>transaction_id</code>.</p>\n<p>This endpoint is critical for managing user subscriptions and ensuring that payments are tracked and processed according to the specified method. By setting the <code>create_payment</code> flag to <code>true</code>, you instruct the system to create a corresponding payment record for bookkeeping purposes.</p>\n","urlObject":{"path":["api","admin","users","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"640945f2-4edb-44a7-9a03-9f7003a11abd"},{"name":"Get User Subscription Payment Transactions","id":"af218da3-04a2-433e-830b-bf29e77a36f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/users/subscriptions/transactions?user_subscription_ids=185&user_ids=1","urlObject":{"path":["api","admin","users","subscriptions","transactions"],"host":["https://api.calendesk.com"],"query":[{"key":"user_subscription_ids","value":"185"},{"key":"user_ids","value":"1"}],"variable":[]}},"response":[],"_postman_id":"af218da3-04a2-433e-830b-bf29e77a36f1"},{"name":"Create User Subscription Payment Transaction","id":"de0a3bad-f6d5-4c04-b058-266a8a913dc4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"payment_method\": \"cash\",\n    \"transaction_id\": \"Cash 20.08.2022\",\n    \"amount\": 10000\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/users/subscriptions/{{userSubscriptionID}}/transactions","description":"<h1 id=\"record-subscription-payment-transaction-api\">Record Subscription Payment Transaction API</h1>\n<p>This API endpoint is designed for recording a payment transaction against a specific user subscription. By utilizing this endpoint, you can add a payment transaction to a user's subscription, specifying the method of payment, a unique transaction ID, and the payment amount. This feature is essential for maintaining accurate and up-to-date financial records within your platform.</p>\n<p><strong>Endpoint</strong>: <code>POST https://api.calendesk.com/api/admin/users/subscriptions/{{userSubscriptionID}}/transactions</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<p>The request body requires a JSON object that includes details about the payment transaction. Below are the keys you need to provide, along with their descriptions and examples:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>payment_method</td>\n<td>String</td>\n<td>The method by which the payment was made.</td>\n<td><code>\"cash\"</code></td>\n<td><code>\"stripe\"</code>, <code>\"cash\"</code>, <code>\"transfer\"</code>, <code>\"card\"</code></td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>String</td>\n<td>A unique identifier for the payment transaction.</td>\n<td><code>\"Cash 20.08.2022\"</code></td>\n<td>Any valid string</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Integer</td>\n<td>The total amount of the transaction, specified in the smallest currency unit (e.g., cents).</td>\n<td><code>10000</code></td>\n<td>Any valid integer</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"payment_method\": \"cash\",\n    \"transaction_id\": \"Cash 20.08.2022\",\n    \"amount\": 10000\n}\n\n</code></pre>\n<h2 id=\"description\">Description</h2>\n<p>This endpoint allows for the detailed recording of financial transactions related to user subscriptions. By specifying a <code>payment_method</code>, you can accurately track how payments are made, whether through direct transfers, cash payments, or card transactions. The <code>transaction_id</code> provides a unique reference to each transaction, facilitating easier auditing and financial management. Lastly, the <code>amount</code> should be input in the smallest denomination of your currency (such as cents for USD) to maintain precision in financial records.</p>\n<p>By leveraging this API, administrators can ensure that all subscription-related payments are meticulously recorded and easily retrievable for future reference, audits, or financial analysis.</p>\n","urlObject":{"path":["api","admin","users","subscriptions","{{userSubscriptionID}}","transactions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"de0a3bad-f6d5-4c04-b058-266a8a913dc4"},{"name":"Delete User Subscription Payment Transaction","id":"43cb4266-e167-4027-ba3b-51a70306bf9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/users/subscriptions/185/transactions/65","urlObject":{"path":["api","admin","users","subscriptions","185","transactions","65"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"43cb4266-e167-4027-ba3b-51a70306bf9b"}],"id":"dbd561e0-07fb-49b2-aeb7-7129259557f7","_postman_id":"dbd561e0-07fb-49b2-aeb7-7129259557f7","description":""},{"name":"Webhooks","item":[{"name":"Create Webhook Subscription","id":"9484be30-7eec-4ee7-ad3a-f519cd2ef017","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"url\" : \"https://test-website.com/handle-webhook/\",\n    \"events\": [\n        \"booking_created\",\n        \"booking_updated\",\n        \"booking_deleted\",\n        \"booking_paid\",\n        \"user_created\",\n        \"user_deleted\",\n        \"user_updated\",\n        \"user_subscription_created\",\n        \"user_subscription_deleted\",\n        \"user_subscription_canceled\",\n        \"user_subscription_payment_transaction_created\",\n        \"newsletter_email_created\",\n        \"newsletter_email_deleted\",\n        \"newsletter_email_verified\",\n        \"simple_store_product_payment_transaction_created\",\n        \"availability_schedule_created\",\n        \"availability_schedule_deleted\",\n        \"availability_schedule_updated\"\n    ],\n    \"signing_key\": \"secretKeyToVerify\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/webhooks","description":"<h1 id=\"create-a-webhook-api\">Create a Webhook API</h1>\n<p>This API endpoint allows you to create a webhook for various events.</p>\n<p><strong>Endpoint</strong>: <code>POST /api/admin/webhooks</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>String</td>\n<td>The endpoint URL where webhook notifications will be sent.</td>\n<td><code>\"https://calendesk.com/handle-webhook/\"</code></td>\n<td>Any valid URL</td>\n</tr>\n<tr>\n<td>events</td>\n<td>String[]</td>\n<td>List of events to subscribe to.</td>\n<td><code>[\"booking_created\", \"user_created\"]</code></td>\n<td><code>\"booking_created\"</code>, <code>\"booking_updated\"</code>, <code>\"booking_deleted\"</code>, <code>\"booking_paid\"</code>, <code>\"user_created\"</code>, <code>\"user_deleted\"</code>, <code>\"user_updated\"</code>, <code>\"user_subscription_created\"</code>, <code>\"user_subscription_deleted\"</code>, <code>\"user_subscription_canceled\"</code>, <code>\"user_subscription_payment_transaction_created\"</code>, <code>\"newsletter_email_created\"</code>, <code>\"newsletter_email_deleted\"</code>, <code>\"newsletter_email_verified\"</code>, <code>\"simple_store_product_payment_transaction_created\"</code>, <code>\"availability_schedule_created\"</code>, <code>\"availability_schedule_deleted\"</code>, <code>\"availability_schedule_updated\"</code></td>\n</tr>\n<tr>\n<td>signing_key</td>\n<td>String</td>\n<td>Key used to sign webhook payloads for security verification.</td>\n<td><code>\"111111\"</code></td>\n<td>Any valid string, up to 255 characters</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">curl -X POST http://api.calendesk.local/api/admin/webhooks \\\n-H \"Content-Type: application/json\" \\\n-d '{\n    \"url\": \"https://calendesk.com/handle-webhook/\",\n    \"events\": [\n        \"booking_created\",\n        \"booking_updated\",\n        \"booking_deleted\",\n        \"booking_paid\",\n        \"user_created\",\n        \"user_deleted\",\n        \"user_updated\",\n        \"user_subscription_created\",\n        \"user_subscription_deleted\",\n        \"user_subscription_canceled\",\n        \"user_subscription_payment_transaction_created\",\n        \"newsletter_email_created\",\n        \"newsletter_email_deleted\",\n        \"newsletter_email_verified\",\n        \"simple_store_product_payment_transaction_created\"\n    ],\n    \"signing_key\": \"111111\"\n}'\n\n</code></pre>\n<h3 id=\"events-details\">Events Details</h3>\n<h4 id=\"booking_created\"><code>booking_created</code></h4>\n<p>This event will be triggered when a new booking is created.</p>\n<h4 id=\"booking_updated\"><code>booking_updated</code></h4>\n<p>This event will be triggered if any of the following data is changed:</p>\n<p>a) Booking data from the following keys:</p>\n<ul>\n<li><p><code>start_date</code></p>\n</li>\n<li><p><code>end_date</code></p>\n</li>\n<li><p><code>start_time</code></p>\n</li>\n<li><p><code>end_time</code></p>\n</li>\n<li><p><code>service_id</code></p>\n</li>\n<li><p><code>service_type_id</code></p>\n</li>\n<li><p><code>service_location_id</code></p>\n</li>\n<li><p><code>recurrence_params</code></p>\n</li>\n<li><p><code>simple_store_product_ids</code> - user or admin added/removed any products attached to a booking</p>\n</li>\n<li><p><code>status</code> - status has changed to any of the following: <code>waiting</code>, <code>payment</code>, <code>approved</code>. Note: Status <code>done</code> is a mute status and won't trigger any updates. Also, status <code>cancelled</code> will fire a different webhook: <code>booking_deleted</code>.</p>\n</li>\n<li><p><code>employee_id</code></p>\n</li>\n<li><p><code>service_location_id</code></p>\n</li>\n</ul>\n<h4 id=\"booking_deleted\"><code>booking_deleted</code></h4>\n<p>This event will be triggered when a booking has been cancelled or removed. You can distinguish if it was cancelled (<code>status = cancelled</code>) or removed (any other status that is not equal to <code>cancelled</code>).</p>\n<h4 id=\"booking_paid\"><code>booking_paid</code></h4>\n<p>This event will be triggered when a booking has been paid.</p>\n<h4 id=\"user_created\"><code>user_created</code></h4>\n<p>This event will be triggered when a new user is created.</p>\n<h4 id=\"user_deleted\"><code>user_deleted</code></h4>\n<p>This event will be triggered when a user is deleted.</p>\n<h4 id=\"user_updated\"><code>user_updated</code></h4>\n<p>This event will be triggered when a user is updated.</p>\n<h4 id=\"user_subscription_created\"><code>user_subscription_created</code></h4>\n<p>This event will be triggered when a new user subscription is created.</p>\n<h4 id=\"user_subscription_deleted\"><code>user_subscription_deleted</code></h4>\n<p>This event will be triggered when a user subscription is deleted.</p>\n<h4 id=\"user_subscription_canceled\"><code>user_subscription_canceled</code></h4>\n<p>This event will be triggered when a user subscription is canceled.</p>\n<h4 id=\"user_subscription_payment_transaction_created\"><code>user_subscription_payment_transaction_created</code></h4>\n<p>This event will be triggered when a new user subscription payment transaction is created.</p>\n<h4 id=\"newsletter_email_created\"><code>newsletter_email_created</code></h4>\n<p>This event will be triggered when a new newsletter email is created.</p>\n<h4 id=\"newsletter_email_deleted\"><code>newsletter_email_deleted</code></h4>\n<p>This event will be triggered when a newsletter email is deleted.</p>\n<h4 id=\"newsletter_email_verified\"><code>newsletter_email_verified</code></h4>\n<p>This event will be triggered when a newsletter email is verified.</p>\n<h4 id=\"simple_store_product_payment_transaction_created\"><code>simple_store_product_payment_transaction_created</code></h4>\n<p>This event will be triggered when a new simple store product payment transaction is created.</p>\n<h4 id=\"availability_schedule_created\"><code>availability_schedule_created</code></h4>\n<p>This event will be triggered when a new availability schedule is created.</p>\n<h4 id=\"availability_schedule_updated\"><code>availability_schedule_updated</code></h4>\n<p>This event will be triggered when an availability schedule is updated.</p>\n<h4 id=\"availability_schedule_deleted\"><code>availability_schedule_deleted</code></h4>\n<p>This event will be triggered when an availability schedule is deleted.</p>\n<h3 id=\"response\">Response</h3>\n<p>On success, the server responds with a <code>201 Created</code> status and the details of the created webhook.</p>\n","urlObject":{"path":["api","admin","webhooks"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9484be30-7eec-4ee7-ad3a-f519cd2ef017"},{"name":"Update Webhook Subscription","id":"73d636e5-3d34-4dd7-8a37-ea253f1f1f91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"url\" : \"https://test-website.com/handle-webhook/\",\n    \"events\": [\n        \"booking_created\",\n        \"booking_updated\",\n        \"booking_deleted\",\n        \"booking_paid\",\n        \"user_created\",\n        \"user_deleted\",\n        \"user_updated\",\n        \"user_subscription_created\",\n        \"user_subscription_deleted\",\n        \"user_subscription_canceled\",\n        \"user_subscription_payment_transaction_created\",\n        \"newsletter_email_created\",\n        \"newsletter_email_deleted\",\n        \"newsletter_email_verified\",\n        \"simple_store_product_payment_transaction_created\",\n        \"availability_schedule_created\",\n        \"availability_schedule_deleted\",\n        \"availability_schedule_updated\"\n    ],\n    \"signing_key\": \"secretKeyToVerify\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/webhooks/{{webhookId}}","description":"<h1 id=\"update-a-webhook-api\">Update a Webhook API</h1>\n<p>This API endpoint allows you to create a webhook for various events.</p>\n<p><strong>Endpoint</strong>: <code>PUT /api/admin/webhooks/{{webhookId}}</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>String</td>\n<td>The endpoint URL where webhook notifications will be sent.</td>\n<td><code>\"https://calendesk.com/handle-webhook/\"</code></td>\n<td>Any valid URL</td>\n</tr>\n<tr>\n<td>events</td>\n<td>String[]</td>\n<td>List of events to subscribe to.</td>\n<td><code>[\"booking_created\", \"user_created\"]</code></td>\n<td><code>\"booking_created\"</code>, <code>\"booking_updated\"</code>, <code>\"booking_deleted\"</code>, <code>\"booking_paid\"</code>, <code>\"user_created\"</code>, <code>\"user_deleted\"</code>, <code>\"user_updated\"</code>, <code>\"user_subscription_created\"</code>, <code>\"user_subscription_deleted\"</code>, <code>\"user_subscription_canceled\"</code>, <code>\"user_subscription_payment_transaction_created\"</code>, <code>\"newsletter_email_created\"</code>, <code>\"newsletter_email_deleted\"</code>, <code>\"newsletter_email_verified\"</code>, <code>\"simple_store_product_payment_transaction_created\"</code>, <code>\"availability_schedule_created\"</code>, <code>\"availability_schedule_deleted\"</code>, <code>\"availability_schedule_updated\"</code></td>\n</tr>\n<tr>\n<td>signing_key</td>\n<td>String</td>\n<td>Key used to sign webhook payloads for security verification.</td>\n<td><code>\"111111\"</code></td>\n<td>Any valid string, up to 255 characters</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">curl -X PUT http://api.calendesk.local/api/admin/webhooks/5 \\\n-H \"Content-Type: application/json\" \\\n-d '{\n    \"url\": \"https://test-website.com/handle-webhook/\",\n    \"events\": [\n        \"booking_created\",\n        \"booking_updated\",\n        \"booking_deleted\",\n        \"booking_paid\",\n        \"user_created\",\n        \"user_deleted\",\n        \"user_updated\",\n        \"user_subscription_created\",\n        \"user_subscription_deleted\",\n        \"user_subscription_canceled\",\n        \"user_subscription_payment_transaction_created\",\n        \"newsletter_email_created\",\n        \"newsletter_email_deleted\",\n        \"newsletter_email_verified\",\n        \"simple_store_product_payment_transaction_created\"\n    ],\n    \"signing_key\": \"secretKey\"\n}'\n\n</code></pre>\n<h3 id=\"events-details\">Events Details</h3>\n<h4 id=\"booking_created\"><code>booking_created</code></h4>\n<p>This event will be triggered when a new booking is created.</p>\n<h4 id=\"booking_updated\"><code>booking_updated</code></h4>\n<p>This event will be triggered if any of the following data is changed:</p>\n<p>a) Booking data from the following keys:</p>\n<ul>\n<li><p><code>start_date</code></p>\n</li>\n<li><p><code>end_date</code></p>\n</li>\n<li><p><code>start_time</code></p>\n</li>\n<li><p><code>end_time</code></p>\n</li>\n<li><p><code>service_id</code></p>\n</li>\n<li><p><code>service_type_id</code></p>\n</li>\n<li><p><code>service_location_id</code></p>\n</li>\n<li><p><code>recurrence_params</code></p>\n</li>\n<li><p><code>simple_store_product_ids</code> - user or admin added/removed any products attached to a booking</p>\n</li>\n<li><p><code>status</code> - status has changed to any of the following: <code>waiting</code>, <code>payment</code>, <code>approved</code>. Note: Status <code>done</code> is a mute status and won't trigger any updates. Also, status <code>cancelled</code> will fire a different webhook: <code>booking_deleted</code>.</p>\n</li>\n<li><p><code>employee_id</code></p>\n</li>\n<li><p><code>service_location_id</code></p>\n</li>\n</ul>\n<h4 id=\"booking_deleted\"><code>booking_deleted</code></h4>\n<p>This event will be triggered when a booking has been cancelled or removed. You can distinguish if it was cancelled (<code>status = cancelled</code>) or removed (any other status that is not equal to <code>cancelled</code>).</p>\n<h4 id=\"booking_paid\"><code>booking_paid</code></h4>\n<p>This event will be triggered when a booking has been paid.</p>\n<h4 id=\"user_created\"><code>user_created</code></h4>\n<p>This event will be triggered when a new user is created.</p>\n<h4 id=\"user_deleted\"><code>user_deleted</code></h4>\n<p>This event will be triggered when a user is deleted.</p>\n<h4 id=\"user_updated\"><code>user_updated</code></h4>\n<p>This event will be triggered when a user is updated.</p>\n<h4 id=\"user_subscription_created\"><code>user_subscription_created</code></h4>\n<p>This event will be triggered when a new user subscription is created.</p>\n<h4 id=\"user_subscription_deleted\"><code>user_subscription_deleted</code></h4>\n<p>This event will be triggered when a user subscription is deleted.</p>\n<h4 id=\"user_subscription_canceled\"><code>user_subscription_canceled</code></h4>\n<p>This event will be triggered when a user subscription is canceled.</p>\n<h4 id=\"user_subscription_payment_transaction_created\"><code>user_subscription_payment_transaction_created</code></h4>\n<p>This event will be triggered when a new user subscription payment transaction is created.</p>\n<h4 id=\"newsletter_email_created\"><code>newsletter_email_created</code></h4>\n<p>This event will be triggered when a new newsletter email is created.</p>\n<h4 id=\"newsletter_email_deleted\"><code>newsletter_email_deleted</code></h4>\n<p>This event will be triggered when a newsletter email is deleted.</p>\n<h4 id=\"newsletter_email_verified\"><code>newsletter_email_verified</code></h4>\n<p>This event will be triggered when a newsletter email is verified.</p>\n<h4 id=\"simple_store_product_payment_transaction_created\"><code>simple_store_product_payment_transaction_created</code></h4>\n<p>This event will be triggered when a new simple store product payment transaction is created.</p>\n<h4 id=\"availability_schedule_created\"><code>availability_schedule_created</code></h4>\n<p>This event will be triggered when a new availability schedule is created.</p>\n<h4 id=\"availability_schedule_updated\"><code>availability_schedule_updated</code></h4>\n<p>This event will be triggered when an availability schedule is updated.</p>\n<h4 id=\"availability_schedule_deleted\"><code>availability_schedule_deleted</code></h4>\n<p>This event will be triggered when an availability schedule is deleted.</p>\n<h3 id=\"response\">Response</h3>\n<p>On success, the server responds with a <code>200 OK</code> status and the details of the created webhook.</p>\n","urlObject":{"path":["api","admin","webhooks","{{webhookId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"73d636e5-3d34-4dd7-8a37-ea253f1f1f91"},{"name":"Get All Webhook Subscriptions","id":"ad064889-ad30-4ab8-991e-8f1e0ff12e37","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/admin/webhooks","description":"<h1 id=\"get-all-webhooks-api\">Get All Webhooks API</h1>\n<p>This API endpoint allows you to retrieve all the webhooks created in the system.</p>\n<p><strong>Endpoint</strong>: <code>GET /api/admin/webhooks</code></p>\n<h2 id=\"response-body\">Response Body</h2>\n<p>The response contains a list of webhooks. The response can be paginated.</p>\n<h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"current_page\": 1,\n    \"data\": [\n        {\n            \"id\": 17,\n            \"url\": \"https://calendesk.com/example\",\n            \"user_id\": 1,\n            \"events\": [\n                \"booking_created\",\n                \"booking_updated\",\n                \"booking_deleted\",\n                \"booking_paid\"\n            ],\n            \"created_at\": \"2024-05-27T13:04:14+00:00\"\n        }\n    ],\n    \"first_page_url\": \"http://api.calendesk.com/api/admin/webhooks?page=1&amp;limit=50\",\n    \"from\": 1,\n    \"last_page\": 1,\n    \"last_page_url\": \"http://api.calendesk.com/api/admin/webhooks?page=1&amp;limit=50\",\n    \"next_page_url\": null,\n    \"path\": \"http://api.calendesk.com/api/admin/webhooks\",\n    \"per_page\": 50,\n    \"prev_page_url\": null,\n    \"to\": 1,\n    \"total\": 1\n}\n\n</code></pre>\n<h3 id=\"webhook-object\">Webhook Object</h3>\n<p>Each object in the <code>data</code> array represents a webhook and contains the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Integer</td>\n<td>The unique identifier for the webhook.</td>\n<td><code>17</code></td>\n</tr>\n<tr>\n<td>url</td>\n<td>String</td>\n<td>The endpoint URL where webhook notifications are sent.</td>\n<td><code>\"https://calendesk.com/example\"</code></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>Integer</td>\n<td>The ID of the user who created the webhook.</td>\n<td><code>1</code></td>\n</tr>\n<tr>\n<td>events</td>\n<td>String[]</td>\n<td>The list of events the webhook is subscribed to.</td>\n<td><code>[\"booking_created\", \"booking_updated\", \"booking_deleted\", \"booking_paid\"]</code></td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>String</td>\n<td>The timestamp when the webhook was created.</td>\n<td><code>\"2024-05-27T13:04:14+00:00\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","webhooks"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad064889-ad30-4ab8-991e-8f1e0ff12e37"},{"name":"Get Webhook Subscription","id":"ba709605-6d3f-4997-9c72-d93d395cfda2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/admin/webhooks/7","description":"<h1 id=\"get-single-webhook-api\">Get Single Webhook API</h1>\n<p>This API endpoint allows you to retrieve details of a single webhook.</p>\n<p><strong>Endpoint</strong>: <code>GET /api/admin/webhooks/{id}</code></p>\n<h2 id=\"response-body\">Response Body</h2>\n<p>The response contains details of the specified webhook.</p>\n<h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 17,\n    \"url\": \"https://calendesk.com/example\",\n    \"user_id\": 1,\n    \"events\": [\n        \"booking_created\",\n        \"booking_updated\",\n        \"booking_deleted\",\n        \"booking_paid\"\n    ],\n    \"created_at\": \"2024-05-27T13:04:14+00:00\"\n}\n\n</code></pre>\n<h3 id=\"webhook-object\">Webhook Object</h3>\n<p>The object represents a webhook and contains the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Integer</td>\n<td>The unique identifier for the webhook.</td>\n<td><code>17</code></td>\n</tr>\n<tr>\n<td>url</td>\n<td>String</td>\n<td>The endpoint URL where webhook notifications are sent.</td>\n<td><code>\"https://calendesk.com/example\"</code></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>Integer</td>\n<td>The ID of the user who created the webhook.</td>\n<td><code>1</code></td>\n</tr>\n<tr>\n<td>events</td>\n<td>String[]</td>\n<td>The list of events the webhook is subscribed to.</td>\n<td><code>[\"booking_created\", \"booking_updated\", \"booking_deleted\", \"booking_paid\"]</code></td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>String</td>\n<td>The timestamp when the webhook was created.</td>\n<td><code>\"2024-05-27T13:04:14+00:00\"</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","webhooks","7"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ba709605-6d3f-4997-9c72-d93d395cfda2"},{"name":"Delete Webhook Subscription","id":"4e918278-9910-4dd7-9dd0-78a0dd063606","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/webhooks/{{webhookId}}","description":"<h1 id=\"delete-webhook-api\">Delete Webhook API</h1>\n<p>This API endpoint allows you to delete a specific webhook.</p>\n<p><strong>Endpoint</strong>: <code>DELETE /api/admin/webhooks/{id}</code></p>\n<h2 id=\"response\">Response</h2>\n<p>On success, the server responds with a <code>200 OK</code> status, indicating that the webhook has been successfully deleted.</p>\n","urlObject":{"path":["api","admin","webhooks","{{webhookId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4e918278-9910-4dd7-9dd0-78a0dd063606"}],"id":"8d63b26a-1529-47c2-b582-e64236b279e2","description":"<h2 id=\"webhooks-overview\">Webhooks Overview</h2>\n<p>The Calendesk Webhooks API allows you to listen to various events that occur<br />within the Calendesk system. By configuring webhooks, you can receive real-time<br />notifications about specific events, such as booking updates, user actions,<br />subscription changes, newsletter emails, and more. This API provides a flexible<br />and efficient way to integrate your application with Calendesk and stay updated<br />with the latest information.</p>\n<h3 id=\"webhook-headers\">Webhook Headers</h3>\n<p>Each webhook request includes the following HTTP headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-Calendesk-Delivery-Id</code></td>\n<td>Unique UUID identifying this specific delivery. Use this for tracking and deduplication.</td>\n</tr>\n<tr>\n<td><code>X-Calendesk-Delivery-Attempt</code></td>\n<td>Current attempt number (1-8). Useful for monitoring retry behavior.</td>\n</tr>\n<tr>\n<td><code>Calendesk-Webhook-Time</code></td>\n<td>Unix timestamp when the webhook was sent.</td>\n</tr>\n<tr>\n<td><code>Calendesk-Signing-Key</code></td>\n<td>Your signing key (if configured). Use this to verify request authenticity.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"retry-policy\">Retry Policy</h3>\n<p>If your endpoint fails to respond with a 2xx status code, Calendesk will<br />automatically retry the delivery up to <strong>8 times</strong> with exponential backoff:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Attempt</th>\n<th>Delay after failure</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>Immediate</td>\n</tr>\n<tr>\n<td>2</td>\n<td>1 minute</td>\n</tr>\n<tr>\n<td>3</td>\n<td>5 minutes</td>\n</tr>\n<tr>\n<td>4</td>\n<td>30 minutes</td>\n</tr>\n<tr>\n<td>5</td>\n<td>3 hours</td>\n</tr>\n<tr>\n<td>6</td>\n<td>24 hours</td>\n</tr>\n<tr>\n<td>7</td>\n<td>60 hours</td>\n</tr>\n<tr>\n<td>8</td>\n<td>72 hours</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Timeouts:</strong> Each delivery attempt has a 5-second connection timeout and<br />5-second response timeout. Ensure your endpoint responds quickly.</p>\n<p><strong>Best practices:</strong></p>\n<ul>\n<li><p>Return a 2xx status code immediately upon receiving the webhook</p>\n</li>\n<li><p>Process the payload asynchronously if needed</p>\n</li>\n<li><p>Use <code>X-Calendesk-Delivery-Id</code> to handle duplicate deliveries</p>\n</li>\n</ul>\n<h3 id=\"webhook-object\">Webhook Object</h3>\n<p>A webhook object is used to configure and manage webhooks. It contains the<br />following properties:</p>\n<ul>\n<li><p><code>url</code> (required): The URL where the webhook events will be sent. This URL<br />  should be able to receive HTTP POST requests.</p>\n</li>\n<li><p><code>events</code> (required): An array of event types that you want to listen to.<br />  Each event type is represented by a string. The supported event types are:</p>\n</li>\n</ul>\n<p><strong>Booking events:</strong></p>\n<ul>\n<li><p><code>booking_created</code>: Triggered when a new booking is created.</p>\n</li>\n<li><p><code>booking_updated</code>: Triggered when an existing booking is updated.</p>\n</li>\n<li><p><code>booking_deleted</code>: Triggered when a booking is deleted.</p>\n</li>\n<li><p><code>booking_paid</code>: Triggered when a booking is paid.</p>\n</li>\n</ul>\n<p><strong>User events:</strong></p>\n<ul>\n<li><p><code>user_created</code>: Triggered when a new user is created.</p>\n</li>\n<li><p><code>user_updated</code>: Triggered when an existing user is updated.</p>\n</li>\n<li><p><code>user_deleted</code>: Triggered when a user is deleted.</p>\n</li>\n</ul>\n<p><strong>Subscription events:</strong></p>\n<ul>\n<li><p><code>user_subscription_created</code>: Triggered when a user subscription is created.</p>\n</li>\n<li><p><code>user_subscription_deleted</code>: Triggered when a user subscription is deleted.</p>\n</li>\n<li><p><code>user_subscription_canceled</code>: Triggered when a user subscription is canceled.</p>\n</li>\n<li><p><code>user_subscription_payment_transaction_created</code>: Triggered when a payment<br />  transaction is created for a user subscription.</p>\n</li>\n</ul>\n<p><strong>Newsletter events:</strong></p>\n<ul>\n<li><p><code>newsletter_email_created</code>: Triggered when a newsletter email is created.</p>\n</li>\n<li><p><code>newsletter_email_deleted</code>: Triggered when a newsletter email is deleted.</p>\n</li>\n<li><p><code>newsletter_email_verified</code>: Triggered when a newsletter email is verified.</p>\n</li>\n</ul>\n<p><strong>Simple Store events:</strong></p>\n<ul>\n<li><code>simple_store_product_payment_transaction_created</code>: Triggered when a payment<br />  transaction is created for a Simple Store product.</li>\n</ul>\n<p><strong>Availability schedule events:</strong></p>\n<ul>\n<li><p><code>availability_schedule_created</code>: Triggered when a new availability schedule<br />  is created.</p>\n</li>\n<li><p><code>availability_schedule_updated</code>: Triggered when an availability schedule<br />  is updated.</p>\n</li>\n<li><p><code>availability_schedule_deleted</code>: Triggered when an availability schedule<br />  is deleted.</p>\n</li>\n<li><p><code>signing_key</code> (optional): A secret key used to verify webhook authenticity.<br />  If provided, Calendesk will include it in the <code>Calendesk-Signing-Key</code> header.</p>\n</li>\n</ul>\n<h3 id=\"request-body\">Request Body</h3>\n<p>Each webhook POST request contains a JSON body with:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"created_at\": \"2025-01-15T10:30:00Z\",\n  \"event\": \"booking_created\",\n  \"payload\": {\n    // Event-specific data\n  }\n}\n\n</code></pre>\n","_postman_id":"8d63b26a-1529-47c2-b582-e64236b279e2"},{"name":"Files","item":[{"name":"Get Files","id":"1fdd8531-c309-420a-847d-faade460d359","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/files","description":"<p><strong>GET</strong> <code>https://api.calendesk.com/api/admin/files</code></p>\n<p>This endpoint allows you to get all files.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","files"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1fdd8531-c309-420a-847d-faade460d359"},{"name":"Upload File","id":"da901173-4769-4239-8372-2f286ea84cf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"postman-cloud:///1efa27f6-7623-4390-a76e-4ddd149aadff"},{"key":"user_id","value":"1","type":"text"},{"key":"file_directory_id","value":"8","type":"text"}]},"url":"https://api.calendesk.com/api/admin/files/upload","description":"<p><strong>POST</strong> <code>https://api.calendesk.com/api/admin/files/upload</code></p>\n<p>This endpoint allows you to upload a file to the system.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>required</td>\n<td>file</td>\n<td>The file to be uploaded.</td>\n<td>Any valid file format specified in validation rules (e.g., <code>pdf</code>, <code>jpg</code>, <code>png</code>, etc.).</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the user to associate the file with.</td>\n<td>An existing user ID or <code>null</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\">Example Request</h2>\n<p>```http<br />POST https://api.calendesk.com/api/admin/files/upload<br />Content-Type: multipart/form-data</p>\n<p>{<br />\"file\": (binary file data),<br />\"user_id\": 1<br />}</p>\n","urlObject":{"path":["api","admin","files","upload"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"da901173-4769-4239-8372-2f286ea84cf2"},{"name":"Download File","id":"acfe66d0-9872-40fe-af87-66d92442f7e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/files/download/811f85c9-0fad-4844-b248-a178153da513","description":"<p><strong>GET</strong> <code>https://api.calendesk.com/api/admin/files/download/{fileId}</code></p>\n<p>This endpoint allows you to download a specific file.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the file to fetch.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","files","download","811f85c9-0fad-4844-b248-a178153da513"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"acfe66d0-9872-40fe-af87-66d92442f7e2"},{"name":"Delete File","id":"4e5af0e5-573d-4d00-8108-d0f9fd39ed73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/files/0f0d9fa8-cfd2-4ad8-84e3-abaa5cf35d49","description":"<p>DELETE <code>https://api.calendesk.com/api/admin/files/{fileId}</code></p>\n<p>This endpoint allows you to delete a specific file.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the file to fetch.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","files","0f0d9fa8-cfd2-4ad8-84e3-abaa5cf35d49"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4e5af0e5-573d-4d00-8108-d0f9fd39ed73"},{"name":"Update File","id":"ec850e79-d98d-4113-bb2f-6e45359a584b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"new_name.pdf\",\n    \"file_directory_id\": 10\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/files/811f85c9-0fad-4844-b248-a178153da513","description":"<p>PATCH <code>https://api.calendesk.com/api/admin/files/download/{fileId}</code></p>\n<p>This endpoint allows you to update a specific file.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the file to fetch.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","files","811f85c9-0fad-4844-b248-a178153da513"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ec850e79-d98d-4113-bb2f-6e45359a584b"},{"name":"Get File Directories","id":"f4399b10-86f6-47a7-8116-2f34ceaf6a36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/directories","description":"<p><strong>GET</strong> <code>https://api.calendesk.com/api/admin/directories</code></p>\n<p>This endpoint allows you to get all file directories.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","directories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f4399b10-86f6-47a7-8116-2f34ceaf6a36"},{"name":"Create Directory","id":"b8555f68-3b70-47a2-ba6a-9f7f4eb581d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"New Directory\",\n    \"parent_directory_id\": null,\n    \"user_id\": 2\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/directories","description":"<h1 id=\"create-directory\">Create Directory</h1>\n<p><strong>POST</strong> <code>https://api.calendesk.com/api/admin/directories</code></p>\n<p>This endpoint allows you to create a directory for your files.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>required</td>\n<td>string</td>\n<td>The name of the directory to be created.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>parent_directory_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the parent directory (if nested).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the user who owns this directory.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request-body\">Example Request Body</h2>\n<p>```json<br />{<br />\"name\": \"New Directory\",<br />\"parent_directory_id\": 5,<br />\"user_id\": 1<br />}</p>\n","urlObject":{"path":["api","admin","directories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b8555f68-3b70-47a2-ba6a-9f7f4eb581d7"},{"name":"Update Directory","id":"972d7bec-7a83-42e3-af19-a26d32dff32b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"New Directory name under 7\",\n    \"parent_directory_id\": 7\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/admin/directories/8","description":"<h1 id=\"update-directory\">Update Directory</h1>\n<p><strong>PATCH</strong> <code>https://api.calendesk.com/api/admin/directories/{directoryId}</code></p>\n<p>This endpoint allows you to update an existing directory.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>directoryId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the directory to update.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>optional</td>\n<td>string</td>\n<td>The new name of the directory.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>parent_directory_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the new parent directory (if nested).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the user who owns this directory.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request-body\">Example Request Body</h2>\n<p>```json<br />{<br />\"name\": \"Updated Directory Name\",<br />\"parent_directory_id\": 3,<br />\"user_id\": 1<br />}</p>\n","urlObject":{"path":["api","admin","directories","8"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"972d7bec-7a83-42e3-af19-a26d32dff32b"},{"name":"Delete Directory","id":"2296580a-36a9-4227-b8a4-6bbb902095f5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/directories/9","description":"<h1 id=\"delete-directory\">Delete Directory</h1>\n<p><strong>DELETE</strong> <code>https://api.calendesk.com/api/admin/directories/{directoryId}</code></p>\n<p>This endpoint allows you to update an existing directory.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>directoryId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the directory to update.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","admin","directories","9"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2296580a-36a9-4227-b8a4-6bbb902095f5"}],"id":"209c7462-5b9a-4b35-91a7-2ae0fa7de537","_postman_id":"209c7462-5b9a-4b35-91a7-2ae0fa7de537","description":""},{"name":"Logs","item":[{"name":"Get All","id":"3169539b-4064-46e0-a05a-c045a1709c7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"url":"https://api.calendesk.com/api/admin/logs","urlObject":{"path":["api","admin","logs"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3169539b-4064-46e0-a05a-c045a1709c7d"}],"id":"5be6ebe7-9bac-47d1-b751-84ffa2179f55","_postman_id":"5be6ebe7-9bac-47d1-b751-84ffa2179f55","description":""}],"id":"b22399c3-cce2-4a55-8332-8c4b63810b31","_postman_id":"b22399c3-cce2-4a55-8332-8c4b63810b31","description":""},{"name":"Customers API","item":[{"name":"Bookings","item":[{"name":"Available Slots v2","id":"ec301c78-b052-4d9f-940b-bbeb75db32ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/available-slots?service_id=119&number_of_days=2&start_date=2024-06-03&used_slots=1&employee_ids=4&customer_time_zone=Europe/Madrid&booked_slots=1&location_id=3","description":"<p>This endpoint allows you to fetch available booking slots sorted by employees IDs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of service.</td>\n<td>GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service type. Only some services have types.  <br />Always check if selected service has a type (array types in response).</td>\n<td>Types in GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>number_of_days</td>\n<td>optional</td>\n<td>integer, max: 10</td>\n<td>Number of days for availability. Default <code>7</code>.</td>\n<td></td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal today</td>\n<td>Appointment's date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>location_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of location.</td>\n<td>GET https://api.calendesk.com/api/admin/locations</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","available-slots"],"host":["https://api.calendesk.com"],"query":[{"key":"service_id","value":"119"},{"key":"number_of_days","value":"2"},{"key":"start_date","value":"2024-06-03"},{"key":"used_slots","value":"1"},{"key":"employee_ids","value":"4"},{"key":"customer_time_zone","value":"Europe/Madrid"},{"key":"booked_slots","value":"1"},{"key":"location_id","value":"3"}],"variable":[]}},"response":[],"_postman_id":"ec301c78-b052-4d9f-940b-bbeb75db32ec"},{"name":"Create Booking","id":"ec772900-e830-412b-a2be-537cef3a6735","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"employee_id\": 1,\n    \"service_id\": 1,\n    \"start_date\": \"2025-06-09\",\n    \"start_time\": \"07:00\",\n    \"customer_time_zone\": \"Europe/Warsaw\",\n    \"custom_fields\": \"[{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Additional Information\\\"},{\\\"type\\\":6,\\\"label\\\":null,\\\"description\\\":\\\"<p>Address</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"123 Main Street, Apt 4B, New York, NY 10001, USA\\\"},{\\\"type\\\":0,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Sample text value\\\"},{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Larger Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"This is a longer text that spans multiple lines.\\\\nIt can contain paragraphs and more detailed information.\\\"},{\\\"type\\\":2,\\\"label\\\":null,\\\"description\\\":\\\"<p>Checkbox</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":true},{\\\"type\\\":3,\\\"label\\\":null,\\\"description\\\":\\\"<p>Radio Button</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"radioOptions\\\":[\\\"Option 1\\\",\\\"Option 2\\\",\\\"Option 3\\\"],\\\"value\\\":\\\"Option 2\\\"},{\\\"type\\\":4,\\\"label\\\":\\\"Please enter your email...\\\",\\\"description\\\":\\\"<p>Email Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"secondary@example.com\\\"},{\\\"type\\\":5,\\\"label\\\":\\\"Please enter your phone...\\\",\\\"description\\\":\\\"<p>Phone Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"+15551234567\\\"},{\\\"type\\\":7,\\\"label\\\":null,\\\"description\\\":\\\"<p>Attachments Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":[{\\\"2fa02152-beae-40f2-b688-df3216ab6b35\\\":\\\"medical_records.pdf\\\"}]}]\"\n}"},"url":"https://api.calendesk.com/api/user/bookings","description":"<p>This endpoint allows you to create a booking (make an appointment).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of employee.</td>\n<td>GET https://api.calendesk.com/api/employees</td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of service.</td>\n<td>GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service type. Only some services have types.  <br />Always check if selected service has a type (array types in response).</td>\n<td>Types in GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal today</td>\n<td>Appointment's date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>required</td>\n<td>string, time, format H:i, after now</td>\n<td>Appointment's hour.</td>\n<td>H:i</td>\n</tr>\n<tr>\n<td>required_time</td>\n<td>optional</td>\n<td>integer, max: 1000</td>\n<td>The number of minutes user wants to use for an appointment.  <br />Some services have dynamic duration time some not.  <br />Check the <code>allow_dynamic_duration</code> property to see if the service allows setting dynamic time.  <br />If you don't send anything here, system will use the default duration time from service or its type.</td>\n<td></td>\n</tr>\n<tr>\n<td>custom_fields</td>\n<td>string</td>\n<td>No</td>\n<td>JSON string of custom form fields</td>\n<td>Valid JSON string (see below)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"custom-field-object-structure\">Custom Field Object Structure</h4>\n<p>Each custom field object in the array has the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Field type identifier (see Field Types table below)</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Display label for the field shown to the user</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>No</td>\n<td>Additional explanatory text for the field</td>\n</tr>\n<tr>\n<td><code>required</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether the field is mandatory</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>varies</td>\n<td>Yes</td>\n<td>The value provided by the user (type depends on field type)</td>\n</tr>\n<tr>\n<td><code>equal</code></td>\n<td>string</td>\n<td>No</td>\n<td>For validation - user input must equal this value</td>\n</tr>\n<tr>\n<td><code>radioOptions</code></td>\n<td>array</td>\n<td>No</td>\n<td>For RADIO type - array of available options as strings</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"field-types\">Field Types</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type Code</strong></th>\n<th><strong>Field Type</strong></th>\n<th><strong>Value Format</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>TEXT_FIELD</td>\n<td>String</td>\n<td>Single-line text input</td>\n</tr>\n<tr>\n<td>1</td>\n<td>TEXT_AREA</td>\n<td>String</td>\n<td>Multi-line text input</td>\n</tr>\n<tr>\n<td>2</td>\n<td>CHECKBOX</td>\n<td>Boolean</td>\n<td>Yes/No checkbox</td>\n</tr>\n<tr>\n<td>3</td>\n<td>RADIO</td>\n<td>String</td>\n<td>Single selection from multiple options</td>\n</tr>\n<tr>\n<td>4</td>\n<td>EMAIL</td>\n<td>String</td>\n<td>Email address with validation</td>\n</tr>\n<tr>\n<td>5</td>\n<td>PHONE</td>\n<td>String</td>\n<td>Phone number with country code</td>\n</tr>\n<tr>\n<td>6</td>\n<td>ADDRESS</td>\n<td>String</td>\n<td>Complete address information</td>\n</tr>\n<tr>\n<td>7</td>\n<td>FILES</td>\n<td>Array</td>\n<td>Array of uploaded file references</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"value-format-examples-by-type\">Value Format Examples by Type</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Additional Information\"\n    },\n    {\n      \"type\": 6,\n      \"label\": null,\n      \"description\": \"Address\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"123 Main Street, Apt 4B, New York, NY 10001, USA\"\n    },\n    {\n      \"type\": 0,\n      \"label\": \"Please type here...\",\n      \"description\": \"Text Field\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Sample text value\"\n    },\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"description\": \"&lt;p&gt;Larger Text Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"This is a longer text that spans multiple lines.\\nIt can contain paragraphs and more detailed information.\"\n    },\n    {\n      \"type\": 2,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Checkbox&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": true\n    },\n    {\n      \"type\": 3,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Radio Button&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"radioOptions\": [\"Option 1\", \"Option 2\", \"Option 3\"],\n      \"value\": \"Option 2\"\n    },\n    {\n      \"type\": 4,\n      \"label\": \"Please enter your email...\",\n      \"description\": \"&lt;p&gt;Email Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"secondary@example.com\"\n    },\n    {\n      \"type\": 5,\n      \"label\": \"Please enter your phone...\",\n      \"description\": \"&lt;p&gt;Phone Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"+15551234567\"\n    },\n    {\n      \"type\": 7,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Attachments Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": [\n        {\"2fa02152-beae-40f2-b688-df3216ab6b35\": \"medical_records.pdf\"}\n      ]\n    }\n  ]\n\n</code></pre>\n<p>Important Notes:</p>\n<ul>\n<li><p>The entire array must be stringified when sent in the request</p>\n</li>\n<li><p>File uploads (type 7) require prior upload to the /files/sandbox/upload endpoint</p>\n</li>\n<li><p>The files are associated with the booking after creation</p>\n</li>\n<li><p>Empty or null values are allowed for non-required fields</p>\n</li>\n</ul>\n","urlObject":{"path":["api","user","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ec772900-e830-412b-a2be-537cef3a6735"},{"name":"Create Booking V2 - without auth","id":"70ec130d-4594-49c9-8600-dec27e6c317e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"name\": \"Test\",\n        \"surname\": \"User\",\n        \"email\": \"test@calendesk.com\",\n        \"password\": \"12345678\",\n        \"activate_account\": 1,\n        \"default_phone\": \"+48500123456\",\n        \"date_of_birth\": \"2019-12-04\",\n        \"groups\": [\n            1\n        ],\n        \"gender\": \"female\",\n        \"description\": \"test\",\n        \"default_address\": {\n            \"city\": \"Warsaw\",\n            \"street\": \"Test\",\n            \"house_number\": \"12\"\n        },\n        \"default_image_id\": 14\n    },\n    \"bookings\": [\n        {\n            \"employee_id\": 1,\n            \"service_id\": 146,\n            \"start_date\": \"2025-03-08\",\n            \"start_time\": \"14:00\",\n            \"customer_time_zone\": \"Europe/Warsaw\",\n            \"customer_time_notation\": \"24h\",\n            \"custom_fields\": \"[{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Additional Information\\\"},{\\\"type\\\":6,\\\"label\\\":null,\\\"description\\\":\\\"<p>Address</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"123 Main Street, Apt 4B, New York, NY 10001, USA\\\"},{\\\"type\\\":0,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Sample text value\\\"},{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Larger Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"This is a longer text that spans multiple lines.\\\\nIt can contain paragraphs and more detailed information.\\\"},{\\\"type\\\":2,\\\"label\\\":null,\\\"description\\\":\\\"<p>Checkbox</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":true},{\\\"type\\\":3,\\\"label\\\":null,\\\"description\\\":\\\"<p>Radio Button</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"radioOptions\\\":[\\\"Option 1\\\",\\\"Option 2\\\",\\\"Option 3\\\"],\\\"value\\\":\\\"Option 2\\\"},{\\\"type\\\":4,\\\"label\\\":\\\"Please enter your email...\\\",\\\"description\\\":\\\"<p>Email Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"secondary@example.com\\\"},{\\\"type\\\":5,\\\"label\\\":\\\"Please enter your phone...\\\",\\\"description\\\":\\\"<p>Phone Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"+15551234567\\\"},{\\\"type\\\":7,\\\"label\\\":null,\\\"description\\\":\\\"<p>Attachments Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":[{\\\"2fa02152-beae-40f2-b688-df3216ab6b35\\\":\\\"medical_records.pdf\\\"}]}]\"\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/user/bookings/v2","description":"<h2 id=\"endpoint-post-urlapiuserbookingsv2\">Endpoint: POST https://api.calendesk.com/api/user/bookings/v2</h2>\n<h3 id=\"description\">Description</h3>\n<p>This endpoint allows users to create bookings for specified services and employees. The request requires user details and booking data, including employee and service information.</p>\n<h4 id=\"user-object\">User Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>email</code></td>\n<td>required</td>\n<td>string</td>\n<td>Email address of the user.</td>\n<td>Valid email format</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>optional</td>\n<td>string</td>\n<td>First name of the user.</td>\n<td>String (max 50 characters)</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Last name of the user.</td>\n<td>String (max 50 characters)</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>optional</td>\n<td>string</td>\n<td>User password.</td>\n<td>String</td>\n</tr>\n<tr>\n<td><code>activate_account</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>Whether to activate the account immediately.</td>\n<td><code>0</code>, <code>1</code></td>\n</tr>\n<tr>\n<td><code>default_phone</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Phone number with country code.</td>\n<td>Valid phone format (e164 format, e.g. +48500111222)</td>\n</tr>\n<tr>\n<td><code>date_of_birth</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Date of birth in <code>YYYY-MM-DD</code> format.</td>\n<td>Valid date string</td>\n</tr>\n<tr>\n<td><code>date_of_names_day</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Name day date in <code>YYYY-MM-DD</code> format.</td>\n<td>Valid date string</td>\n</tr>\n<tr>\n<td><code>gender</code></td>\n<td>optional</td>\n<td>string</td>\n<td>User's gender.</td>\n<td>Valid gender constants</td>\n</tr>\n<tr>\n<td><code>identity_number</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Identification number.</td>\n<td>String (max 40 characters)</td>\n</tr>\n<tr>\n<td><code>time_zone</code></td>\n<td>optional</td>\n<td>string</td>\n<td>User's time zone.</td>\n<td>Valid timezone string</td>\n</tr>\n<tr>\n<td><code>locale</code></td>\n<td>optional</td>\n<td>string</td>\n<td>User's preferred language.</td>\n<td>Valid language constants</td>\n</tr>\n<tr>\n<td><code>firebase_token</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Firebase messaging token.</td>\n<td>String (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>groups</code></td>\n<td>optional</td>\n<td>array</td>\n<td>Array of group IDs to assign the user to.</td>\n<td>Array of integers</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Additional notes about the user.</td>\n<td>Text string</td>\n</tr>\n<tr>\n<td><code>default_address</code></td>\n<td>optional</td>\n<td>object</td>\n<td>User's default address.</td>\n<td>Address object</td>\n</tr>\n<tr>\n<td><code>default_image_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>ID of the profile image.</td>\n<td>Positive integer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"default-address-object\">Default Address Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Address name/label.</td>\n<td>String (max 255 characters)</td>\n</tr>\n<tr>\n<td><code>street</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Street name.</td>\n<td>String (max 100 characters)</td>\n</tr>\n<tr>\n<td><code>postal_code</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Postal/ZIP code.</td>\n<td>String (max 15 characters)</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>optional</td>\n<td>string</td>\n<td>City name.</td>\n<td>String (max 50 characters)</td>\n</tr>\n<tr>\n<td><code>house_number</code></td>\n<td>optional</td>\n<td>string</td>\n<td>House or building number.</td>\n<td>String</td>\n</tr>\n<tr>\n<td><code>country_iso_code</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Country ISO code.</td>\n<td>Valid country code</td>\n</tr>\n<tr>\n<td><code>vat_iso_prefix</code></td>\n<td>optional</td>\n<td>string</td>\n<td>VAT ISO prefix.</td>\n<td>String (max 2 characters)</td>\n</tr>\n<tr>\n<td><code>tax_number</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Tax identification number.</td>\n<td>String (max 15 characters)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"bookings-array\">Bookings Array</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>employee_id</code></td>\n<td>required</td>\n<td>integer</td>\n<td>ID of the employee assigned to the booking.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>service_id</code></td>\n<td>required</td>\n<td>integer</td>\n<td>ID of the service to be booked.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>start_date</code></td>\n<td>required</td>\n<td>string</td>\n<td>Date of the booking in <code>YYYY-MM-DD</code> format.</td>\n<td>Valid date string</td>\n</tr>\n<tr>\n<td><code>start_time</code></td>\n<td>required</td>\n<td>string</td>\n<td>Time of the booking in <code>HH:mm</code> format.</td>\n<td>Valid time string</td>\n</tr>\n<tr>\n<td><code>customer_time_zone</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Time zone of the customer.</td>\n<td>Valid time zone string</td>\n</tr>\n<tr>\n<td><code>customer_time_notation</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Time notation preference of the customer.</td>\n<td><code>24h</code>, <code>12h</code></td>\n</tr>\n<tr>\n<td><code>service_type_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>ID of the type of service.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>service_location_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>ID of the location where the service is provided.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>simple_store_product_ids</code></td>\n<td>optional</td>\n<td>array</td>\n<td>List of product IDs associated with the booking.</td>\n<td>Array of positive integers</td>\n</tr>\n<tr>\n<td><code>user_requested_employee</code></td>\n<td>optional</td>\n<td>boolean</td>\n<td>Indicates if the employee was specifically requested by the user.</td>\n<td><code>true</code>, <code>false</code></td>\n</tr>\n<tr>\n<td><code>custom_fields</code></td>\n<td>string</td>\n<td>No</td>\n<td>JSON string of custom form fields</td>\n<td>Valid JSON string (see below)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"endpoint-parameters\">Endpoint Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API endpoint.</td>\n<td>Valid URL string</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"custom-field-object-structure\">Custom Field Object Structure</h4>\n<p>Each custom field object in the array has the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Field type identifier (see Field Types table below)</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Display label for the field shown to the user</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>No</td>\n<td>Additional explanatory text for the field</td>\n</tr>\n<tr>\n<td><code>required</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether the field is mandatory</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>varies</td>\n<td>Yes</td>\n<td>The value provided by the user (type depends on field type)</td>\n</tr>\n<tr>\n<td><code>equal</code></td>\n<td>string</td>\n<td>No</td>\n<td>For validation - user input must equal this value</td>\n</tr>\n<tr>\n<td><code>radioOptions</code></td>\n<td>array</td>\n<td>No</td>\n<td>For RADIO type - array of available options as strings</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"field-types\">Field Types</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type Code</strong></th>\n<th><strong>Field Type</strong></th>\n<th><strong>Value Format</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>TEXT_FIELD</td>\n<td>String</td>\n<td>Single-line text input</td>\n</tr>\n<tr>\n<td>1</td>\n<td>TEXT_AREA</td>\n<td>String</td>\n<td>Multi-line text input</td>\n</tr>\n<tr>\n<td>2</td>\n<td>CHECKBOX</td>\n<td>Boolean</td>\n<td>Yes/No checkbox</td>\n</tr>\n<tr>\n<td>3</td>\n<td>RADIO</td>\n<td>String</td>\n<td>Single selection from multiple options</td>\n</tr>\n<tr>\n<td>4</td>\n<td>EMAIL</td>\n<td>String</td>\n<td>Email address with validation</td>\n</tr>\n<tr>\n<td>5</td>\n<td>PHONE</td>\n<td>String</td>\n<td>Phone number with country code</td>\n</tr>\n<tr>\n<td>6</td>\n<td>ADDRESS</td>\n<td>String</td>\n<td>Complete address information</td>\n</tr>\n<tr>\n<td>7</td>\n<td>FILES</td>\n<td>Array</td>\n<td>Array of uploaded file references</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"value-format-examples-by-type\">Value Format Examples by Type</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Additional Information\"\n    },\n    {\n      \"type\": 6,\n      \"label\": null,\n      \"description\": \"Address\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"123 Main Street, Apt 4B, New York, NY 10001, USA\"\n    },\n    {\n      \"type\": 0,\n      \"label\": \"Please type here...\",\n      \"description\": \"Text Field\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Sample text value\"\n    },\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"description\": \"&lt;p&gt;Larger Text Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"This is a longer text that spans multiple lines.\\nIt can contain paragraphs and more detailed information.\"\n    },\n    {\n      \"type\": 2,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Checkbox&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": true\n    },\n    {\n      \"type\": 3,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Radio Button&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"radioOptions\": [\"Option 1\", \"Option 2\", \"Option 3\"],\n      \"value\": \"Option 2\"\n    },\n    {\n      \"type\": 4,\n      \"label\": \"Please enter your email...\",\n      \"description\": \"&lt;p&gt;Email Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"secondary@example.com\"\n    },\n    {\n      \"type\": 5,\n      \"label\": \"Please enter your phone...\",\n      \"description\": \"&lt;p&gt;Phone Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"+15551234567\"\n    },\n    {\n      \"type\": 7,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Attachments Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": [\n        {\"2fa02152-beae-40f2-b688-df3216ab6b35\": \"medical_records.pdf\"}\n      ]\n    }\n  ]\n\n</code></pre>\n<p>Important Notes:</p>\n<ul>\n<li><p>The entire array must be stringified when sent in the request</p>\n</li>\n<li><p>File uploads (type 7) require prior upload to the /files/sandbox/upload endpoint</p>\n</li>\n<li><p>The files are associated with the booking after creation</p>\n</li>\n<li><p>Empty or null values are allowed for non-required fields</p>\n</li>\n</ul>\n","urlObject":{"path":["api","user","bookings","v2"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"70ec130d-4594-49c9-8600-dec27e6c317e"},{"name":"Create Booking V2 - with auth","id":"39f8f450-b2a2-44d2-a795-d3cc04efceb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"bookings\": [\n        {\n            \"employee_id\": 1,\n            \"service_id\": 18,\n            \"service_type_id\": 2,\n            \"start_date\": \"2021-07-21\",\n            \"start_time\": \"16:00\",\n            \"service_location_id\": 1,\n            \"customer_time_zone\": \"Europe/Warsaw\",\n            \"customer_time_notation\": \"24h\",\n            \"simple_store_product_ids\": [\n                1,\n                2,\n                3\n            ],\n            \"custom_fields\": \"[{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Additional Information\\\"},{\\\"type\\\":6,\\\"label\\\":null,\\\"description\\\":\\\"<p>Address</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"123 Main Street, Apt 4B, New York, NY 10001, USA\\\"},{\\\"type\\\":0,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"Sample text value\\\"},{\\\"type\\\":1,\\\"label\\\":\\\"Please type here...\\\",\\\"description\\\":\\\"<p>Larger Text Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"This is a longer text that spans multiple lines.\\\\nIt can contain paragraphs and more detailed information.\\\"},{\\\"type\\\":2,\\\"label\\\":null,\\\"description\\\":\\\"<p>Checkbox</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":true},{\\\"type\\\":3,\\\"label\\\":null,\\\"description\\\":\\\"<p>Radio Button</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"radioOptions\\\":[\\\"Option 1\\\",\\\"Option 2\\\",\\\"Option 3\\\"],\\\"value\\\":\\\"Option 2\\\"},{\\\"type\\\":4,\\\"label\\\":\\\"Please enter your email...\\\",\\\"description\\\":\\\"<p>Email Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"secondary@example.com\\\"},{\\\"type\\\":5,\\\"label\\\":\\\"Please enter your phone...\\\",\\\"description\\\":\\\"<p>Phone Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":\\\"+15551234567\\\"},{\\\"type\\\":7,\\\"label\\\":null,\\\"description\\\":\\\"<p>Attachments Field</p>\\\",\\\"required\\\":false,\\\"equal\\\":null,\\\"value\\\":[{\\\"2fa02152-beae-40f2-b688-df3216ab6b35\\\":\\\"medical_records.pdf\\\"}]}]\"\n        }\n    ]\n}"},"url":"https://api.calendesk.com/api/user/bookings/v2/auth","description":"<h2 id=\"endpoint-post-urlapiuserbookingsv2auth\">Endpoint: POST https://api.calendesk.com/api/user/bookings/v2/auth</h2>\n<h3 id=\"description\">Description</h3>\n<p>This endpoint allows authenticated users to create bookings for specified services and employees. The request must include a valid <code>Bearer</code> token in the <code>Authorization</code> header, along with the necessary booking details in the request body.</p>\n<h4 id=\"bookings-array\">Bookings Array</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>employee_id</code></td>\n<td>required</td>\n<td>integer</td>\n<td>ID of the employee assigned to the booking.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>service_id</code></td>\n<td>required</td>\n<td>integer</td>\n<td>ID of the service to be booked.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>service_type_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>ID of the type of service.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>start_date</code></td>\n<td>required</td>\n<td>string</td>\n<td>Date of the booking in <code>YYYY-MM-DD</code> format.</td>\n<td>Valid date string</td>\n</tr>\n<tr>\n<td><code>start_time</code></td>\n<td>required</td>\n<td>string</td>\n<td>Time of the booking in <code>HH:mm</code> format.</td>\n<td>Valid time string</td>\n</tr>\n<tr>\n<td><code>service_location_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>ID of the location where the service is provided.</td>\n<td>Positive integers</td>\n</tr>\n<tr>\n<td><code>customer_time_zone</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Time zone of the customer.</td>\n<td>Valid time zone strings</td>\n</tr>\n<tr>\n<td><code>customer_time_notation</code></td>\n<td>optional</td>\n<td>string</td>\n<td>Time notation preference of the customer.</td>\n<td><code>24h</code>, <code>12h</code></td>\n</tr>\n<tr>\n<td><code>simple_store_product_ids</code></td>\n<td>optional</td>\n<td>array</td>\n<td>List of product IDs associated with the booking.</td>\n<td>Array of positive integers</td>\n</tr>\n<tr>\n<td><code>user_requested_employee</code></td>\n<td>optional</td>\n<td>boolean</td>\n<td>Indicates if the employee was specifically requested by the user.</td>\n<td><code>true</code>, <code>false</code></td>\n</tr>\n<tr>\n<td><code>custom_fields</code></td>\n<td>string</td>\n<td>No</td>\n<td>JSON string of custom form fields</td>\n<td>Valid JSON string (see below)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"endpoint-parameters\">Endpoint Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Accepted Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API endpoint.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"custom-field-object-structure\">Custom Field Object Structure</h4>\n<p>Each custom field object in the array has the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Field type identifier (see Field Types table below)</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Display label for the field shown to the user</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>No</td>\n<td>Additional explanatory text for the field</td>\n</tr>\n<tr>\n<td><code>required</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether the field is mandatory</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>varies</td>\n<td>Yes</td>\n<td>The value provided by the user (type depends on field type)</td>\n</tr>\n<tr>\n<td><code>equal</code></td>\n<td>string</td>\n<td>No</td>\n<td>For validation - user input must equal this value</td>\n</tr>\n<tr>\n<td><code>radioOptions</code></td>\n<td>array</td>\n<td>No</td>\n<td>For RADIO type - array of available options as strings</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"field-types\">Field Types</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type Code</strong></th>\n<th><strong>Field Type</strong></th>\n<th><strong>Value Format</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>TEXT_FIELD</td>\n<td>String</td>\n<td>Single-line text input</td>\n</tr>\n<tr>\n<td>1</td>\n<td>TEXT_AREA</td>\n<td>String</td>\n<td>Multi-line text input</td>\n</tr>\n<tr>\n<td>2</td>\n<td>CHECKBOX</td>\n<td>Boolean</td>\n<td>Yes/No checkbox</td>\n</tr>\n<tr>\n<td>3</td>\n<td>RADIO</td>\n<td>String</td>\n<td>Single selection from multiple options</td>\n</tr>\n<tr>\n<td>4</td>\n<td>EMAIL</td>\n<td>String</td>\n<td>Email address with validation</td>\n</tr>\n<tr>\n<td>5</td>\n<td>PHONE</td>\n<td>String</td>\n<td>Phone number with country code</td>\n</tr>\n<tr>\n<td>6</td>\n<td>ADDRESS</td>\n<td>String</td>\n<td>Complete address information</td>\n</tr>\n<tr>\n<td>7</td>\n<td>FILES</td>\n<td>Array</td>\n<td>Array of uploaded file references</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"value-format-examples-by-type\">Value Format Examples by Type</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Additional Information\"\n    },\n    {\n      \"type\": 6,\n      \"label\": null,\n      \"description\": \"Address\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"123 Main Street, Apt 4B, New York, NY 10001, USA\"\n    },\n    {\n      \"type\": 0,\n      \"label\": \"Please type here...\",\n      \"description\": \"Text Field\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"Sample text value\"\n    },\n    {\n      \"type\": 1,\n      \"label\": \"Please type here...\",\n      \"description\": \"&lt;p&gt;Larger Text Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"This is a longer text that spans multiple lines.\\nIt can contain paragraphs and more detailed information.\"\n    },\n    {\n      \"type\": 2,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Checkbox&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": true\n    },\n    {\n      \"type\": 3,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Radio Button&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"radioOptions\": [\"Option 1\", \"Option 2\", \"Option 3\"],\n      \"value\": \"Option 2\"\n    },\n    {\n      \"type\": 4,\n      \"label\": \"Please enter your email...\",\n      \"description\": \"&lt;p&gt;Email Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"secondary@example.com\"\n    },\n    {\n      \"type\": 5,\n      \"label\": \"Please enter your phone...\",\n      \"description\": \"&lt;p&gt;Phone Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": \"+15551234567\"\n    },\n    {\n      \"type\": 7,\n      \"label\": null,\n      \"description\": \"&lt;p&gt;Attachments Field&lt;/p&gt;\",\n      \"required\": false,\n      \"equal\": null,\n      \"value\": [\n        {\"2fa02152-beae-40f2-b688-df3216ab6b35\": \"medical_records.pdf\"}\n      ]\n    }\n  ]\n\n</code></pre>\n<p>Important Notes:</p>\n<ul>\n<li><p>The entire array must be stringified when sent in the request</p>\n</li>\n<li><p>File uploads (type 7) require prior upload to the /files/sandbox/upload endpoint</p>\n</li>\n<li><p>The files are associated with the booking after creation</p>\n</li>\n<li><p>Empty or null values are allowed for non-required fields</p>\n</li>\n</ul>\n","urlObject":{"path":["api","user","bookings","v2","auth"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"39f8f450-b2a2-44d2-a795-d3cc04efceb0"},{"name":"Cancel User's Booking","id":"6d916c74-2253-4465-85dc-35f5408ffd73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/user/bookings/{{bookingID}}/cancel","description":"<p>This endpoint allows you to cancel active bookings.<br />\nThe status of booking will be updated to <code>cancelled</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>bookingID</td>\n<td>required</td>\n<td>integer</td>\n<td>Booking ID.</td>\n<td>GET https://api.calendesk.com/api/user/bookings</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user","bookings","{{bookingID}}","cancel"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6d916c74-2253-4465-85dc-35f5408ffd73"},{"name":"Pay For Booking with User Subscription","id":"1c0acecd-5837-4929-a6d3-f0bd11779202","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."}],"body":{"mode":"raw","raw":"{\n    \"booking_ids\": [463],\n    \"user_subscription_id\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/bookings/pay/subscriptions","urlObject":{"path":["api","bookings","pay","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1c0acecd-5837-4929-a6d3-f0bd11779202"},{"name":"Fetch Booking by Control","id":"03728ebb-ff8c-46a6-a4c4-33e300d05c6b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/user/bookings/v2/control/{{control}}","description":"<p>This endpoint allows you to retrieve a booking by its <code>control</code>. It is useful when you need to access specific information about a booking but don't have full access to the API.</p>\n<h3 id=\"parameters\">Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API</td>\n</tr>\n<tr>\n<td>control</td>\n<td>required</td>\n<td>string</td>\n<td>The booking's control ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">GET https://api.calendesk.com/api/user/bookings/v2/control/abc123\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p>The response will contain the booking information associated with the provided <code>control</code> ID.</p>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 4527,\n    \"employee_id\": 52,\n    \"service_id\": 88,\n    \"service_type_id\": null,\n    \"start_date\": \"2023-09-01\",\n    \"end_date\": \"2023-09-01\",\n    \"start_time\": \"14:00\",\n    \"end_time\": \"15:00\",\n    \"starts_at\": \"2023-09-01T12:00:00+00:00\",\n    \"ends_at\": \"2023-09-01T13:00:00+00:00\",\n    \"customer_time_zone\": null,\n    \"group_id\": null,\n    \"multi_slot_group_id\": null,\n    \"recurrence_params\": null,\n    \"status\": \"cancelled\",\n    \"control\": \"7aaf1f7a-44f5-4f9d-976b-dcdc1c92fa56\",\n    \"custom_fields\": null,\n    \"paid\": false,\n    \"payment_method\": null,\n    \"payment_transaction\": null,\n    \"paid_with_user_subscription_id\": null,\n    \"service\": {\n        \"id\": 88,\n        \"category_id\": 24,\n        \"name\": \"Online meeting\",\n        \"description\": null,\n        \"upselling_description\": \"&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; style=\\\"text-align: center\\\"&gt;{{#if [USER_NOT_LOGGED]}}&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; style=\\\"text-align: center\\\"&gt;&lt;strong class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Please login to use packages.&lt;/b&gt;&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; style=\\\"text-align: center\\\"&gt;[BUTTON_ACTION={\\\"action\\\":\\\"login\\\", \\\"text\\\": \\\"Log in\\\", \\\"outline\\\": true, \\\"color\\\": \\\"red\\\"}] [BUTTON_ACTION={\\\"action\\\":\\\"signup\\\", \\\"text\\\": \\\"Sign up\\\", \\\"outline\\\": true, \\\"color\\\": \\\"primary\\\"}]&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; style=\\\"text-align: center\\\"&gt;&lt;strong class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Buy our packages!&lt;/b&gt;&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; style=\\\"text-align: center\\\"&gt;[CUSTOM_BUTTON={\\\"text\\\":\\\"Buy a package\\\", \\\"url\\\":\\\"https://mywebsite.com/buy\\\", \\\"newTab\\\":true, \\\"outline\\\":false, \\\"color\\\":\\\"primary\\\"}]&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; style=\\\"text-align: center\\\"&gt;{{/if}}&lt;/p&gt;\",\n        \"booking_time_before\": 0,\n        \"cancel_time_before\": 0,\n        \"change_time_before\": 0,\n        \"max_people\": 1,\n        \"tax\": null,\n        \"wants_invoice\": false,\n        \"only_subscriptions\": false,\n        \"duration\": 60,\n        \"slots_every\": 60,\n        \"break_time_before\": 0,\n        \"break_time_after\": 0,\n        \"price\": 10000,\n        \"allow_dynamic_duration\": true,\n        \"allow_online_payment\": true,\n        \"awaiting_booking_payment_time\": 30,\n        \"payment_required\": true,\n        \"status\": \"active\",\n        \"order_position\": \"1\",\n        \"default_booking_status\": \"approved\",\n        \"default_image\": {\n            \"id\": 6109,\n            \"name\": \"/calendesk-dev/f85356b6-9470-45cf-ad60-90bb4a4ccce4/62dd89043cf82.jpg\",\n            \"user_image_id\": 11\n        },\n        \"category\": {\n            \"id\": 24,\n            \"name\": \"Consultations\",\n            \"status\": \"active\",\n            \"order_position\": \"65535\"\n        },\n        \"employees\": [\n            {\n                \"id\": 52,\n                \"title\": null,\n                \"description\": null,\n                \"facebook\": null,\n                \"instagram\": null,\n                \"youtube\": null,\n                \"twitter\": null,\n                \"user\": {\n                    \"id\": 860,\n                    \"name\": \"Test\",\n                    \"surname\": \"Test\",\n                    \"status\": \"active\",\n                    \"default_image\": {\n                        \"id\": 7442,\n                        \"name\": \"/demo/placeholder.jpg\",\n                        \"user_image_id\": null\n                    }\n                },\n                \"services\": []\n            }\n        ],\n        \"types\": [],\n        \"locations\": [\n            {\n                \"id\": 103,\n                \"type\": 2,\n                \"data\": \"+48500123456\"\n            },\n            {\n                \"id\": 104,\n                \"type\": 3,\n                \"data\": null\n            },\n            {\n                \"id\": 108,\n                \"type\": 6,\n                \"data\": null\n            },\n            {\n                \"id\": 109,\n                \"type\": 7,\n                \"data\": null\n            },\n            {\n                \"id\": 110,\n                \"type\": 8,\n                \"data\": null\n            },\n            {\n                \"id\": 148,\n                \"type\": 5,\n                \"data\": null\n            }\n        ],\n        \"durations_range\": {\n            \"from\": 60,\n            \"to\": 60\n        },\n        \"prices_range\": {\n            \"from\": 10000,\n            \"to\": 10000\n        }\n    },\n    \"service_type\": null,\n    \"employee\": {\n        \"id\": 52,\n        \"title\": null,\n        \"description\": null,\n        \"facebook\": null,\n        \"instagram\": null,\n        \"youtube\": null,\n        \"twitter\": null,\n        \"user\": {\n            \"id\": 860,\n            \"name\": \"Test\",\n            \"surname\": \"Test\",\n            \"status\": \"active\",\n            \"default_image\": {\n                \"id\": 7442,\n                \"name\": \"/demo/placeholder.jpg\",\n                \"user_image_id\": null\n            }\n        },\n        \"services\": []\n    },\n    \"location\": {\n        \"id\": 103,\n        \"type\": 2,\n        \"data\": \"+48500123456\"\n    },\n    \"google_meet_url\": null,\n    \"zoom_join_url\": null,\n    \"teams_url\": null,\n    \"skype_url\": null,\n    \"customer_whatsapp_url\": null,\n    \"employee_whatsapp_url\": null,\n    \"simple_store_products\": []\n}\n\n</code></pre>\n<h3 id=\"response-codes\">Response Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>OK - Request successful</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not Found</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal Server Error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user","bookings","v2","control","{{control}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"03728ebb-ff8c-46a6-a4c4-33e300d05c6b"},{"name":"Cancel Booking by Control","id":"5d6f0881-4fd2-405c-bd87-5211d5e30302","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/user/bookings/v2/control/{{control}}/cancel","description":"<p>This endpoint allows you to cancel a booking by its <code>control</code>. It is useful when you need to cancel a booking but don't have full access to the API.</p>\n<h3 id=\"parameters\">Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API</td>\n</tr>\n<tr>\n<td>control</td>\n<td>required</td>\n<td>string</td>\n<td>The booking's control ID</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">PUT https://api.calendesk.com/api/user/bookings/v2/control/abc123/cancel\n\n</code></pre>\n<h3 id=\"response-codes\">Response Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>OK - Request successful</td>\n</tr>\n<tr>\n<td>403</td>\n<td>Forbidden (check service settings if allow to cancel)</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not Found</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal Server Error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user","bookings","v2","control","{{control}}","cancel"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d6f0881-4fd2-405c-bd87-5211d5e30302"}],"id":"24cc0350-2298-404f-b0f0-99e64bb53323","_postman_id":"24cc0350-2298-404f-b0f0-99e64bb53323","description":""},{"name":"Employees","item":[{"name":"Employees","id":"0b00d516-fa52-41ec-8dd0-c978853476a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/employees","description":"<p>This endpoint allows you to fetch available employees.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id</td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","employees"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0b00d516-fa52-41ec-8dd0-c978853476a2"}],"id":"f6212ac2-f5e3-42a0-a24f-f7e5bc12cd1c","_postman_id":"f6212ac2-f5e3-42a0-a24f-f7e5bc12cd1c","description":""},{"name":"Newsletter","item":[{"name":"Newsletter","id":"9f70fc31-25e7-4a10-83b7-e6a655119e3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"Content-Type","value":"application/json"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email\" : \"andrzej@calendesk.pl\"\n}"},"url":"https://api.calendesk.com/api/newsletter","description":"<p>This endpoint allows you to add an email to newsletter.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","newsletter"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9f70fc31-25e7-4a10-83b7-e6a655119e3c"},{"name":"Newsletter resend","id":"214a7303-8fc3-4375-849f-38649d8c0413","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"Content-Type","value":"application/json"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/newsletter/resend/andrzej@calendesk.pl","description":"<p>This endpoint allows you to add an email to newsletter.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","newsletter","resend","andrzej@calendesk.pl"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"214a7303-8fc3-4375-849f-38649d8c0413"},{"name":"Newsletter subscribe","id":"6e69ce2b-c0d3-4516-a180-003edafc611f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"Content-Type","value":"application/json"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":""},"url":"https://api.calendesk.com/api/newsletter/subscribe/{{activationToken}}","description":"<p>This endpoint allows you to add an email to newsletter.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","newsletter","subscribe","{{activationToken}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6e69ce2b-c0d3-4516-a180-003edafc611f"}],"id":"c04183a2-bf16-462e-bfd0-dab5baa3adc1","_postman_id":"c04183a2-bf16-462e-bfd0-dab5baa3adc1","description":""},{"name":"Settings","item":[{"name":"Settings Web","id":"cffcf9ec-4ea3-4eff-921b-3789f0082006","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/settings/web","description":"<p>This endpoint allows you to fetch all configuration for the API's client. It should be the first call since the client has started.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>regulations</td>\n<td>optional</td>\n<td>integer</td>\n<td>Set 1 if you want to receive regulations.</td>\n<td></td>\n</tr>\n<tr>\n<td>privacy_policy</td>\n<td>optional</td>\n<td>integer</td>\n<td>Set 1 if you want to receive privacy policy.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"explanations-for-properties\">Explanations for properties.</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>regulations</td>\n<td>string, max: 65000</td>\n<td>Regulations text in HTML.</td>\n</tr>\n<tr>\n<td>privacy_policy</td>\n<td>string, max: 65000</td>\n<td>Privacy Policy text in HTML.</td>\n</tr>\n<tr>\n<td>about_us</td>\n<td>string, max: 65000</td>\n<td>About us text in HTML.</td>\n</tr>\n<tr>\n<td>company_name</td>\n<td>string, max: 255</td>\n<td>Company name.</td>\n</tr>\n<tr>\n<td>company_slogan</td>\n<td>string, max: 1000</td>\n<td>Company slogan.</td>\n</tr>\n<tr>\n<td>company_email</td>\n<td>string, email, max: 60</td>\n<td>Company e-mail.</td>\n</tr>\n<tr>\n<td>company_address</td>\n<td>string, max: 1000</td>\n<td>Company address.</td>\n</tr>\n<tr>\n<td>company_phone</td>\n<td>string, format e164</td>\n<td>Company phone.</td>\n</tr>\n<tr>\n<td>company_domain</td>\n<td>string, format url</td>\n<td>Company URL.</td>\n</tr>\n<tr>\n<td>facebook</td>\n<td>string, format url</td>\n<td>Facebook.</td>\n</tr>\n<tr>\n<td>instagram</td>\n<td>string, format url</td>\n<td>Instagram.</td>\n</tr>\n<tr>\n<td>twitter</td>\n<td>string, format url</td>\n<td>Twitter.</td>\n</tr>\n<tr>\n<td>youtube</td>\n<td>string, format url</td>\n<td>YouTube.</td>\n</tr>\n<tr>\n<td>calendar_slots_duration</td>\n<td>string, time, format H:i,</td>\n<td>The frequency for displaying time slots in calendar.</td>\n</tr>\n<tr>\n<td>calendar_slots_label_interval</td>\n<td>string, time, format H:i,</td>\n<td>The frequency that the time slots should be labelled with text in calendar.</td>\n</tr>\n<tr>\n<td>time_zone</td>\n<td>string, format tz database</td>\n<td>Timezone.</td>\n</tr>\n<tr>\n<td>language</td>\n<td>string, format ISO_639-1</td>\n<td>Language.</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>string, format ISO 4217</td>\n<td>Currency.</td>\n</tr>\n<tr>\n<td>bg_overlay_color</td>\n<td>string, hex code of color</td>\n<td>Overlay background color for mobile app and website for tenant's clients.</td>\n</tr>\n<tr>\n<td>preferred_phone_countries</td>\n<td>array[string], format ISO Alpha-2</td>\n<td>List of preferred phone countries in phone inputs.</td>\n</tr>\n<tr>\n<td>calendar_time</td>\n<td>object</td>\n<td>Container of calendar time data.</td>\n</tr>\n<tr>\n<td>calendar_time.from</td>\n<td>string, time, format H:i,</td>\n<td>Start calendar spots from selected hour.</td>\n</tr>\n<tr>\n<td>calendar_time.to</td>\n<td>string, time, format H:i,</td>\n<td>End calendar spots at selected hour.</td>\n</tr>\n<tr>\n<td>calendar_working_hours</td>\n<td>object</td>\n<td>Container of calendar working hours data</td>\n</tr>\n<tr>\n<td>calendar_working_hours.from</td>\n<td>string, time, format H:i,</td>\n<td>Display calendar working hour from selected hour (usually a different background color in calendar).</td>\n</tr>\n<tr>\n<td>calendar_working_hours.to</td>\n<td>string, time, format H:i,</td>\n<td>Display calendar working hour till selected hour (usually a different background color in calendar)</td>\n</tr>\n<tr>\n<td>company_working_hours</td>\n<td>array[object]</td>\n<td>Sorted list of days and working hours for the company.</td>\n</tr>\n<tr>\n<td>company_working_hours[].id</td>\n<td>integer</td>\n<td>Id of day.</td>\n</tr>\n<tr>\n<td>company_working_hours[].day</td>\n<td>string</td>\n<td>Day code in English.</td>\n</tr>\n<tr>\n<td>company_working_hours[].open</td>\n<td>string, time, format H:i,</td>\n<td>Open time.</td>\n</tr>\n<tr>\n<td>company_working_hours[].close</td>\n<td>string, time, format H:i,</td>\n<td>Close time.</td>\n</tr>\n<tr>\n<td>company_working_hours[].is_open</td>\n<td>boolean</td>\n<td>Information if at the day the company is open.</td>\n</tr>\n<tr>\n<td>display_company_working_hours</td>\n<td>array[object]</td>\n<td>Sorted list of days and working hours for the company. It should be used for displaying purposes.</td>\n</tr>\n<tr>\n<td>image_base_url</td>\n<td>string, url</td>\n<td>Base URL path to the images. You need to append the rest of the part of the URL.</td>\n</tr>\n<tr>\n<td>logo</td>\n<td>object</td>\n<td>A user's image ID. Public logo image. Property <code>name</code> is the last part of full URL to the image. See <code>&lt;br&gt;image_base_url</code>.</td>\n</tr>\n<tr>\n<td>logo_dark</td>\n<td>object</td>\n<td>A user's image ID. Public dark logo image. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>admin_bg_1</td>\n<td>object</td>\n<td>A user's image ID. Background image in admin panel. Used in single pages like login, remind password. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>admin_bg_2</td>\n<td>object</td>\n<td>A user's image ID. Background image in admin panel. Used in dashboard. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>logo_256_256</td>\n<td>object</td>\n<td>A user's image ID. Square logo (used in admin panel in side menu). Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>client_bg_1</td>\n<td>object</td>\n<td>A user's image ID. Background image on client's website. Used on home page and single page sites like: login, sign up, remind password, not found, reset password. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>client_bg_2</td>\n<td>object</td>\n<td>A user's image ID. Background image on client's website. Used in services. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>client_bg_3</td>\n<td>object</td>\n<td>A user's image ID. Background image on client's website. Used in newsletter. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>client_bg_4</td>\n<td>object</td>\n<td>A user's image ID. Background image on client's website. Used in regulations, privacy policy, team. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>client_bg_5</td>\n<td>object</td>\n<td>A user's image ID. Background image on client's website. Used in bookings. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>client_bg_6</td>\n<td>object</td>\n<td>A user's image ID. Background image on client's website. Used in settings. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>mobile_app_for_tenants_clients_bg_1</td>\n<td>object</td>\n<td>A user's image ID. Background image on tenant client's mobile app. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n<tr>\n<td>mobile_app_for_tenants_clients_bg_2</td>\n<td>integer</td>\n<td>A user's image ID. Background image on tenant client's mobile app. Property <code>name</code> is the last part of full URL to the image. See <code>image_base_url</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","settings","web"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cffcf9ec-4ea3-4eff-921b-3789f0082006"}],"id":"829f9eab-4845-4f10-8ed7-ed848adbc4a6","_postman_id":"829f9eab-4845-4f10-8ed7-ed848adbc4a6","description":""},{"name":"Services","item":[{"name":"Categories With Services","id":"58a0bad2-6911-4bfa-960b-b278e42ca60c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/v2/categories/services","description":"<p>This endpoint allows you to fetch categories with services. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","categories","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"58a0bad2-6911-4bfa-960b-b278e42ca60c"},{"name":"Categories","id":"ace8c1b7-cb64-43b8-bffb-1107e2a84b75","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/categories","description":"<p>This endpoint allows you to fetch available categories.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","categories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ace8c1b7-cb64-43b8-bffb-1107e2a84b75"}],"id":"8c434058-e02b-4041-bb02-704230dc0a67","_postman_id":"8c434058-e02b-4041-bb02-704230dc0a67","description":""},{"name":"Stripe","item":[{"name":"Get Stripe Account","id":"1718f1b8-ccdf-4d1e-83b7-48997ebbfdd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":"{\n    \"payment_method_identifier\": \"pm_1Ha67PAR0zEPlIBeuMDHZsY6\",\n    \"plan_period_id\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/stripe/connect/account","urlObject":{"path":["api","stripe","connect","account"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1718f1b8-ccdf-4d1e-83b7-48997ebbfdd8"},{"name":"Create Stripe Payment Checkout For Booking","id":"2d5bdbfd-26e1-4a34-9c9c-1f36f08f6d98","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"booking_ids\": [123],\n    \"promo_code\" : \"20offm\",\n    \"success_url\" : \"https://calendesk.com/success\",\n    \"cancel_url\" : \"https://calendesk.com/fail\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/stripe/connect/payment/checkout/bookings","description":"<p>This endpoint creates a Stripe Checkout session for the provided booking IDs and promo code, returning a session URL for the payment flow.</p>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<p><code>POST https://api.calendesk.com/api/stripe/connect/payment/checkout/bookings</code></p>\n<hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>booking_ids</code></td>\n<td><code>array</code></td>\n<td>Yes</td>\n<td>Array of booking IDs to include in the session.</td>\n</tr>\n<tr>\n<td><code>promo_code</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Promo code for discount (if applicable).</td>\n</tr>\n<tr>\n<td><code>success_url</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>URL to redirect upon successful payment.</td>\n</tr>\n<tr>\n<td><code>cancel_url</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>URL to redirect if the user cancels payment.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-request-body\"><strong>Example Request Body</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"booking_ids\": [123],\n    \"promo_code\": \"promo20\",\n    \"success_url\": \"https://calendesk.com/success\",\n    \"cancel_url\": \"https://calendesk.com/fail\"\n}\n\n</code></pre>\n<h4 id=\"example-response\"><strong>Example Response</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"session_id\": \"cs_test_a1JPbGOGh2SSh4N5fwizmknAvsgGOGiCzMydhvCFldJBVzMliCnJ2bfgYA\",\n    \"url\": \"https://checkout.stripe.com/c/pay/cs_test_a1JPbGOGh2SSh4N5fwizmknAvsgGOGiCzMydhvCFldJBVzMliCnJ2bfgYA#fid...\",\n    \"success_url\": \"https://example-success.com\",\n    \"cancel_url\": \"https://example-cancel.com\",\n    \"expires_at\": 1736948686,\n    \"locale\": \"en\",\n    \"payment_status\": \"unpaid\",\n    \"customer\": \"cus_xxxxxxxxxxxxxx\",\n    \"amount_total\": 80000,\n    \"amount_subtotal\": 100000,\n    \"currency\": \"usd\",\n    \"total_details\": {\n        \"amount_discount\": 20000,\n        \"amount_shipping\": 0,\n        \"amount_tax\": 0\n    }\n}\n</code></pre>","urlObject":{"path":["api","stripe","connect","payment","checkout","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2d5bdbfd-26e1-4a34-9c9c-1f36f08f6d98"},{"name":"Create Stripe Customer For Connected Account","id":"69d63558-7997-4f5a-bdef-2ed34d3368a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/stripe/connect/customers","urlObject":{"path":["api","stripe","connect","customers"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"69d63558-7997-4f5a-bdef-2ed34d3368a2"},{"name":"Create Stripe Subscription For Customer For Connected Account","id":"f4218ad0-5b23-4a0d-8bc0-bea755b9a7f5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman.","key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/stripe/connect/customers/subscriptions/1","urlObject":{"path":["api","stripe","connect","customers","subscriptions","1"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f4218ad0-5b23-4a0d-8bc0-bea755b9a7f5"},{"name":"Create Stripe Setup Intent For Customer For Connected Account","id":"ad63405f-6f76-476e-b32f-c7eb86a2a26c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/stripe/connect/customers/payment-methods/setup/intent","urlObject":{"path":["api","stripe","connect","customers","payment-methods","setup","intent"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad63405f-6f76-476e-b32f-c7eb86a2a26c"},{"name":"Attach Payment Method to Customer For Connected Account","id":"2e431602-81f8-42f9-9600-3d1f6d061601","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"payment_method_identifier\": \"pm_1JBfeCLBIVARpu3nM9GLB7c7\",\n    \"default\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/stripe/connect/customers/payment-methods/setup/attach","urlObject":{"path":["api","stripe","connect","customers","payment-methods","setup","attach"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2e431602-81f8-42f9-9600-3d1f6d061601"},{"name":"Detach Payment Method to Customer For Connected Account","id":"25bb0fbc-32fa-4021-a034-8ff58a1dac60","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"https://api.calendesk.com/api/stripe/connect/customers/payment-methods/setup/detach","urlObject":{"path":["api","stripe","connect","customers","payment-methods","setup","detach"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"25bb0fbc-32fa-4021-a034-8ff58a1dac60"},{"name":"Create Stripe Payment Intent For Booking","id":"ca8229b0-6c14-4abc-8c2c-0e405f9b9941","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":"{\n    \"booking_id\": 3489\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/stripe/connect/payment/intent/booking","urlObject":{"path":["api","stripe","connect","payment","intent","booking"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ca8229b0-6c14-4abc-8c2c-0e405f9b9941"},{"name":"Create Stripe Payment Checkout For Simple Store Product","id":"862091b9-2e68-4e8b-8fe6-6fec93275411","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":"{\n    \"simple_store_product_id\": 2,\n    \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/stripe/connect/payment/checkout/simple-store-product","urlObject":{"path":["api","stripe","connect","payment","checkout","simple-store-product"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"862091b9-2e68-4e8b-8fe6-6fec93275411"},{"name":"Create Stripe Payment Checkout For Simple Store Product V2 - Authentication not required","id":"37403ee2-5bc3-47a3-b77c-b09e9d06c079","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"email\": \"test@calendesk.com\",\n        \"send_reset_password\": true\n    },\n    \"simple_store_product_id\": 69,\n    \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/stripe/connect/payment/checkout/simple-store-product/v2","urlObject":{"path":["api","stripe","connect","payment","checkout","simple-store-product","v2"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"37403ee2-5bc3-47a3-b77c-b09e9d06c079"}],"id":"90d38f8f-666b-4dc1-a4a3-f151bbc66f9a","_postman_id":"90d38f8f-666b-4dc1-a4a3-f151bbc66f9a","description":""},{"name":"Subscriptions","item":[{"name":"Get Subscriptions","id":"14ccc01a-bf7f-4217-ac6e-c91fff64a948","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/subscriptions","urlObject":{"path":["api","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"14ccc01a-bf7f-4217-ac6e-c91fff64a948"},{"name":"Get Subscription","id":"77c8fe82-cfeb-42bf-a833-6d7fb40a7d31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."}],"url":"https://api.calendesk.com/api/subscriptions/1","urlObject":{"path":["api","subscriptions","1"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"77c8fe82-cfeb-42bf-a833-6d7fb40a7d31"},{"name":"Create User Subscription","id":"9093ea8f-f660-4374-9fb9-3387834a3a5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."}],"body":{"mode":"raw","raw":"{\n    \"coupon\" : \"50off\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/subscriptions/{{subscriptionID}}","description":"<h1 id=\"create-subscription-api-client-side\">Create Subscription API (Client-Side)</h1>\n<p>This API endpoint is designed for clients to create a subscription by providing a subscription ID and optionally applying a coupon code for discounts. It simplifies the process of subscribing to services from the client-side, enabling users to easily manage their subscriptions and benefit from promotional offers.</p>\n<p><strong>Endpoint</strong>: <code>POST https://api.calendesk.com/api/subscriptions/{{subscriptionID}}</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<p>Clients need to submit a JSON object with the following information to create a subscription and apply any available discounts:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>coupon</td>\n<td>String</td>\n<td>(Optional) A coupon code to apply a discount to the subscription.</td>\n<td><code>\"50off\"</code></td>\n<td>Any valid coupon code</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"coupon\": \"50off\"\n}\n\n</code></pre>\n<h2 id=\"description\">Description</h2>\n<p>By accessing this endpoint, clients have the ability to initiate a subscription to a particular service identified by the <code>subscriptionID</code> in the URL. The optional <code>coupon</code> key allows clients to take advantage of special offers or discounts that may be available, reducing the overall cost of the subscription. See <a href=\"https://calendesk.com/help/article/how-do-you-create-discount-codes/\">https://calendesk.com/help/article/how-do-you-create-discount-codes/</a></p>\n<p>The use of a coupon is entirely optional; clients can choose to omit this field if they do not have a coupon code or if they prefer to subscribe at the regular rate. When a coupon is applied, the system automatically calculates the discount and adjusts the subscription cost accordingly.</p>\n","urlObject":{"path":["api","subscriptions","{{subscriptionID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9093ea8f-f660-4374-9fb9-3387834a3a5a"},{"name":"Cancel User Subscription","id":"f9ba61f1-6788-4608-8f1c-3e89ca72a7b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."}],"url":"https://api.calendesk.com/api/user/subscriptions/1/cancel","urlObject":{"path":["api","user","subscriptions","1","cancel"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f9ba61f1-6788-4608-8f1c-3e89ca72a7b5"}],"id":"7800451e-78f4-4d92-a129-e5600adf457d","_postman_id":"7800451e-78f4-4d92-a129-e5600adf457d","description":""},{"name":"Token","item":[{"name":"Generate Auth Token","id":"4d6344fc-429f-4ad8-814d-7aa3c8c2db0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email\": \"maciej@cupial.eu\",\n\t\"password\": \"demo12345A1!\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/auth/login","description":"<p>This endpoint allows you to create an auth token, which will authorize you in other requests.</p>\n<p>Add to your headers the token you will receive.</p>\n<blockquote>\n<p>Authorization Bearer token</p>\n</blockquote>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>password</td>\n<td>required</td>\n<td>string</td>\n<td>Password of the user.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","login"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d6344fc-429f-4ad8-814d-7aa3c8c2db0e"},{"name":"Destroy Access Token","id":"d5607d71-cba3-449d-8754-99cd5e61abb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/auth/logout","description":"<p>This endpoint allows you to invalidate current auth token.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","logout"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d5607d71-cba3-449d-8754-99cd5e61abb8"},{"name":"Refresh Access Token","id":"1a81bad7-3084-417f-b996-d9e5c2395425","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"refresh_token\": \"{{refreshToken}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/auth/token/refresh","description":"<p>This endpoint allows you to refresh an auth token, the request will generate another valid token.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>refresh_token</td>\n<td>required</td>\n<td>string</td>\n<td>Token.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","token","refresh"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1a81bad7-3084-417f-b996-d9e5c2395425"},{"name":"Validate Access Token","id":"d07dc31a-c017-4314-8792-9f3ef305c8c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"access_token\": \"{{token}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/auth/token/validate","description":"<p>This endpoint allows you to validate an auth token.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>access_token</td>\n<td>required</td>\n<td>string</td>\n<td>Token.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","token","validate"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d07dc31a-c017-4314-8792-9f3ef305c8c0"}],"id":"3d38df81-6e24-48c6-b7a9-428034632922","_postman_id":"3d38df81-6e24-48c6-b7a9-428034632922","description":""},{"name":"User","item":[{"name":"Activate User's Account","id":"d8afdc4c-00e1-4e69-a595-14c556c87382","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/auth/signup/activate/{{activationToken}}","description":"<p>This endpoint allows you to activate user's account. The user should receive an email with a link which will contain the activation token.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>activationToken</td>\n<td>required</td>\n<td>string</td>\n<td>An activation token received by email.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","signup","activate","{{activationToken}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d8afdc4c-00e1-4e69-a595-14c556c87382"},{"name":"Create User","id":"f6b415b5-000f-48c9-ad5d-d56c553adf57","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Maciej\",\n\t\"surname\" : \"Testowy\",\n\t\"email\" : \"maciej@calendesk.com\",\n\t\"default_phone\" : \"+48500123456\",\n\t\"password\" : \"test12345\",\n\t\"default_address\" : {\n        \"name\": \"ABC SA\",\n        \"street\": \"Testowa 1/2\",\n        \"postal_code\": \"00:001\",\n\t\t\"country_iso_code\" : \"pl\",\n\t\t\"city\" : \"Warsaw\",\n        \"vat_iso_prefix\": \"PL\",\n        \"tax_number\": \"5783137225\"\n\t}\n}"},"url":"https://api.calendesk.com/api/auth/signup","description":"<p>This endpoint allows you to create a new user, which will be able to login to the user's panel (website for tenant's clients) and mobile app (mobile app for tenant's clients).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Name</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Surname</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>required</td>\n<td>string, min: 6, max: 255</td>\n<td>Password</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data</td>\n<td>array</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Name</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","signup"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f6b415b5-000f-48c9-ad5d-d56c553adf57"},{"name":"Resend Activation Link","id":"940c1258-bcf8-4d31-96f1-643d950601d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/auth/signup/{{email}}/resend-activation-link","description":"<p>This endpoint allows you to resend an activation token. The user will receive an email with a link which will contain the activation token.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email</td>\n<td>Email (username).</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","signup","{{email}}","resend-activation-link"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"940c1258-bcf8-4d31-96f1-643d950601d4"},{"name":"Upload User's Picture","id":"7946d106-2535-4ee5-9175-f54bd04eb920","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/x-www-form-urlencoded"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"image","type":"file","value":null}]},"url":"https://api.calendesk.com/api/user/upload/picture","description":"<p>This endpoint allows you to replace logged user's picture. <br />\nThis request will remove an old avatar and set the new one<br />\nRemember about setting <code>Conent-Type</code> to <code>application/x-www-form-urlencoded</code>.<br />\nThe default limit is <code>10240 KB</code>, the size will be limited to <code>600x600 px</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>image</td>\n<td>required</td>\n<td>file</td>\n<td>Image.</td>\n<td>10240 KB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user","upload","picture"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7946d106-2535-4ee5-9175-f54bd04eb920"},{"name":"Reset User's Password","id":"a73df71a-fc8c-455f-a172-1346c41f8c11","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"password\" : \"demo12345\",\n\t\"password_confirmation\" : \"demo12345\"\n}"},"url":"https://api.calendesk.com/api/auth/login/reset-password/{{resetPasswordToken}}","description":"<p>This endpoint allows you to reset user's password. The user should receive an email with a link which will contain the reset password token.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>resetPasswordToken</td>\n<td>required</td>\n<td>string</td>\n<td>A reset password token received by email.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","login","reset-password","{{resetPasswordToken}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a73df71a-fc8c-455f-a172-1346c41f8c11"},{"name":"Remind User's Password","id":"7db1fa9c-5ca0-47bc-81de-580d3237632b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/auth/login/{{email}}/remind-password/1","description":"<p>This endpoint allows you to send a link for password reset. The user will receive an email with a link which will contain the reset password token. The endpoint will return success even if the email doesn't exist in database.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email</td>\n<td>Email (username).</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","auth","login","{{email}}","remind-password","1"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7db1fa9c-5ca0-47bc-81de-580d3237632b"},{"name":"User's Data","id":"28ed6739-c745-4151-8d97-4fbd210444fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/v2/user","description":"<p>This endpoint allows you to fetch logged user's data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","user"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"28ed6739-c745-4151-8d97-4fbd210444fd"},{"name":"Delete User","id":"514155fb-a1ef-4805-8857-86e3f6176ec1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/user","description":"<p>This endpoint allows you to fetch logged user's data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"514155fb-a1ef-4805-8857-86e3f6176ec1"},{"name":"Update User's Data","id":"25281d00-5ca1-410b-afa2-3e637254bd22","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"gender\":\"male\",\n    \"name\" : \"Demo\",\n    \"surname\" : \"Calendesk\",\n    \"default_address\": {\n    \t\"name\": \"John Demo\",\n    \t\"street\": \"Test Street 12/1\",\n    \t\"postal_code\": \"01-000\",\n    \t\"city\": \"Warsaw\",\n    \t\"country_iso_code\": \"pl\",\n    \t\"tax_number\": \"1234567890\"\n    },\n    \"default_phone\" : \"+48500123456\"\n}"},"url":"https://api.calendesk.com/api/user","description":"<p>This endpoint allows you to update logged user's data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Name</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>Surname</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>required</td>\n<td>string, email, max: 60, unique</td>\n<td>Email address (username).</td>\n<td></td>\n</tr>\n<tr>\n<td>default_phone</td>\n<td>optional</td>\n<td>string, format e164</td>\n<td>Phone number</td>\n<td>e164</td>\n</tr>\n<tr>\n<td>password</td>\n<td>required</td>\n<td>string, min: 6, max: 255</td>\n<td>Password</td>\n<td></td>\n</tr>\n<tr>\n<td>date_of_birth</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of birth, if the year is not provided just send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>date_of_names_day</td>\n<td>optional</td>\n<td>string, date, format Y-m-d</td>\n<td>Date of names day, send the current year.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>optional</td>\n<td>string</td>\n<td>Gender</td>\n<td><code>male</code>, <code>female</code>, <code>other</code></td>\n</tr>\n<tr>\n<td>identity_number</td>\n<td>optional</td>\n<td>string, max: 40</td>\n<td>Identity number, it can be any number the app wants to use.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address</td>\n<td>optional</td>\n<td>object</td>\n<td>Container of addresses data</td>\n<td>array</td>\n</tr>\n<tr>\n<td>default_address.name</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Name</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.street</td>\n<td>optional</td>\n<td>string, max: 100</td>\n<td>Street</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.postal_code</td>\n<td>optional</td>\n<td>string, max: 15</td>\n<td>Postal code</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.city</td>\n<td>optional</td>\n<td>string, max: 50</td>\n<td>City</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.country_iso_code</td>\n<td>optional</td>\n<td>string, format ISO Alpha-2</td>\n<td>Country ISO code</td>\n<td>ISO Alpha-2</td>\n</tr>\n<tr>\n<td>default_address.vat_iso_prefix</td>\n<td>optional</td>\n<td>string, max: 2</td>\n<td>VAT ISO prefix.</td>\n<td></td>\n</tr>\n<tr>\n<td>default_address.tax_number</td>\n<td>optional</td>\n<td>string, max: 10</td>\n<td>Tax number.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"25281d00-5ca1-410b-afa2-3e637254bd22"},{"name":"Update User's Preferencies","id":"ae4416fc-e371-4489-82c2-25f5cca665ca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-Requested-With","value":"XMLHttpRequest","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email_notification_booking_created\": true,\n    \"email_notification_booking_updated\": true,\n    \"email_notification_booking_deleted\": true,\n    \"email_notification_booking_reminder\": true,\n    \"sms_notification_booking_created\": true,\n    \"sms_notification_booking_updated\": true,\n    \"sms_notification_booking_deleted\": true,\n    \"sms_notification_booking_reminder\": true\n    \n}"},"url":"https://api.calendesk.com/api/user/preferences","description":"<p>This endpoint allows you to update logged user's preferences.</p>\n","urlObject":{"path":["api","user","preferences"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ae4416fc-e371-4489-82c2-25f5cca665ca"},{"name":"User's Bookings","id":"a1a9d243-0144-4e0f-86c0-f4d3d6c4e8d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/user/bookings","description":"<p>This endpoint allows you to fetch user's bookings.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>id</td>\n<td>integer</td>\n<td>Booking's ID.</td>\n<td><code>GET https://api.calendesk.com/api/user/bookings</code></td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of employees separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/employees</code></td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of services separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/services</code></td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>waiting</code> - waiting for approvement<br /><code>payment</code> - waiting for payment<br /><code>approved</code> - approved by admin<br /><code>cancelled</code> - cancelled by admin or user<br /><code>done</code> - done<br /></td>\n</tr>\n<tr>\n<td>status_ids</td>\n<td>string, ids separated by commas</td>\n<td>Statuses (e.g. waiting,payment).</td>\n<td><code>waiting</code> - waiting for approvement<br /><code>payment</code> - waiting for payment<br /><code>approved</code> - approved by admin<br /><code>cancelled</code> - cancelled by admin or user<br /><code>done</code> - done<br /></td>\n</tr>\n<tr>\n<td>from</td>\n<td>string, date, format Y-m-d,</td>\n<td>Date from.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>to</td>\n<td>string, date, format Y-m-d,</td>\n<td>Date to.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>limit</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a1a9d243-0144-4e0f-86c0-f4d3d6c4e8d4"},{"name":"User's Bookings Filters","id":"4293d185-6139-43f1-813e-8082cf0851fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/user/bookings/filters","description":"<p>This endpoint allows you to fetch user's bookings filters (they are dynamic).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","user","bookings","filters"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4293d185-6139-43f1-813e-8082cf0851fa"},{"name":"Get User Subscriptions","id":"511df67a-4071-430a-aae1-74cf641394fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"X-Api-Key","type":"text","value":"{{apiKey}}"}],"url":"https://api.calendesk.com/api/v2/user/subscriptions","urlObject":{"path":["api","v2","user","subscriptions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"511df67a-4071-430a-aae1-74cf641394fe"}],"id":"2c9e04c7-9fd0-4051-9e31-270aa95ac602","_postman_id":"2c9e04c7-9fd0-4051-9e31-270aa95ac602","description":""},{"name":"User payments","item":[{"name":"Get Simple Store Product Payment Transactions","id":"aaca7586-383a-44eb-8b4c-b9651d203b3f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/simple-store/product/transaction","urlObject":{"path":["api","simple-store","product","transaction"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"aaca7586-383a-44eb-8b4c-b9651d203b3f"},{"name":"Get User Subscription Payment Transactions","id":"d06703b9-fccb-4a9e-857d-0b62edcb9b64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Authorization","type":"text","value":"Bearer {{token}}","warning":"This is a duplicate header and will be overridden by the Authorization header generated by Postman."}],"url":"https://api.calendesk.com/api/user/subscriptions/transactions","urlObject":{"path":["api","user","subscriptions","transactions"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d06703b9-fccb-4a9e-857d-0b62edcb9b64"},{"name":"Get Booking Payment Transactions","id":"ed2d09cf-478d-462d-a907-6085b70957df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/payments/bookings","description":"<p>This endpoint allows you to fetch booking payment transactions. The response will use pagination. You can filter your results using parameters.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>id</td>\n<td>integer</td>\n<td>Booking's ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/bookings</code></td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>integer</td>\n<td>User's ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>user_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of users separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/admin/users</code></td>\n</tr>\n<tr>\n<td>tag_id</td>\n<td>integer</td>\n<td>Tag's ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>tag_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of tags separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/admin/tags</code></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>integer</td>\n<td>Employee's ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of employees separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/admin/employees</code></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>integer</td>\n<td>Service's ID.</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>service_ids</td>\n<td>string, ids separated by commas</td>\n<td>IDs of services separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/admin/services</code></td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>waiting</code> - waiting for approvement<br /><code>payment</code> - waiting for payment<br /><code>approved</code> - approved by admin<br /><code>cancelled</code> - cancelled by admin or user<br /><code>done</code> - done<br /></td>\n</tr>\n<tr>\n<td>status_ids</td>\n<td>string, ids separated by commas</td>\n<td>Statuses (e.g. waiting,payment).</td>\n<td><code>waiting</code> - waiting for approvement<br /><code>payment</code> - waiting for payment<br /><code>approved</code> - approved by admin<br /><code>cancelled</code> - cancelled by admin or user<br /><code>done</code> - done<br /></td>\n</tr>\n<tr>\n<td>from</td>\n<td>string, date, format Y-m-d,</td>\n<td>Date from.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>to</td>\n<td>string, date, format Y-m-d,</td>\n<td>Date to.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>limit</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","payments","bookings"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ed2d09cf-478d-462d-a907-6085b70957df"}],"id":"46947452-b579-420d-a2df-d2d669f9a3d3","_postman_id":"46947452-b579-420d-a2df-d2d669f9a3d3","description":""},{"name":"Website","item":[{"name":"Get Published Website","id":"e10df0d0-6ebd-4a89-b393-1819b5fa68c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/website/v2/published/{{draftId}}","urlObject":{"path":["api","website","v2","published","{{draftId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e10df0d0-6ebd-4a89-b393-1819b5fa68c3"},{"name":"Get Published Website Page Sections","id":"4efe365b-e35c-4f24-b062-ffae2e9db5c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/website/v2/published/{{draftUuid}}/pages/{{pageId}}/sections","urlObject":{"path":["api","website","v2","published","{{draftUuid}}","pages","{{pageId}}","sections"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4efe365b-e35c-4f24-b062-ffae2e9db5c2"},{"name":"Get Published Website Page By Id","id":"2ab2f70d-d431-4082-8288-f465a1288692","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/website/v2/published/{{draftUuid}}/pages/{{pageId}}","urlObject":{"path":["api","website","v2","published","{{draftUuid}}","pages","{{pageId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2ab2f70d-d431-4082-8288-f465a1288692"}],"id":"1125ed69-07d9-464d-813b-326bc560416a","_postman_id":"1125ed69-07d9-464d-813b-326bc560416a","description":""},{"name":"Beta","item":[{"name":"[BETA] Reviews","id":"538d6075-cfa2-4878-9947-84cc7c98e6a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/reviews","description":"<p>This endpoint allows you to fetch users reviews.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>order_by</td>\n<td>optional</td>\n<td>string</td>\n<td>Order by columns.</td>\n<td>id,name,company,stars</td>\n</tr>\n<tr>\n<td>ascending</td>\n<td>optional</td>\n<td>boolean (0 or 1)</td>\n<td>Sort result ascending. Default false.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","reviews"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"538d6075-cfa2-4878-9947-84cc7c98e6a3"},{"name":"[BETA] Create Review","id":"5df7e0a1-29c3-47ee-b5b7-59f81125eb11","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\" : \"Aleksander\",\n\t\"description\" : \"This place is amazing!\",\n\t\"stars\" : 5\n}"},"url":"https://api.calendesk.com/api/reviews","description":"<p>This endpoint allows you to create a simple review about tenant and its services. The review has to be accepted by admin before it appears.<br /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>required</td>\n<td>string, max: 60</td>\n<td>Name.</td>\n<td></td>\n</tr>\n<tr>\n<td>company</td>\n<td>optional</td>\n<td>string, max: 60</td>\n<td>Company name.</td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>required</td>\n<td>string, max: 5000</td>\n<td>Description.</td>\n<td></td>\n</tr>\n<tr>\n<td>stars</td>\n<td>required</td>\n<td>integer, min: 1, max: 5</td>\n<td>Stars (rating).</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","reviews"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5df7e0a1-29c3-47ee-b5b7-59f81125eb11"}],"id":"fb0902ef-3d62-4ac8-b2af-c69bcdb178ca","_postman_id":"fb0902ef-3d62-4ac8-b2af-c69bcdb178ca","description":""},{"name":"Deprecated","item":[{"name":"Categories With Services","id":"53c1bcb3-eb3f-41c1-b052-14a1a1a764f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"}],"url":"https://api.calendesk.com/api/categories/services","description":"<p>This endpoint allows you to fetch categories with services. The response will use pagination.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n<tr>\n<td>status</td>\n<td>optional</td>\n<td>string</td>\n<td>Status.</td>\n<td><code>active</code>, <code>inactive</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","categories","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"53c1bcb3-eb3f-41c1-b052-14a1a1a764f0"},{"name":"Available Bookings Slot","id":"8e240483-d6bf-4484-bbbb-2c5d1d59b52e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/available-slots?service_id={{serviceID}}&service_type_id={{serviceTypeID}}&number_of_days={{numberOfDays}}&start_date={{startDate}}&required_time={{requiredTime}}","description":"<p>This endpoint allows you to fetch available booking slots sorted by employees IDs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of service.</td>\n<td>GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service type. Only some services have types. <br />Always check if selected service has a type (array types in response).</td>\n<td>Types in GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>number_of_days</td>\n<td>optional</td>\n<td>integer, max: 10</td>\n<td>Number of days for availability. Default <code>7</code>.</td>\n<td></td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal today</td>\n<td>Appointment's date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>required_time</td>\n<td>optional</td>\n<td>integer, max: 1000</td>\n<td>The number of minutes user wants to use for an appointment.<br />Some services have dynamic duration time some not. <br />Check the <code>is_allowed_required_time</code> property to see if the service allows setting dynamic time.<br />If you don't send anything here, system will use the default duration time from service or its type.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","available-slots"],"host":["https://api.calendesk.com"],"query":[{"key":"service_id","value":"{{serviceID}}"},{"key":"service_type_id","value":"{{serviceTypeID}}"},{"key":"number_of_days","value":"{{numberOfDays}}"},{"key":"start_date","value":"{{startDate}}"},{"key":"required_time","value":"{{requiredTime}}"}],"variable":[]}},"response":[],"_postman_id":"8e240483-d6bf-4484-bbbb-2c5d1d59b52e"},{"name":"Translations","id":"c5493f2e-bfe3-45cc-b8ec-e2c2a2e273e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","type":"text","value":"{{tenant}}"},{"key":"Accept-Language","value":"{{language}}","type":"text"}],"url":"https://api.calendesk.com/api/translations/{{translationTypeID}}","description":"<p>This endpoint allows you to fetch translations.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API</td>\n<td></td>\n</tr>\n<tr>\n<td>translationTypeID</td>\n<td>required</td>\n<td>integer</td>\n<td>Translations type you want to use.</td>\n<td><code>1</code> - website for tenant's clients.<br /><code>2</code> - mobile app for tenant's clients.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","translations","{{translationTypeID}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c5493f2e-bfe3-45cc-b8ec-e2c2a2e273e6"},{"name":"Services","id":"dbc4ec4d-8fa1-4010-ad34-df310e3c2d8d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/services","description":"<p>This endpoint allows you to fetch all available services.\n<br /><br />\nWe do you need to know?</p>\n<blockquote>\n<p><code>status</code></p>\n<p>We use different statuses for booking:</p>\n<ul>\n<li><code>waiting</code> - The booking is waiting for approvement.</li>\n<li><code>payment</code> - The booking is waiting for payment.</li>\n<li><code>approved</code> - The booking is approved and waiting to done.</li>\n<li><code>cancelled</code> - The booking is cancelled.</li>\n<li><code>done</code> - The booking is done.</li>\n</ul>\n</blockquote>\n<blockquote>\n<p><code>allow_dynamic_duration</code> </p>\n<p>It says if the service can use dynamic time for booking (<code>required_time</code> at <code>POST https://api.calendesk.com/api/user/bookings</code>)</p>\n</blockquote>\n<blockquote>\n<p><code>payment_required</code></p>\n<p>It will be used in the future. So far we don't support payments.</p>\n</blockquote>\n<blockquote>\n<p><code>default_booking_status</code></p>\n<p>This says which status booking will receive if will be created for this service. Status <code>waiting</code> means that tenant's admin has to approve it.</p>\n</blockquote>\n<blockquote>\n<p><code>types</code></p>\n<p>Some services have types. It means you can't book just a service by its id, you need to choose which type you want to book as well.\nTypes have own price and duration.</p>\n</blockquote>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_ids</td>\n<td>optional</td>\n<td>string, ids separated by commas</td>\n<td>IDs of employees separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/employees</code></td>\n</tr>\n<tr>\n<td>category_ids</td>\n<td>optional</td>\n<td>string, ids separated by commas</td>\n<td>IDs of categories separated by commas (e.g. 1,2,3).</td>\n<td><code>GET https://api.calendesk.com/api/services</code></td>\n</tr>\n<tr>\n<td>query</td>\n<td>optional</td>\n<td>string</td>\n<td>Search and return only results which match the query.</td>\n<td></td>\n</tr>\n<tr>\n<td>limit</td>\n<td>optional</td>\n<td>integer, max: 50</td>\n<td>The maximum number of result on one page.</td>\n<td></td>\n</tr>\n<tr>\n<td>page</td>\n<td>optional</td>\n<td>integer</td>\n<td>Number of page.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","services"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"dbc4ec4d-8fa1-4010-ad34-df310e3c2d8d"}],"id":"c9c9b691-33d5-4890-87b2-4e019a7eafc1","_postman_id":"c9c9b691-33d5-4890-87b2-4e019a7eafc1","description":""},{"name":"Simple Store","item":[{"name":"Get simple Store Product","id":"b8f439c0-9113-4885-81b4-ef2bebd1c2de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"X-Requested-With","type":"text","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"}],"url":"https://api.calendesk.com/api/simple-store/product/{{productId}}","description":"<p>This endpoint allows you to fetch available booking slots sorted by employees IDs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>url</td>\n<td>required</td>\n<td>string</td>\n<td>A base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td>service_id</td>\n<td>required</td>\n<td>integer</td>\n<td>A valid ID of service.</td>\n<td>GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>service_type_id</td>\n<td>optional</td>\n<td>integer</td>\n<td>A valid ID of service type. Only some services have types. <br />Always check if selected service has a type (array types in response).</td>\n<td>Types in GET https://api.calendesk.com/api/services</td>\n</tr>\n<tr>\n<td>number_of_days</td>\n<td>optional</td>\n<td>integer, max: 10</td>\n<td>Number of days for availability. Default <code>7</code>.</td>\n<td></td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>required</td>\n<td>string, date, format Y-m-d, after or equal today</td>\n<td>Appointment's date.</td>\n<td>Y-m-d</td>\n</tr>\n<tr>\n<td>required_time</td>\n<td>optional</td>\n<td>integer, max: 1000</td>\n<td>The number of minutes user wants to use for an appointment.<br />Some services have dynamic duration time some not. <br />Check the <code>is_allowed_required_time</code> property to see if the service allows setting dynamic time.<br />If you don't send anything here, system will use the default duration time from service or its type.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","simple-store","product","{{productId}}"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b8f439c0-9113-4885-81b4-ef2bebd1c2de"}],"id":"a567d884-473a-4615-9c2b-f6721651dac0","_postman_id":"a567d884-473a-4615-9c2b-f6721651dac0","description":""},{"name":"Files","item":[{"name":"Get Files","id":"504b3270-2034-43f9-b780-995bbf688ede","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/files","description":"<p><strong>GET</strong> <code>https://api.calendesk.com/api/files</code></p>\n<p>This endpoint allows you to get all user's files.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","files"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"504b3270-2034-43f9-b780-995bbf688ede"},{"name":"Upload File","id":"7cfa617f-2399-45b4-bd27-73787b255dda","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"postman-cloud:///1efa27f6-7623-4390-a76e-4ddd149aadff"},{"key":"file_directory_id","value":"11","type":"text"}]},"url":"https://api.calendesk.com/api/files/upload","description":"<p><strong>POST</strong> <code>https://api.calendesk.com/api/admin/files/upload</code></p>\n<p>This endpoint allows you to upload a file to the system.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>required</td>\n<td>file</td>\n<td>The file to be uploaded.</td>\n<td>Any valid file format specified in validation rules (e.g., <code>pdf</code>, <code>jpg</code>, <code>png</code>, etc.).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\">Example Request</h2>\n<p>```http<br />POST https://api.calendesk.com/api/files/upload<br />Content-Type: multipart/form-data</p>\n<p>{<br />\"file\": (binary file data)<br />}</p>\n","urlObject":{"path":["api","files","upload"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7cfa617f-2399-45b4-bd27-73787b255dda"},{"name":"Upload File To Sandbox","id":"2240260e-7b29-48c2-b830-d26b54235285","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","src":"postman-cloud:///1efa27f6-7623-4390-a76e-4ddd149aadff"},{"key":"file_directory_id","value":"11","type":"text"}]},"url":"https://api.calendesk.com/api/files/sandbox/upload","description":"<p><strong>POST</strong> <code>https://api.calendesk.com/api/admin/files/upload</code></p>\n<p>This endpoint allows you to upload a file to the system.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>required</td>\n<td>file</td>\n<td>The file to be uploaded.</td>\n<td>Any valid file format specified in validation rules (e.g., <code>pdf</code>, <code>jpg</code>, <code>png</code>, etc.).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\">Example Request</h2>\n<p>```http<br />POST https://api.calendesk.com/api/files/upload<br />Content-Type: multipart/form-data</p>\n<p>{<br />\"file\": (binary file data)<br />}</p>\n","urlObject":{"path":["api","files","sandbox","upload"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2240260e-7b29-48c2-b830-d26b54235285"},{"name":"Delete File","id":"0e8bd597-734e-46ef-8101-f247e065b6f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/files/3a21c457-1873-4fd5-8793-9fd9c533433a","description":"<p>DELETE <code>https://api.calendesk.com/api/admin/files/{fileId}</code></p>\n<p>This endpoint allows you to delete a specific file.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the file to fetch.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","files","3a21c457-1873-4fd5-8793-9fd9c533433a"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e8bd597-734e-46ef-8101-f247e065b6f3"},{"name":"Update File","id":"c7c462fd-8471-4a0c-a5f0-9c0fc690a152","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"new_name 14030\",\n    \"file_directory_id\": null\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/files/811f85c9-0fad-4844-b248-a178153da513","description":"<p>PATCH <code>https://api.calendesk.com/api/admin/files/download/{fileId}</code></p>\n<p>This endpoint allows you to update a specific file.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the file to fetch.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","files","811f85c9-0fad-4844-b248-a178153da513"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7c462fd-8471-4a0c-a5f0-9c0fc690a152"},{"name":"Download File","id":"100ea3a2-3eb7-41cd-8c9b-12edea16d570","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/files/download/820e4dab-480a-4e2a-bf32-1dd3400c666c","description":"<p><strong>GET</strong> <code>https://api.calendesk.com/api/admin/files/download/{fileId}</code></p>\n<p>This endpoint allows you to download a specific file.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the file to fetch.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","files","download","820e4dab-480a-4e2a-bf32-1dd3400c666c"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"100ea3a2-3eb7-41cd-8c9b-12edea16d570"},{"name":"Get File Directories","id":"67415f11-1809-4dc4-a7a7-f3b879a021e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/directories","description":"<p><strong>GET</strong> `https://api.calendesk.com/api/directories</p>\n<p>This endpoint allows you to get all user's file directories.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","directories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"67415f11-1809-4dc4-a7a7-f3b879a021e6"},{"name":"Create Directory","id":"461c02f1-673a-4ff3-a01b-561927d75692","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"X-Api-Key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"New Directory\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/directories","description":"<h1 id=\"create-directory\">Create Directory</h1>\n<p><strong>POST</strong> <code>https://api.calendesk.com/api/admin/directories</code></p>\n<p>This endpoint allows you to create a directory for your files.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>required</td>\n<td>string</td>\n<td>The name of the directory to be created.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>parent_directory_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the parent directory (if nested).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the user who owns this directory.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request-body\">Example Request Body</h2>\n<p>```json<br />{<br />\"name\": \"New Directory\",<br />\"parent_directory_id\": 5,<br />\"user_id\": 1<br />}</p>\n","urlObject":{"path":["api","directories"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"461c02f1-673a-4ff3-a01b-561927d75692"},{"name":"Update Directory","id":"b434c6ec-3925-48b3-a54c-d54c3b73dfe1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"New Directory 1430\",\n    \"parent_directory_id\": 12\n}","options":{"raw":{"language":"json"}}},"url":"https://api.calendesk.com/api/directories/13","description":"<h1 id=\"update-directory\">Update Directory</h1>\n<p><strong>PATCH</strong> <code>https://api.calendesk.com/api/admin/directories/{directoryId}</code></p>\n<p>This endpoint allows you to update an existing directory.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>directoryId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the directory to update.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>optional</td>\n<td>string</td>\n<td>The new name of the directory.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>parent_directory_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the new parent directory (if nested).</td>\n<td></td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>optional</td>\n<td>integer</td>\n<td>The ID of the user who owns this directory.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request-body\">Example Request Body</h2>\n<p>```json<br />{<br />\"name\": \"Updated Directory Name\",<br />\"parent_directory_id\": 3,<br />\"user_id\": 1<br />}</p>\n","urlObject":{"path":["api","directories","13"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b434c6ec-3925-48b3-a54c-d54c3b73dfe1"},{"name":"Delete Directory","id":"574b6110-1e55-4927-b4d9-9d47daf5ecb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Requested-With","value":"XMLHttpRequest"},{"key":"X-Tenant","value":"{{tenant}}","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.calendesk.com/api/directories/13","description":"<h1 id=\"delete-directory\">Delete Directory</h1>\n<p><strong>DELETE</strong> <code>https://api.calendesk.com/api/admin/directories/{directoryId}</code></p>\n<p>This endpoint allows you to update an existing directory.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Required</th>\n<th>Type</th>\n<th>Description</th>\n<th>Accepted values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>required</td>\n<td>string</td>\n<td>The base URL to the API.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>directoryId</code></td>\n<td>required</td>\n<td>integer</td>\n<td>The ID of the directory to update.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","directories","13"],"host":["https://api.calendesk.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"574b6110-1e55-4927-b4d9-9d47daf5ecb5"}],"id":"49327225-4b49-4185-8c9a-9896d6f22b29","_postman_id":"49327225-4b49-4185-8c9a-9896d6f22b29","description":""}],"id":"09f4ce4b-5223-4261-ac6c-9827cc53783a","_postman_id":"09f4ce4b-5223-4261-ac6c-9827cc53783a","description":""}],"event":[{"listen":"prerequest","script":{"id":"c1c8dd62-be7e-4122-8362-d692d2c93a45","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1e48463b-1e21-454f-8b6c-9e91c0b31bf4","type":"text/javascript","exec":[""]}}],"variable":[{"key":"url","value":"https://api.calendesk.com"}]}