{"info":{"_postman_id":"2b7af904-8ccc-4681-93d8-f10fe5bb91ca","name":"Breeze APIs","description":"<html><head></head><body><p>API documentation for Breeze Cloud, Breeze FX and Breeze Booth licensing.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"42700911","collectionId":"2b7af904-8ccc-4681-93d8-f10fe5bb91ca","publishedId":"2sAYdhLWJF","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"4048ff"},"publishDate":"2026-04-13T04:24:09.000Z"},"item":[{"name":"Breeze Cloud","item":[{"name":"Session Data","id":"e3645957-9f98-4afb-9d8c-e27f6ae1c682","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"key":"Content-Type","value":"application/json"}],"url":"https://eventkite.app/api/event-sessions/{{session_id}}?with=files","description":"<p>Returns one session by its session ID. Use the <code>with</code> parameter to include extra data.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>session_id</code></td>\n<td>Yes</td>\n<td>The session ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-parameters\">Query parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>with</code></td>\n<td>No</td>\n<td>Comma-separated list of extra data to include: <code>files</code>, <code>email_shares</code>, <code>text_shares</code>, <code>surveys</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>session_id</code></td>\n<td>Session ID.</td>\n</tr>\n<tr>\n<td><code>datetime</code></td>\n<td>Session date and time, formatted <code>DD/MM/YYYY h AM/PM</code>.</td>\n</tr>\n<tr>\n<td><code>hidden</code></td>\n<td><code>1</code> if the session is hidden from the gallery.</td>\n</tr>\n<tr>\n<td><code>blocked</code></td>\n<td><code>1</code> if the session is blocked from all views.</td>\n</tr>\n<tr>\n<td><code>files</code></td>\n<td>Media in the session (only with <code>with=files</code>). Same fields as Find Media.</td>\n</tr>\n<tr>\n<td><code>email_shares</code>, <code>text_shares</code>, <code>surveys</code></td>\n<td>Only included when requested.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Returns <code>404</code> if the session is not in your account.</p>\n","urlObject":{"path":["api","event-sessions","{{session_id}}"],"host":["https://eventkite.app"],"query":[{"description":{"content":"<p>Optional. Comma-separated: files, email_shares, text_shares, surveys</p>\n","type":"text/plain"},"key":"with","value":"files"}],"variable":[]}},"response":[{"id":"abf7b738-5f35-7dd9-2f10-bf6bc8ce48dd","name":"Example: session with files","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://eventkite.app/api/event-sessions/{{session_id}}?with=files","host":["https://eventkite.app"],"path":["api","event-sessions","{{session_id}}"],"query":[{"description":"Optional. Comma-separated: files, email_shares, text_shares, surveys","key":"with","value":"files"}]},"description":"Returns one session by its session ID. Use the `with` parameter to include extra data.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `session_id` | Yes | The session ID. |\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `with` | No | Comma-separated list of extra data to include: `files`, `email_shares`, `text_shares`, `surveys`. |\n\n### Response\n\n| Field | Description |\n|---|---|\n| `session_id` | Session ID. |\n| `datetime` | Session date and time, formatted `DD/MM/YYYY h AM/PM`. |\n| `hidden` | `1` if the session is hidden from the gallery. |\n| `blocked` | `1` if the session is blocked from all views. |\n| `files` | Media in the session (only with `with=files`). Same fields as Find Media. |\n| `email_shares`, `text_shares`, `surveys` | Only included when requested. |\n\nReturns `404` if the session is not in your account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"session_id\": \"ABC123XYZ\",\n    \"datetime\": \"14/02/2026 7PM\",\n    \"hidden\": 0,\n    \"blocked\": 0,\n    \"files\": [\n      {\n        \"event_url\": \"https://gallery.example.com/g/summer-party-2026\",\n        \"session_url\": \"https://gallery.example.com/g/summer-party-2026/s/ABC123XYZ\",\n        \"session_id\": \"ABC123XYZ\",\n        \"type\": \"photo\",\n        \"manually_uploaded\": 1,\n        \"file_url\": \"https://files.example.com/media/ABC123XYZ/photo-1.jpg\",\n        \"width\": 1800,\n        \"height\": 1200\n      }\n    ]\n  }\n}"}],"_postman_id":"e3645957-9f98-4afb-9d8c-e27f6ae1c682"},{"name":"Find Events","event":[{"listen":"test","script":{"id":"111c10bc-5aca-48b9-8cdc-e58d881b4692","exec":[""],"type":"text/javascript","packages":{}}}],"id":"f4853664-27bb-4d59-8cbc-bbaad463cc76","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"https://eventkite.app/api/events?order[event_name]=asc&event_name=Summer","description":"<p>Lists the events in your account. You can search by name, date or gallery ID and choose the sort order. Results are paginated, 100 per page.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</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>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>event_name</code></td>\n<td>No</td>\n<td>Matches events whose name contains this text (max 25 characters).</td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td>No</td>\n<td>Exact event date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>gallery_id</code></td>\n<td>No</td>\n<td>Matches events whose gallery ID contains this text.</td>\n</tr>\n<tr>\n<td><code>order[event_name]</code>, <code>order[date]</code>, <code>order[created_at]</code></td>\n<td>No</td>\n<td>Sort by that field, <code>asc</code> or <code>desc</code>. Default: newest created first.</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>No</td>\n<td>Page number.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>A paginated list of events. Each event has <code>event_name</code>, <code>date</code>, <code>hidden</code> (<code>1</code> = hidden from your gallery list), <code>description</code>, <code>url</code> (public gallery URL) and <code>gallery_id</code>.</p>\n","urlObject":{"path":["api","events"],"host":["https://eventkite.app"],"query":[{"description":{"content":"<p>Optional. Sort by event name: asc or desc</p>\n","type":"text/plain"},"key":"order[event_name]","value":"asc"},{"disabled":true,"description":{"content":"<p>Optional. Sort by date: asc or desc</p>\n","type":"text/plain"},"key":"order[date]","value":"desc"},{"description":{"content":"<p>Optional. Name contains this text</p>\n","type":"text/plain"},"key":"event_name","value":"Summer"},{"disabled":true,"description":{"content":"<p>Optional. Exact date, YYYY-MM-DD</p>\n","type":"text/plain"},"key":"date","value":"2026-02-14"},{"disabled":true,"description":{"content":"<p>Optional. Gallery ID contains this text</p>\n","type":"text/plain"},"key":"gallery_id","value":"summer-party-2026"},{"disabled":true,"description":{"content":"<p>Optional. Page number</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"00876245-6b64-2163-9c92-57cd57476fb4","name":"Example: events found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://eventkite.app/api/events?order[event_name]=asc&event_name=Summer","host":["https://eventkite.app"],"path":["api","events"],"query":[{"description":"Optional. Sort by event name: asc or desc","key":"order[event_name]","value":"asc"},{"description":"Optional. Sort by date: asc or desc","key":"order[date]","value":"desc","disabled":true},{"description":"Optional. Name contains this text","key":"event_name","value":"Summer"},{"description":"Optional. Exact date, YYYY-MM-DD","key":"date","value":"2026-02-14","disabled":true},{"description":"Optional. Gallery ID contains this text","key":"gallery_id","value":"summer-party-2026","disabled":true},{"description":"Optional. Page number","key":"page","value":"1","disabled":true}]},"description":"Lists the events in your account. You can search by name, date or gallery ID and choose the sort order. Results are paginated, 100 per page.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `event_name` | No | Matches events whose name contains this text (max 25 characters). |\n| `date` | No | Exact event date, `YYYY-MM-DD`. |\n| `gallery_id` | No | Matches events whose gallery ID contains this text. |\n| `order[event_name]`, `order[date]`, `order[created_at]` | No | Sort by that field, `asc` or `desc`. Default: newest created first. |\n| `page` | No | Page number. |\n\n### Response\n\nA paginated list of events. Each event has `event_name`, `date`, `hidden` (`1` = hidden from your gallery list), `description`, `url` (public gallery URL) and `gallery_id`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"event_name\": \"Summer Party\",\n      \"date\": \"2026-02-14\",\n      \"hidden\": 0,\n      \"description\": \"Photos from our summer party\",\n      \"url\": \"https://gallery.example.com/g/summer-party-2026\",\n      \"gallery_id\": \"summer-party-2026\"\n    }\n  ],\n  \"links\": {\n    \"first\": \"https://eventkite.app/api/events?page=1\",\n    \"last\": \"https://eventkite.app/api/events?page=1\",\n    \"prev\": null,\n    \"next\": null\n  },\n  \"meta\": {\n    \"current_page\": 1,\n    \"from\": 1,\n    \"last_page\": 1,\n    \"path\": \"https://eventkite.app/api/events\",\n    \"per_page\": 100,\n    \"to\": 1,\n    \"total\": 1\n  }\n}"}],"_postman_id":"f4853664-27bb-4d59-8cbc-bbaad463cc76"},{"name":"Find Media","event":[{"listen":"test","script":{"id":"933db033-1296-42ef-84d8-0cdce1295c73","exec":[""],"type":"text/javascript","packages":{}}}],"id":"2953b9e8-6907-41b6-bbe5-c96679b5a0fe","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"key":"Content-Type","value":"application/json"}],"url":"https://eventkite.app/api/event-files/find?gallery_id={{gallery_id}}&session_id={{session_id}}","description":"<p>Returns the media files in an event. Filter by session, QR data or media type.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</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>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event's gallery ID.</td>\n</tr>\n<tr>\n<td><code>session_id</code></td>\n<td>No</td>\n<td>Only return media from this session.</td>\n</tr>\n<tr>\n<td><code>qr[1]</code> ... <code>qr[10]</code></td>\n<td>No</td>\n<td>Only return media from sessions whose QR field 1-10 equals this value. You can combine several.</td>\n</tr>\n<tr>\n<td><code>media_type</code></td>\n<td>No</td>\n<td>One of <code>photo</code>, <code>processed_photo</code>, <code>print</code>, <code>print_copy</code>, <code>mp4</code>, <code>mp4_original</code>, <code>gif</code>, <code>fx_processed</code>, <code>vb_photo</code>.</td>\n</tr>\n<tr>\n<td><code>order</code></td>\n<td>No</td>\n<td><code>newest</code>, <code>oldest</code> or <code>random</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>A flat <code>data</code> array with one item per file (not grouped by session). All matches are returned in one response; this endpoint is not paginated. Each item has:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>event_url</code></td>\n<td>Public gallery URL.</td>\n</tr>\n<tr>\n<td><code>session_url</code></td>\n<td>Public URL of the file's session.</td>\n</tr>\n<tr>\n<td><code>session_id</code></td>\n<td>The session the file belongs to.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Media type (see <code>media_type</code>).</td>\n</tr>\n<tr>\n<td><code>manually_uploaded</code></td>\n<td><code>1</code> if the file was uploaded through the API or the web app.</td>\n</tr>\n<tr>\n<td><code>file_url</code></td>\n<td>Direct link to the file.</td>\n</tr>\n<tr>\n<td><code>width</code>, <code>height</code></td>\n<td>Size in pixels, when known.</td>\n</tr>\n</tbody>\n</table>\n</div><p>If the event or your account uses a custom domain, <code>event_url</code> and <code>session_url</code> use that domain.</p>\n<p>If no event matches <code>gallery_id</code>, or nothing matches the filters, <code>data</code> is an empty array.</p>\n","urlObject":{"path":["api","event-files","find"],"host":["https://eventkite.app"],"query":[{"description":{"content":"<p>Required. The event's gallery ID</p>\n","type":"text/plain"},"key":"gallery_id","value":"{{gallery_id}}"},{"description":{"content":"<p>Optional. Only media from this session</p>\n","type":"text/plain"},"key":"session_id","value":"{{session_id}}"},{"disabled":true,"description":{"content":"<p>Optional. Sessions whose QR field 1 equals this value (qr[1]...qr[10])</p>\n","type":"text/plain"},"key":"qr[1]","value":"Alex"},{"disabled":true,"description":{"content":"<p>Optional. photo, processed_photo, print, print_copy, mp4, mp4_original, gif, fx_processed, vb_photo</p>\n","type":"text/plain"},"key":"media_type","value":"photo"},{"disabled":true,"description":{"content":"<p>Optional. newest, oldest or random</p>\n","type":"text/plain"},"key":"order","value":"newest"}],"variable":[]}},"response":[{"id":"cb948ff1-29a2-7981-6324-f2d195dba1f0","name":"Example: media found","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://eventkite.app/api/event-files/find?gallery_id={{gallery_id}}&session_id={{session_id}}","host":["https://eventkite.app"],"path":["api","event-files","find"],"query":[{"value":"{{gallery_id}}","description":"Required. The event's gallery ID","key":"gallery_id"},{"value":"{{session_id}}","description":"Optional. Only media from this session","key":"session_id"},{"value":"Alex","description":"Optional. Sessions whose QR field 1 equals this value (qr[1]...qr[10])","key":"qr[1]","disabled":true},{"value":"photo","description":"Optional. photo, processed_photo, print, print_copy, mp4, mp4_original, gif, fx_processed, vb_photo","key":"media_type","disabled":true},{"value":"newest","description":"Optional. newest, oldest or random","key":"order","disabled":true}]},"description":"Returns the media files in an event. Filter by session, QR data or media type.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event's gallery ID. |\n| `session_id` | No | Only return media from this session. |\n| `qr[1]` ... `qr[10]` | No | Only return media from sessions whose QR field 1-10 equals this value. You can combine several. |\n| `media_type` | No | One of `photo`, `processed_photo`, `print`, `print_copy`, `mp4`, `mp4_original`, `gif`, `fx_processed`, `vb_photo`. |\n| `order` | No | `newest`, `oldest` or `random`. |\n\n### Response\n\nA flat `data` array with one item per file (not grouped by session). All matches are returned in one response; this endpoint is not paginated. Each item has:\n\n| Field | Description |\n|---|---|\n| `event_url` | Public gallery URL. |\n| `session_url` | Public URL of the file's session. |\n| `session_id` | The session the file belongs to. |\n| `type` | Media type (see `media_type`). |\n| `manually_uploaded` | `1` if the file was uploaded through the API or the web app. |\n| `file_url` | Direct link to the file. |\n| `width`, `height` | Size in pixels, when known. |\n\nIf the event or your account uses a custom domain, `event_url` and `session_url` use that domain.\n\nIf no event matches `gallery_id`, or nothing matches the filters, `data` is an empty array."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"event_url\": \"https://gallery.example.com/g/summer-party-2026\",\n      \"session_url\": \"https://gallery.example.com/g/summer-party-2026/s/ABC123XYZ\",\n      \"session_id\": \"ABC123XYZ\",\n      \"type\": \"photo\",\n      \"manually_uploaded\": 1,\n      \"file_url\": \"https://files.example.com/media/ABC123XYZ/photo-1.jpg\",\n      \"width\": 1800,\n      \"height\": 1200\n    }\n  ]\n}"}],"_postman_id":"2953b9e8-6907-41b6-bbe5-c96679b5a0fe"},{"name":"Create Event","event":[{"listen":"test","script":{"id":"130412d9-16b5-455a-b5f5-e264a4cd247c","exec":[""],"type":"text/javascript","packages":{}}}],"id":"13c827bc-0c2e-4756-9ec9-4b9b5822a02f","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"event_name","value":"Summer Party","description":"<p>Required. Max 25 characters</p>\n"},{"type":"text","key":"gallery_id","value":"summer-party-2026","description":"<p>Optional. 3-255 characters, unique in your account</p>\n"},{"type":"text","key":"date","value":"2026-02-14","description":"<p>Optional. YYYY-MM-DD</p>\n"},{"type":"text","key":"description","value":"Photos from our summer party","description":"<p>Optional. 3-10,000 characters</p>\n"},{"type":"text","key":"footer","value":"Thanks for coming!","description":"<p>Optional. 3-255 characters</p>\n"},{"type":"text","key":"microsite_description","value":"Microsite description","description":"<p>Optional. 3-255 characters</p>\n"},{"type":"text","key":"microsite_footer","value":"Microsite footer","description":"<p>Optional. 3-255 characters</p>\n"},{"type":"text","key":"template_id","value":"12","description":"<p>Optional. Event settings template ID (List Settings Templates, type=event)</p>\n","disabled":true},{"type":"text","key":"microsite_template_id","value":"17","description":"<p>Optional. Microsite settings template ID</p>\n","disabled":true},{"type":"text","key":"survey_template_id","value":"21","description":"<p>Optional. Survey settings template ID</p>\n","disabled":true}]},"url":"https://eventkite.app/api/events","description":"<p>Creates a new event (gallery) in your account.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header. Send the fields as form data (<code>application/x-www-form-urlencoded</code> or <code>multipart/form-data</code>).</p>\n<h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>event_name</code></td>\n<td>Yes</td>\n<td>Event name, max 25 characters.</td>\n</tr>\n<tr>\n<td><code>gallery_id</code></td>\n<td>No</td>\n<td>Your own gallery ID (3-255 characters). Must be unique in your account. If you leave it out, one is generated.</td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td>No</td>\n<td>Event date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>No</td>\n<td>Gallery description, 3-10,000 characters.</td>\n</tr>\n<tr>\n<td><code>footer</code></td>\n<td>No</td>\n<td>Gallery footer text, 3-255 characters.</td>\n</tr>\n<tr>\n<td><code>microsite_description</code></td>\n<td>No</td>\n<td>Microsite description, 3-255 characters.</td>\n</tr>\n<tr>\n<td><code>microsite_footer</code></td>\n<td>No</td>\n<td>Microsite footer, 3-255 characters.</td>\n</tr>\n<tr>\n<td><code>template_id</code></td>\n<td>No</td>\n<td>ID of one of your event (gallery) settings templates (see List Settings Templates, <code>type=event</code>). The new event uses that template's gallery settings.</td>\n</tr>\n<tr>\n<td><code>microsite_template_id</code></td>\n<td>No</td>\n<td>ID of one of your microsite settings templates (see List Settings Templates, <code>type=microsite</code>).</td>\n</tr>\n<tr>\n<td><code>survey_template_id</code></td>\n<td>No</td>\n<td>ID of one of your survey settings templates (see List Settings Templates, <code>type=survey</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><p>If you set <code>microsite_template_id</code>, the microsite description and footer come from the template unless you also send <code>microsite_description</code> or <code>microsite_footer</code>.</p>\n<h3 id=\"response\">Response</h3>\n<p><code>201 Created</code> with the new event: <code>event_name</code>, <code>date</code>, <code>hidden</code>, <code>description</code>, <code>url</code> and <code>gallery_id</code>.</p>\n","urlObject":{"path":["api","events"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"da87ed6a-059b-eae9-79f3-9a7b75b270f4","name":"Example: event created","originalRequest":{"method":"POST","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"event_name","value":"Summer Party","description":"Required. Max 25 characters"},{"type":"text","key":"gallery_id","value":"summer-party-2026","description":"Optional. 3-255 characters, unique in your account"},{"type":"text","key":"date","value":"2026-02-14","description":"Optional. YYYY-MM-DD"},{"type":"text","key":"description","value":"Photos from our summer party","description":"Optional. 3-10,000 characters"},{"type":"text","key":"footer","value":"Thanks for coming!","description":"Optional. 3-255 characters"},{"type":"text","key":"microsite_description","value":"Microsite description","description":"Optional. 3-255 characters"},{"type":"text","key":"microsite_footer","value":"Microsite footer","description":"Optional. 3-255 characters"},{"type":"text","key":"template_id","value":"12","description":"Optional. Event settings template ID (List Settings Templates, type=event)","disabled":true},{"type":"text","key":"microsite_template_id","value":"17","description":"Optional. Microsite settings template ID","disabled":true},{"type":"text","key":"survey_template_id","value":"21","description":"Optional. Survey settings template ID","disabled":true}]},"url":"https://eventkite.app/api/events","description":"Creates a new event (gallery) in your account.\n\nRequires your API key in the `Authorization: Bearer <API key>` header. Send the fields as form data (`application/x-www-form-urlencoded` or `multipart/form-data`).\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `event_name` | Yes | Event name, max 25 characters. |\n| `gallery_id` | No | Your own gallery ID (3-255 characters). Must be unique in your account. If you leave it out, one is generated. |\n| `date` | No | Event date, `YYYY-MM-DD`. |\n| `description` | No | Gallery description, 3-10,000 characters. |\n| `footer` | No | Gallery footer text, 3-255 characters. |\n| `microsite_description` | No | Microsite description, 3-255 characters. |\n| `microsite_footer` | No | Microsite footer, 3-255 characters. |\n| `template_id` | No | ID of one of your event (gallery) settings templates (see List Settings Templates, `type=event`). The new event uses that template's gallery settings. |\n| `microsite_template_id` | No | ID of one of your microsite settings templates (see List Settings Templates, `type=microsite`). |\n| `survey_template_id` | No | ID of one of your survey settings templates (see List Settings Templates, `type=survey`). |\n\nIf you set `microsite_template_id`, the microsite description and footer come from the template unless you also send `microsite_description` or `microsite_footer`.\n\n### Response\n\n`201 Created` with the new event: `event_name`, `date`, `hidden`, `description`, `url` and `gallery_id`."},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"event_name\": \"Summer Party\",\n    \"date\": \"2026-02-14\",\n    \"hidden\": 0,\n    \"description\": \"Photos from our summer party\",\n    \"url\": \"https://gallery.example.com/g/summer-party-2026\",\n    \"gallery_id\": \"summer-party-2026\"\n  }\n}"}],"_postman_id":"13c827bc-0c2e-4756-9ec9-4b9b5822a02f"},{"name":"Upload Media","event":[{"listen":"test","script":{"id":"117419c0-30ba-4f10-8da4-abbd788676ab","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"a99d0d04-8c93-4b87-a8e6-3fdd214d1e0a","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"key":"gallery_id","value":"summer-party-2026","type":"text","description":"<p>Required. The event to upload to</p>\n"},{"key":"file","description":"<p>Required. JPEG, PNG, GIF, MP4 or MOV file</p>\n","type":"file"},{"key":"session_id","value":"ABC123XYZ","type":"text","description":"<p>Optional. Session to add the file to (letters and numbers only)</p>\n"},{"key":"action","value":"make_mp4","type":"text","description":"<p>Optional. make_mp4 converts an uploaded GIF to MP4</p>\n","disabled":true},{"key":"es1","value":"","type":"text","description":"<p>Optional. Event string 1</p>\n","disabled":true},{"key":"es2","value":"","type":"text","description":"<p>Optional. Event string 2</p>\n","disabled":true},{"key":"es3","value":"","type":"text","description":"<p>Optional. Event string 3</p>\n","disabled":true},{"key":"es4","value":"","type":"text","description":"<p>Optional. Event string 4</p>\n","disabled":true},{"key":"es5","value":"","type":"text","description":"<p>Optional. Event string 5</p>\n","disabled":true},{"key":"es6","value":"","type":"text","description":"<p>Optional. Event string 6</p>\n","disabled":true},{"key":"es7","value":"","type":"text","description":"<p>Optional. Event string 7</p>\n","disabled":true},{"key":"es8","value":"","type":"text","description":"<p>Optional. Event string 8</p>\n","disabled":true},{"key":"es9","value":"","type":"text","description":"<p>Optional. Event string 9</p>\n","disabled":true},{"key":"es10","value":"","type":"text","description":"<p>Optional. Event string 10</p>\n","disabled":true}]},"url":"https://eventkite.app/api/event-files/upload","description":"<p>Uploads a photo, GIF or video file to an event.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header. Send the request as <code>multipart/form-data</code>.</p>\n<h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event to upload to.</td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>Yes</td>\n<td>The file. Allowed types: JPEG, PNG, GIF, MP4, MOV (QuickTime).</td>\n</tr>\n<tr>\n<td><code>session_id</code></td>\n<td>No</td>\n<td>The session to add the file to (letters and numbers only, max 255). If no session with this ID exists in the event, a new session is created with this ID. If you leave it out, a new session is created with a generated ID.</td>\n</tr>\n<tr>\n<td><code>action</code></td>\n<td>No</td>\n<td>Set to <code>make_mp4</code> to also convert an uploaded GIF to MP4. The conversion runs in the background.</td>\n</tr>\n<tr>\n<td><code>es1</code> ... <code>es10</code></td>\n<td>No</td>\n<td>Event strings 1-10 to store with the file (max 255 characters each).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"what-happens\">What happens</h3>\n<ul>\n<li>JPEG and PNG files are stored as <code>photo</code>, GIFs as <code>gif</code>, and videos as <code>mp4</code>.</li>\n<li>If the event has Breeze FX processing or a Dropbox connection set up, the file is processed and synced like any other upload.</li>\n<li>The upload counts towards your plan's storage. If you are out of space, the request fails with a message.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The uploaded file, with the same fields as Find Media (<code>event_url</code>, <code>session_url</code>, <code>session_id</code>, <code>type</code>, <code>manually_uploaded</code>, <code>file_url</code>, <code>width</code>, <code>height</code>).</p>\n","urlObject":{"path":["api","event-files","upload"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"208f39fd-e230-0726-36db-7b451c91062e","name":"Example: file uploaded","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"key":"gallery_id","value":"summer-party-2026","type":"text","description":"Required. The event to upload to"},{"key":"file","description":"Required. JPEG, PNG, GIF, MP4 or MOV file","type":"file"},{"key":"session_id","value":"ABC123XYZ","type":"text","description":"Optional. Session to add the file to (letters and numbers only)"},{"key":"action","value":"make_mp4","type":"text","description":"Optional. make_mp4 converts an uploaded GIF to MP4","disabled":true},{"key":"es1","value":"","type":"text","description":"Optional. Event string 1","disabled":true},{"key":"es2","value":"","type":"text","description":"Optional. Event string 2","disabled":true},{"key":"es3","value":"","type":"text","description":"Optional. Event string 3","disabled":true},{"key":"es4","value":"","type":"text","description":"Optional. Event string 4","disabled":true},{"key":"es5","value":"","type":"text","description":"Optional. Event string 5","disabled":true},{"key":"es6","value":"","type":"text","description":"Optional. Event string 6","disabled":true},{"key":"es7","value":"","type":"text","description":"Optional. Event string 7","disabled":true},{"key":"es8","value":"","type":"text","description":"Optional. Event string 8","disabled":true},{"key":"es9","value":"","type":"text","description":"Optional. Event string 9","disabled":true},{"key":"es10","value":"","type":"text","description":"Optional. Event string 10","disabled":true}]},"url":"https://eventkite.app/api/event-files/upload","description":"Uploads a photo, GIF or video file to an event.\n\nRequires your API key in the `Authorization: Bearer <API key>` header. Send the request as `multipart/form-data`.\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event to upload to. |\n| `file` | Yes | The file. Allowed types: JPEG, PNG, GIF, MP4, MOV (QuickTime). |\n| `session_id` | No | The session to add the file to (letters and numbers only, max 255). If no session with this ID exists in the event, a new session is created with this ID. If you leave it out, a new session is created with a generated ID. |\n| `action` | No | Set to `make_mp4` to also convert an uploaded GIF to MP4. The conversion runs in the background. |\n| `es1` ... `es10` | No | Event strings 1-10 to store with the file (max 255 characters each). |\n\n### What happens\n\n- JPEG and PNG files are stored as `photo`, GIFs as `gif`, and videos as `mp4`.\n- If the event has Breeze FX processing or a Dropbox connection set up, the file is processed and synced like any other upload.\n- The upload counts towards your plan's storage. If you are out of space, the request fails with a message.\n\n### Response\n\nThe uploaded file, with the same fields as Find Media (`event_url`, `session_url`, `session_id`, `type`, `manually_uploaded`, `file_url`, `width`, `height`)."},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"event_url\": \"https://gallery.example.com/g/summer-party-2026\",\n    \"session_url\": \"https://gallery.example.com/g/summer-party-2026/s/ABC123XYZ\",\n    \"session_id\": \"ABC123XYZ\",\n    \"type\": \"photo\",\n    \"manually_uploaded\": 1,\n    \"file_url\": \"https://files.example.com/media/ABC123XYZ/photo-1.jpg\",\n    \"width\": 1800,\n    \"height\": 1200\n  }\n}"}],"_postman_id":"a99d0d04-8c93-4b87-a8e6-3fdd214d1e0a"},{"name":"Upload Media By a Link","event":[{"listen":"test","script":{"id":"ddde8074-859f-43df-b269-4fd4f8c3937d","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"620a7603-bfba-4ad1-b66b-0bc278aa0b67","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"value":"summer-party-2026","type":"text","key":"gallery_id","description":"<p>Required. The event to upload to</p>\n"},{"value":"https://example.com/photos/party-photo.jpg","type":"text","key":"file","description":"<p>Required. Public URL of a JPEG, PNG, GIF or MP4 file</p>\n"},{"value":"ABC123XYZ","type":"text","key":"session_id","description":"<p>Optional. Session to add the file to (letters and numbers only)</p>\n"},{"value":"","type":"text","key":"es1","description":"<p>Optional. Event string 1</p>\n","disabled":true},{"value":"","type":"text","key":"es2","description":"<p>Optional. Event string 2</p>\n","disabled":true},{"value":"","type":"text","key":"es3","description":"<p>Optional. Event string 3</p>\n","disabled":true},{"value":"","type":"text","key":"es4","description":"<p>Optional. Event string 4</p>\n","disabled":true},{"value":"","type":"text","key":"es5","description":"<p>Optional. Event string 5</p>\n","disabled":true},{"value":"","type":"text","key":"es6","description":"<p>Optional. Event string 6</p>\n","disabled":true},{"value":"","type":"text","key":"es7","description":"<p>Optional. Event string 7</p>\n","disabled":true},{"value":"","type":"text","key":"es8","description":"<p>Optional. Event string 8</p>\n","disabled":true},{"value":"","type":"text","key":"es9","description":"<p>Optional. Event string 9</p>\n","disabled":true},{"value":"","type":"text","key":"es10","description":"<p>Optional. Event string 10</p>\n","disabled":true}]},"url":"https://eventkite.app/api/event-files/upload-using-link","description":"<p>Uploads a file to an event from a public URL. Breeze Cloud downloads the file and adds it to the event. Use this instead of Upload Media when the file is already hosted online.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event to upload to.</td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>Yes</td>\n<td>A public URL to a JPEG, PNG, GIF or MP4 file.</td>\n</tr>\n<tr>\n<td><code>session_id</code></td>\n<td>No</td>\n<td>The session to add the file to (letters and numbers only, max 255). If no session with this ID exists in the event, a new session is created with this ID. If you leave it out, a new session is created with a generated ID.</td>\n</tr>\n<tr>\n<td><code>es1</code> ... <code>es10</code></td>\n<td>No</td>\n<td>Event strings 1-10 to store with the file (max 255 characters each).</td>\n</tr>\n</tbody>\n</table>\n</div><p>If the URL can't be downloaded, the request fails with <code>An error occurred when retrieving source file</code>. The upload counts towards your plan's storage.</p>\n<h3 id=\"response\">Response</h3>\n<p>The uploaded file, with the same fields as Find Media.</p>\n","urlObject":{"path":["api","event-files","upload-using-link"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"febdb450-ac2d-96d8-dd62-0fba6308571b","name":"Example: file uploaded","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"value":"summer-party-2026","type":"text","key":"gallery_id","description":"Required. The event to upload to"},{"value":"https://example.com/photos/party-photo.jpg","type":"text","key":"file","description":"Required. Public URL of a JPEG, PNG, GIF or MP4 file"},{"value":"ABC123XYZ","type":"text","key":"session_id","description":"Optional. Session to add the file to (letters and numbers only)"},{"value":"","type":"text","key":"es1","description":"Optional. Event string 1","disabled":true},{"value":"","type":"text","key":"es2","description":"Optional. Event string 2","disabled":true},{"value":"","type":"text","key":"es3","description":"Optional. Event string 3","disabled":true},{"value":"","type":"text","key":"es4","description":"Optional. Event string 4","disabled":true},{"value":"","type":"text","key":"es5","description":"Optional. Event string 5","disabled":true},{"value":"","type":"text","key":"es6","description":"Optional. Event string 6","disabled":true},{"value":"","type":"text","key":"es7","description":"Optional. Event string 7","disabled":true},{"value":"","type":"text","key":"es8","description":"Optional. Event string 8","disabled":true},{"value":"","type":"text","key":"es9","description":"Optional. Event string 9","disabled":true},{"value":"","type":"text","key":"es10","description":"Optional. Event string 10","disabled":true}]},"url":"https://eventkite.app/api/event-files/upload-using-link","description":"Uploads a file to an event from a public URL. Breeze Cloud downloads the file and adds it to the event. Use this instead of Upload Media when the file is already hosted online.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event to upload to. |\n| `file` | Yes | A public URL to a JPEG, PNG, GIF or MP4 file. |\n| `session_id` | No | The session to add the file to (letters and numbers only, max 255). If no session with this ID exists in the event, a new session is created with this ID. If you leave it out, a new session is created with a generated ID. |\n| `es1` ... `es10` | No | Event strings 1-10 to store with the file (max 255 characters each). |\n\nIf the URL can't be downloaded, the request fails with `An error occurred when retrieving source file`. The upload counts towards your plan's storage.\n\n### Response\n\nThe uploaded file, with the same fields as Find Media."},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"event_url\": \"https://gallery.example.com/g/summer-party-2026\",\n    \"session_url\": \"https://gallery.example.com/g/summer-party-2026/s/ABC123XYZ\",\n    \"session_id\": \"ABC123XYZ\",\n    \"type\": \"photo\",\n    \"manually_uploaded\": 1,\n    \"file_url\": \"https://files.example.com/media/ABC123XYZ/photo-1.jpg\",\n    \"width\": 1800,\n    \"height\": 1200\n  }\n}"}],"_postman_id":"620a7603-bfba-4ad1-b66b-0bc278aa0b67"},{"name":"Change Event Visibility","event":[{"listen":"test","script":{"id":"6324ffe2-e69d-4425-9755-011bc3902827","exec":[""],"type":"text/javascript","packages":{}}}],"id":"f8f8ba36-e566-47bc-ba0b-41bf057d8289","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"PUT","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"value":"1","key":"hidden","description":"<p>Required. 1 hides the event, 0 shows it</p>\n","type":"text"}]},"url":"https://eventkite.app/api/events/{{gallery_id}}/change-visibility","description":"<p>Shows or hides an event on your gallery list page. A hidden event is still reachable by its direct link.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event's gallery ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>hidden</code></td>\n<td>Yes</td>\n<td><code>1</code> to hide the event, <code>0</code> to show it.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>The updated event (<code>event_name</code>, <code>date</code>, <code>hidden</code>, <code>description</code>, <code>url</code>, <code>gallery_id</code>). Returns <code>404</code> if the event is not in your account.</p>\n","urlObject":{"path":["api","events","{{gallery_id}}","change-visibility"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"ec81b45f-bba2-37d8-0e4d-6454a029df37","name":"Example: event hidden","originalRequest":{"method":"PUT","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"value":"1","key":"hidden","description":"Required. 1 hides the event, 0 shows it","type":"text"}]},"url":"https://eventkite.app/api/events/{{gallery_id}}/change-visibility","description":"Shows or hides an event on your gallery list page. A hidden event is still reachable by its direct link.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event's gallery ID. |\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `hidden` | Yes | `1` to hide the event, `0` to show it. |\n\n### Response\n\nThe updated event (`event_name`, `date`, `hidden`, `description`, `url`, `gallery_id`). Returns `404` if the event is not in your account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"event_name\": \"Summer Party\",\n    \"date\": \"2026-02-14\",\n    \"hidden\": 1,\n    \"description\": \"Photos from our summer party\",\n    \"url\": \"https://gallery.example.com/g/summer-party-2026\",\n    \"gallery_id\": \"summer-party-2026\"\n  }\n}"}],"_postman_id":"f8f8ba36-e566-47bc-ba0b-41bf057d8289"},{"name":"Change Session Visibility","event":[{"listen":"test","script":{"id":"f90b2f64-eaac-4ac6-bb76-395aaa122802","exec":[""],"type":"text/javascript","packages":{}}}],"id":"b5e8f88d-0063-4fca-ab0f-2b1a8c16333d","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>Optional. 1 hides the session from the gallery; the direct session link still works</p>\n","value":"1","key":"hidden","type":"text"},{"description":"<p>Optional. 1 blocks the session from all views, including the direct session link</p>\n","value":"0","key":"blocked","type":"text"}]},"url":"https://eventkite.app/api/event-sessions/{{session_id}}/change-visibility","description":"<p>Changes the visibility of a session. Send <code>hidden</code>, <code>blocked</code> or both.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>session_id</code></td>\n<td>Yes</td>\n<td>The session ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>hidden</code></td>\n<td>No</td>\n<td><code>1</code> hides the session from the gallery; the direct session link still works. <code>0</code> shows it.</td>\n</tr>\n<tr>\n<td><code>blocked</code></td>\n<td>No</td>\n<td><code>1</code> blocks the session from all views, including the gallery and the direct session link. <code>0</code> unblocks it.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>The updated session (<code>session_id</code>, <code>datetime</code>, <code>hidden</code>, <code>blocked</code>).</p>\n","urlObject":{"path":["api","event-sessions","{{session_id}}","change-visibility"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"1dac584e-bf32-6d87-da22-89765f0a4a83","name":"Example: session hidden","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"Optional. 1 hides the session from the gallery; the direct session link still works","value":"1","key":"hidden","type":"text"},{"description":"Optional. 1 blocks the session from all views, including the direct session link","value":"0","key":"blocked","type":"text"}]},"url":"https://eventkite.app/api/event-sessions/{{session_id}}/change-visibility","description":"Changes the visibility of a session. Send `hidden`, `blocked` or both.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `session_id` | Yes | The session ID. |\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `hidden` | No | `1` hides the session from the gallery; the direct session link still works. `0` shows it. |\n| `blocked` | No | `1` blocks the session from all views, including the gallery and the direct session link. `0` unblocks it. |\n\n### Response\n\nThe updated session (`session_id`, `datetime`, `hidden`, `blocked`)."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"session_id\": \"ABC123XYZ\",\n    \"datetime\": \"14/02/2026 7PM\",\n    \"hidden\": 1,\n    \"blocked\": 0\n  }\n}"}],"_postman_id":"b5e8f88d-0063-4fca-ab0f-2b1a8c16333d"},{"name":"Update Session","event":[{"listen":"test","script":{"id":"49a95af0-d3b0-4a95-a452-5d874ac411f8","exec":[""],"type":"text/javascript","packages":{}}}],"id":"001596f9-5087-4b57-a35f-b0b25475d2af","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"PUT","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"description","value":"Thanks for visiting our booth!","description":"<p>Optional. 3-10,000 characters</p>\n"},{"type":"text","key":"footer","value":"Powered by Breeze","description":"<p>Optional. 3-10,000 characters</p>\n"}]},"url":"https://eventkite.app/api/event-sessions/{{session_id}}/update","description":"<p>Updates a session's custom description and footer.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>session_id</code></td>\n<td>Yes</td>\n<td>The session ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>description</code></td>\n<td>No</td>\n<td>Session description, 3-10,000 characters. Send it empty to clear it.</td>\n</tr>\n<tr>\n<td><code>footer</code></td>\n<td>No</td>\n<td>Session footer, 3-10,000 characters. Send it empty to clear it.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Fields you don't send are left unchanged.</p>\n<h3 id=\"response\">Response</h3>\n<p>The updated session (<code>session_id</code>, <code>datetime</code>, <code>hidden</code>, <code>blocked</code>).</p>\n","urlObject":{"path":["api","event-sessions","{{session_id}}","update"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"8bda7f78-38d6-962e-b63b-82561ad264aa","name":"Example: session updated","originalRequest":{"method":"PUT","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","key":"description","value":"Thanks for visiting our booth!","description":"Optional. 3-10,000 characters"},{"type":"text","key":"footer","value":"Powered by Breeze","description":"Optional. 3-10,000 characters"}]},"url":"https://eventkite.app/api/event-sessions/{{session_id}}/update","description":"Updates a session's custom description and footer.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `session_id` | Yes | The session ID. |\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `description` | No | Session description, 3-10,000 characters. Send it empty to clear it. |\n| `footer` | No | Session footer, 3-10,000 characters. Send it empty to clear it. |\n\nFields you don't send are left unchanged.\n\n### Response\n\nThe updated session (`session_id`, `datetime`, `hidden`, `blocked`)."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"session_id\": \"ABC123XYZ\",\n    \"datetime\": \"14/02/2026 7PM\",\n    \"hidden\": 0,\n    \"blocked\": 0\n  }\n}"}],"_postman_id":"001596f9-5087-4b57-a35f-b0b25475d2af"},{"name":"Send Status URL Command to Device [beta]","event":[{"listen":"test","script":{"id":"84936ef1-3096-42aa-8abd-8296c4697bb6","exec":[""],"type":"text/javascript","packages":{}}}],"id":"333df662-fa2b-42fd-9830-e42d43f0b6fb","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","value":"{\"ts\":\"stillsStart\"}","key":"command","description":"<p>Required. Status URL command, max 255 characters</p>\n"}]},"url":"https://eventkite.app/api/devices/{{device_id}}","description":"<p>Sends a Status URL command to one of your devices. The device picks up the command the next time it checks in. Sending a new command replaces any command that hasn't been picked up yet.</p>\n<p>This feature is not available to all users. Please contact us to get beta access.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>device_id</code></td>\n<td>Yes</td>\n<td>The device ID, from List Devices.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>command</code></td>\n<td>Yes</td>\n<td>The command to send, as a string (max 255 characters), for example <code>{\"ts\":\"stillsStart\"}</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p><code>{\"status\": true}</code> on success. Returns an error with the message <code>Device not found on your account</code> if the device isn't linked to your account.</p>\n","urlObject":{"path":["api","devices","{{device_id}}"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"cab61883-cd61-5b99-3843-788e20c7ba5c","name":"Example: command queued","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","value":"{\"ts\":\"stillsStart\"}","key":"command","description":"Required. Status URL command, max 255 characters"}]},"url":"https://eventkite.app/api/devices/{{device_id}}","description":"Sends a Status URL command to one of your devices. The device picks up the command the next time it checks in. Sending a new command replaces any command that hasn't been picked up yet.\n\nThis feature is not available to all users. Please contact us to get beta access.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `device_id` | Yes | The device ID, from List Devices. |\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `command` | Yes | The command to send, as a string (max 255 characters), for example `{\"ts\":\"stillsStart\"}`. |\n\n### Response\n\n`{\"status\": true}` on success. Returns an error with the message `Device not found on your account` if the device isn't linked to your account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": true\n}"}],"_postman_id":"333df662-fa2b-42fd-9830-e42d43f0b6fb"},{"name":"List Devices [beta]","event":[{"listen":"test","script":{"id":"84936ef1-3096-42aa-8abd-8296c4697bb6","exec":[""],"type":"text/javascript","packages":{}}}],"id":"52fcd8c6-ea8b-4437-a96e-062a7f6a4779","protocolProfileBehavior":{"followRedirects":true,"disableUrlEncoding":false,"disableCookies":false,"disableBodyPruning":true},"request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[]},"url":"https://eventkite.app/api/devices?name=Booth","description":"<p>Lists the devices linked to your account, so you can get each device's ID.</p>\n<p>This feature is not available to all users. Please contact us to get beta access.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</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>Name</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>No</td>\n<td>Only return devices whose name contains this text.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>A <code>data</code> array (not paginated). Each device has <code>id</code> (use this as <code>device_id</code>) and <code>name</code>.</p>\n","urlObject":{"path":["api","devices"],"host":["https://eventkite.app"],"query":[{"description":{"content":"<p>Optional. Name contains this text</p>\n","type":"text/plain"},"key":"name","value":"Booth"}],"variable":[]}},"response":[{"id":"f2ff615d-35a5-1261-4ab6-bc2eb8bcf15e","name":"Example: devices","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[]},"url":{"raw":"https://eventkite.app/api/devices?name=Booth","host":["https://eventkite.app"],"path":["api","devices"],"query":[{"value":"Booth","description":"Optional. Name contains this text","key":"name"}]},"description":"Lists the devices linked to your account, so you can get each device's ID.\n\nThis feature is not available to all users. Please contact us to get beta access.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `name` | No | Only return devices whose name contains this text. |\n\n### Response\n\nA `data` array (not paginated). Each device has `id` (use this as `device_id`) and `name`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": \"DEVICE-1234\",\n      \"name\": \"Booth 1\"\n    }\n  ]\n}"}],"_postman_id":"52fcd8c6-ea8b-4437-a96e-062a7f6a4779"},{"name":"Event Stats","id":"794500a9-390d-e3c0-0916-a302d98b4742","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/events/{{gallery_id}}/stats?start_date=2026-02-01&end_date=2026-02-28","description":"<p>Returns totals for an event: photos, sessions, views and shares. These are the same figures as the event's Analytics page. Optionally limit them to a date range.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event's gallery ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-parameters\">Query parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td>No</td>\n<td>Only count activity on or after this date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td>No</td>\n<td>Only count activity on or before this date, <code>YYYY-MM-DD</code>. Must not be before <code>start_date</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>photos</code></td>\n<td>Media files in sessions created in the range.</td>\n</tr>\n<tr>\n<td><code>sessions</code></td>\n<td>Sessions created in the range.</td>\n</tr>\n<tr>\n<td><code>gallery_views</code></td>\n<td>Gallery page views.</td>\n</tr>\n<tr>\n<td><code>session_views</code></td>\n<td>Session page views.</td>\n</tr>\n<tr>\n<td><code>shares</code></td>\n<td>Total shares.</td>\n</tr>\n<tr>\n<td><code>web</code>, <code>fb</code>, <code>x</code>, <code>linkedin</code>, <code>pinterest</code>, <code>copy</code></td>\n<td>Shares by channel (web share, Facebook, X, LinkedIn, Pinterest, copy link).</td>\n</tr>\n<tr>\n<td><code>downloads</code></td>\n<td>Downloads.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","events","{{gallery_id}}","stats"],"host":["https://eventkite.app"],"query":[{"description":{"content":"<p>Optional. YYYY-MM-DD</p>\n","type":"text/plain"},"key":"start_date","value":"2026-02-01"},{"description":{"content":"<p>Optional. YYYY-MM-DD, not before start_date</p>\n","type":"text/plain"},"key":"end_date","value":"2026-02-28"}],"variable":[]}},"response":[{"id":"83679974-e5a7-4cfb-2271-2e2aa6c9082e","name":"Example: event stats","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":{"raw":"https://eventkite.app/api/events/{{gallery_id}}/stats?start_date=2026-02-01&end_date=2026-02-28","host":["https://eventkite.app"],"path":["api","events","{{gallery_id}}","stats"],"query":[{"key":"start_date","value":"2026-02-01","description":"Optional. YYYY-MM-DD"},{"key":"end_date","value":"2026-02-28","description":"Optional. YYYY-MM-DD, not before start_date"}]},"description":"Returns totals for an event: photos, sessions, views and shares. These are the same figures as the event's Analytics page. Optionally limit them to a date range.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event's gallery ID. |\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `start_date` | No | Only count activity on or after this date, `YYYY-MM-DD`. |\n| `end_date` | No | Only count activity on or before this date, `YYYY-MM-DD`. Must not be before `start_date`. |\n\n### Response\n\n| Field | Description |\n|---|---|\n| `photos` | Media files in sessions created in the range. |\n| `sessions` | Sessions created in the range. |\n| `gallery_views` | Gallery page views. |\n| `session_views` | Session page views. |\n| `shares` | Total shares. |\n| `web`, `fb`, `x`, `linkedin`, `pinterest`, `copy` | Shares by channel (web share, Facebook, X, LinkedIn, Pinterest, copy link). |\n| `downloads` | Downloads. |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"photos\": 1240,\n    \"sessions\": 310,\n    \"gallery_views\": 5120,\n    \"session_views\": 2210,\n    \"shares\": 402,\n    \"web\": 120,\n    \"fb\": 88,\n    \"x\": 15,\n    \"linkedin\": 9,\n    \"pinterest\": 2,\n    \"copy\": 168,\n    \"downloads\": 530\n  }\n}"}],"_postman_id":"794500a9-390d-e3c0-0916-a302d98b4742"},{"name":"List Event Sessions","id":"3916d9e6-2f8d-2880-2c56-fdcad3b5a7b4","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/events/{{gallery_id}}/sessions?expand=stats&sort=views&order=desc","description":"<p>Lists the sessions in an event, with the number of media files in each. Optionally include view and share counts per session. Results are paginated.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event's gallery ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-parameters\">Query parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td>No</td>\n<td>Only sessions created on or after this date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td>No</td>\n<td>Only sessions created on or before this date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>expand</code></td>\n<td>No</td>\n<td>Set to <code>stats</code> to add view and share counts to each session.</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>No</td>\n<td><code>datetime</code> (default), <code>views</code> or <code>shares</code>.</td>\n</tr>\n<tr>\n<td><code>order</code></td>\n<td>No</td>\n<td><code>desc</code> (default) or <code>asc</code>.</td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>No</td>\n<td>Results per page, 1-1000. Default 100.</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>No</td>\n<td>Page number.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Each session has:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>session_id</code></td>\n<td>Session ID.</td>\n</tr>\n<tr>\n<td><code>datetime</code></td>\n<td>Session date and time (ISO 8601).</td>\n</tr>\n<tr>\n<td><code>photos</code></td>\n<td>Number of media files in the session.</td>\n</tr>\n<tr>\n<td><code>views</code>, <code>shares</code>, <code>web</code>, <code>fb</code>, <code>x</code>, <code>linkedin</code>, <code>pinterest</code>, <code>copy</code>, <code>downloads</code></td>\n<td>Only with <code>expand=stats</code>. View and share counts for the session.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","events","{{gallery_id}}","sessions"],"host":["https://eventkite.app"],"query":[{"disabled":true,"description":{"content":"<p>Optional. YYYY-MM-DD</p>\n","type":"text/plain"},"key":"start_date","value":"2026-02-01"},{"disabled":true,"description":{"content":"<p>Optional. YYYY-MM-DD</p>\n","type":"text/plain"},"key":"end_date","value":"2026-02-28"},{"description":{"content":"<p>Optional. stats adds view and share counts</p>\n","type":"text/plain"},"key":"expand","value":"stats"},{"description":{"content":"<p>Optional. datetime (default), views or shares</p>\n","type":"text/plain"},"key":"sort","value":"views"},{"description":{"content":"<p>Optional. desc (default) or asc</p>\n","type":"text/plain"},"key":"order","value":"desc"},{"disabled":true,"description":{"content":"<p>Optional. 1-1000, default 100</p>\n","type":"text/plain"},"key":"per_page","value":"100"},{"disabled":true,"description":{"content":"<p>Optional. Page number</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"85ab28df-a1bb-a8c3-4230-1c4e6c9d4b85","name":"Example: sessions with stats","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":{"raw":"https://eventkite.app/api/events/{{gallery_id}}/sessions?expand=stats&sort=views&order=desc","host":["https://eventkite.app"],"path":["api","events","{{gallery_id}}","sessions"],"query":[{"value":"2026-02-01","key":"start_date","description":"Optional. YYYY-MM-DD","disabled":true},{"value":"2026-02-28","key":"end_date","description":"Optional. YYYY-MM-DD","disabled":true},{"value":"stats","key":"expand","description":"Optional. stats adds view and share counts"},{"value":"views","key":"sort","description":"Optional. datetime (default), views or shares"},{"value":"desc","key":"order","description":"Optional. desc (default) or asc"},{"value":"100","key":"per_page","description":"Optional. 1-1000, default 100","disabled":true},{"value":"1","key":"page","description":"Optional. Page number","disabled":true}]},"description":"Lists the sessions in an event, with the number of media files in each. Optionally include view and share counts per session. Results are paginated.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event's gallery ID. |\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `start_date` | No | Only sessions created on or after this date, `YYYY-MM-DD`. |\n| `end_date` | No | Only sessions created on or before this date, `YYYY-MM-DD`. |\n| `expand` | No | Set to `stats` to add view and share counts to each session. |\n| `sort` | No | `datetime` (default), `views` or `shares`. |\n| `order` | No | `desc` (default) or `asc`. |\n| `per_page` | No | Results per page, 1-1000. Default 100. |\n| `page` | No | Page number. |\n\n### Response\n\nEach session has:\n\n| Field | Description |\n|---|---|\n| `session_id` | Session ID. |\n| `datetime` | Session date and time (ISO 8601). |\n| `photos` | Number of media files in the session. |\n| `views`, `shares`, `web`, `fb`, `x`, `linkedin`, `pinterest`, `copy`, `downloads` | Only with `expand=stats`. View and share counts for the session. |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"session_id\": \"ABC123XYZ\",\n      \"datetime\": \"2026-02-14T19:05:12+00:00\",\n      \"photos\": 4,\n      \"views\": 21,\n      \"shares\": 3,\n      \"web\": 1,\n      \"fb\": 1,\n      \"x\": 0,\n      \"linkedin\": 0,\n      \"pinterest\": 0,\n      \"copy\": 1,\n      \"downloads\": 5\n    }\n  ],\n  \"links\": {\n    \"first\": \"https://eventkite.app/api/events/summer-party-2026/sessions?page=1\",\n    \"last\": \"https://eventkite.app/api/events/summer-party-2026/sessions?page=1\",\n    \"prev\": null,\n    \"next\": null\n  },\n  \"meta\": {\n    \"current_page\": 1,\n    \"from\": 1,\n    \"last_page\": 1,\n    \"path\": \"https://eventkite.app/api/events/summer-party-2026/sessions\",\n    \"per_page\": 100,\n    \"to\": 1,\n    \"total\": 1\n  }\n}"}],"_postman_id":"3916d9e6-2f8d-2880-2c56-fdcad3b5a7b4"},{"name":"List Cloud Survey Submissions","id":"55be0ae8-dfd2-671a-c81e-cd2bb819025d","request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":"https://eventkite.app/api/events/{{gallery_id}}/cloud-surveys?order=desc","description":"<p>Lists the Cloud Survey submissions for an event, newest first. Results are paginated.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The event's gallery ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-parameters\">Query parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>hash</code></td>\n<td>No</td>\n<td>Only submissions whose hash contains this text.</td>\n</tr>\n<tr>\n<td><code>start_date</code></td>\n<td>No</td>\n<td>Only submissions on or after this date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td>No</td>\n<td>Only submissions on or before this date, <code>YYYY-MM-DD</code>.</td>\n</tr>\n<tr>\n<td><code>order</code></td>\n<td>No</td>\n<td><code>desc</code> (default) or <code>asc</code>.</td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>No</td>\n<td>Results per page, 1-1000. Default 100.</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>No</td>\n<td>Page number.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Each submission has:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>hash</code></td>\n<td>Unique submission code.</td>\n</tr>\n<tr>\n<td><code>tables_data</code></td>\n<td>The survey answers.</td>\n</tr>\n<tr>\n<td><code>session_id</code></td>\n<td>The linked session, or <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>result_url</code></td>\n<td>Link to the submission's result page.</td>\n</tr>\n<tr>\n<td><code>qr_url</code></td>\n<td>Link to the submission's QR code.</td>\n</tr>\n<tr>\n<td><code>datetime</code></td>\n<td>Submission time (ISO 8601).</td>\n</tr>\n<tr>\n<td><code>params</code></td>\n<td>Extra parameters sent with the submission (object).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","events","{{gallery_id}}","cloud-surveys"],"host":["https://eventkite.app"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Hash contains this text</p>\n","type":"text/plain"},"key":"hash","value":"k3J9"},{"disabled":true,"description":{"content":"<p>Optional. YYYY-MM-DD</p>\n","type":"text/plain"},"key":"start_date","value":"2026-02-01"},{"disabled":true,"description":{"content":"<p>Optional. YYYY-MM-DD</p>\n","type":"text/plain"},"key":"end_date","value":"2026-02-28"},{"description":{"content":"<p>Optional. desc (default) or asc</p>\n","type":"text/plain"},"key":"order","value":"desc"},{"disabled":true,"description":{"content":"<p>Optional. 1-1000, default 100</p>\n","type":"text/plain"},"key":"per_page","value":"100"},{"disabled":true,"description":{"content":"<p>Optional. Page number</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"6e7b9688-f221-9783-22ee-640f90ee72a9","name":"Example: survey submissions","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":{"raw":"https://eventkite.app/api/events/{{gallery_id}}/cloud-surveys?order=desc","host":["https://eventkite.app"],"path":["api","events","{{gallery_id}}","cloud-surveys"],"query":[{"description":"Optional. Hash contains this text","value":"k3J9","key":"hash","disabled":true},{"description":"Optional. YYYY-MM-DD","value":"2026-02-01","key":"start_date","disabled":true},{"description":"Optional. YYYY-MM-DD","value":"2026-02-28","key":"end_date","disabled":true},{"description":"Optional. desc (default) or asc","value":"desc","key":"order"},{"description":"Optional. 1-1000, default 100","value":"100","key":"per_page","disabled":true},{"description":"Optional. Page number","value":"1","key":"page","disabled":true}]},"description":"Lists the Cloud Survey submissions for an event, newest first. Results are paginated.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The event's gallery ID. |\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `hash` | No | Only submissions whose hash contains this text. |\n| `start_date` | No | Only submissions on or after this date, `YYYY-MM-DD`. |\n| `end_date` | No | Only submissions on or before this date, `YYYY-MM-DD`. |\n| `order` | No | `desc` (default) or `asc`. |\n| `per_page` | No | Results per page, 1-1000. Default 100. |\n| `page` | No | Page number. |\n\n### Response\n\nEach submission has:\n\n| Field | Description |\n|---|---|\n| `hash` | Unique submission code. |\n| `tables_data` | The survey answers. |\n| `session_id` | The linked session, or `null`. |\n| `result_url` | Link to the submission's result page. |\n| `qr_url` | Link to the submission's QR code. |\n| `datetime` | Submission time (ISO 8601). |\n| `params` | Extra parameters sent with the submission (object). |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"hash\": \"k3J9xQ2p\",\n      \"tables_data\": [\n        {\n          \"question\": \"Your name\",\n          \"answer\": \"Alex\"\n        }\n      ],\n      \"session_id\": \"ABC123XYZ\",\n      \"result_url\": \"https://gallery.example.com/survey/k3J9xQ2p\",\n      \"qr_url\": \"https://gallery.example.com/survey/k3J9xQ2p/qr\",\n      \"datetime\": \"2026-02-14T19:06:40+00:00\",\n      \"params\": {}\n    }\n  ],\n  \"links\": {\n    \"first\": \"https://eventkite.app/api/events/summer-party-2026/cloud-surveys?page=1\",\n    \"last\": \"https://eventkite.app/api/events/summer-party-2026/cloud-surveys?page=1\",\n    \"prev\": null,\n    \"next\": null\n  },\n  \"meta\": {\n    \"current_page\": 1,\n    \"from\": 1,\n    \"last_page\": 1,\n    \"path\": \"https://eventkite.app/api/events/summer-party-2026/cloud-surveys\",\n    \"per_page\": 100,\n    \"to\": 1,\n    \"total\": 1\n  }\n}"}],"_postman_id":"55be0ae8-dfd2-671a-c81e-cd2bb819025d"},{"name":"Link Breeze Studio Event","id":"9a1e3f56-7a72-4718-9bb7-5a706e1186ef","request":{"method":"PUT","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","description":"<p>Required. Breeze Studio event ID (UUID)</p>\n","value":"3f6c2a9e-8b1d-4c57-9e2a-1b2c3d4e5f60","key":"event_editor_event_id"},{"type":"text","description":"<p>Optional. 1 Breeze Booth (default), 2 Remote Pro, 3 Breeze Booth 2</p>\n","value":"1","key":"type"}]},"url":"https://eventkite.app/api/events/{{gallery_id}}/link","description":"<p>Links a Breeze Studio event to a Breeze Cloud event. Calling it again replaces the existing link.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gallery_id</code></td>\n<td>Yes</td>\n<td>The Breeze Cloud event's gallery ID.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>event_editor_event_id</code></td>\n<td>Yes</td>\n<td>The Breeze Studio event ID (a UUID).</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>No</td>\n<td>The app the Studio event is for: <code>1</code> Breeze Booth (default), <code>2</code> Remote Pro, <code>3</code> Breeze Booth 2.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>This response is not wrapped in <code>data</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>slug</code></td>\n<td>The event's gallery ID.</td>\n</tr>\n<tr>\n<td><code>title</code>, <code>description</code>, <code>date</code></td>\n<td>Event details.</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>Your account ID.</td>\n</tr>\n<tr>\n<td><code>integration_key</code></td>\n<td>Your account's integration key, used to publish the linked build's files. Keep it private.</td>\n</tr>\n<tr>\n<td><code>event_editor_event_id</code></td>\n<td>The linked Breeze Studio event ID.</td>\n</tr>\n<tr>\n<td><code>event_editor_type</code></td>\n<td>The linked app type (<code>1</code>, <code>2</code> or <code>3</code>).</td>\n</tr>\n<tr>\n<td><code>event_editor_preview_url</code></td>\n<td>Preview image URL, or <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>event_editor_synced_at</code></td>\n<td>When the link was last updated (ISO 8601).</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>Link to the event in Breeze Cloud.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","events","{{gallery_id}}","link"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"d7a99271-cfdf-9f4d-f14d-05a753d0f024","name":"Example: event linked","originalRequest":{"method":"PUT","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"},{"value":"application/x-www-form-urlencoded","key":"Content-Type"}],"body":{"mode":"urlencoded","urlencoded":[{"type":"text","description":"Required. Breeze Studio event ID (UUID)","value":"3f6c2a9e-8b1d-4c57-9e2a-1b2c3d4e5f60","key":"event_editor_event_id"},{"type":"text","description":"Optional. 1 Breeze Booth (default), 2 Remote Pro, 3 Breeze Booth 2","value":"1","key":"type"}]},"url":"https://eventkite.app/api/events/{{gallery_id}}/link","description":"Links a Breeze Studio event to a Breeze Cloud event. Calling it again replaces the existing link.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `gallery_id` | Yes | The Breeze Cloud event's gallery ID. |\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `event_editor_event_id` | Yes | The Breeze Studio event ID (a UUID). |\n| `type` | No | The app the Studio event is for: `1` Breeze Booth (default), `2` Remote Pro, `3` Breeze Booth 2. |\n\n### Response\n\nThis response is not wrapped in `data`.\n\n| Field | Description |\n|---|---|\n| `slug` | The event's gallery ID. |\n| `title`, `description`, `date` | Event details. |\n| `company_id` | Your account ID. |\n| `integration_key` | Your account's integration key, used to publish the linked build's files. Keep it private. |\n| `event_editor_event_id` | The linked Breeze Studio event ID. |\n| `event_editor_type` | The linked app type (`1`, `2` or `3`). |\n| `event_editor_preview_url` | Preview image URL, or `null`. |\n| `event_editor_synced_at` | When the link was last updated (ISO 8601). |\n| `url` | Link to the event in Breeze Cloud. |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"slug\": \"summer-party-2026\",\n  \"title\": \"Summer Party\",\n  \"description\": \"Photos from our summer party\",\n  \"date\": \"2026-02-14\",\n  \"company_id\": 1234,\n  \"integration_key\": \"<your integration key>\",\n  \"event_editor_event_id\": \"3f6c2a9e-8b1d-4c57-9e2a-1b2c3d4e5f60\",\n  \"event_editor_type\": 1,\n  \"event_editor_preview_url\": null,\n  \"event_editor_synced_at\": \"2026-10-21T00:00:00+00:00\",\n  \"url\": \"https://cloud.breezesoftware.com/events/summer-party-2026\"\n}"}],"_postman_id":"9a1e3f56-7a72-4718-9bb7-5a706e1186ef"},{"name":"List Settings Templates","id":"9859562e-83e4-3273-a323-2a24f5d413dd","request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":"https://eventkite.app/api/settings-templates?type=microsite","description":"<p>Lists your settings templates of one type, sorted by name. Use the IDs when creating an event. Results are paginated, 100 per page.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</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>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Yes</td>\n<td><code>event</code> (gallery settings templates), <code>microsite</code> (use as <code>microsite_template_id</code>) or <code>survey</code> (use as <code>survey_template_id</code>).</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>No</td>\n<td>Page number.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Each template has <code>id</code> and <code>name</code>.</p>\n","urlObject":{"path":["api","settings-templates"],"host":["https://eventkite.app"],"query":[{"description":{"content":"<p>Required. event, microsite or survey</p>\n","type":"text/plain"},"key":"type","value":"microsite"},{"disabled":true,"description":{"content":"<p>Optional. Page number</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"3a786a40-da89-a755-4196-912732ad4a00","name":"Example: microsite templates","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":{"raw":"https://eventkite.app/api/settings-templates?type=microsite","host":["https://eventkite.app"],"path":["api","settings-templates"],"query":[{"value":"microsite","description":"Required. event, microsite or survey","key":"type"},{"value":"1","description":"Optional. Page number","key":"page","disabled":true}]},"description":"Lists your settings templates of one type, sorted by name. Use the IDs when creating an event. Results are paginated, 100 per page.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `type` | Yes | `event` (gallery settings templates), `microsite` (use as `microsite_template_id`) or `survey` (use as `survey_template_id`). |\n| `page` | No | Page number. |\n\n### Response\n\nEach template has `id` and `name`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": 17,\n      \"name\": \"Corporate microsite\"\n    },\n    {\n      \"id\": 21,\n      \"name\": \"Wedding microsite\"\n    }\n  ],\n  \"links\": {\n    \"first\": \"https://eventkite.app/api/settings-templates?page=1\",\n    \"last\": \"https://eventkite.app/api/settings-templates?page=1\",\n    \"prev\": null,\n    \"next\": null\n  },\n  \"meta\": {\n    \"current_page\": 1,\n    \"from\": 1,\n    \"last_page\": 1,\n    \"path\": \"https://eventkite.app/api/settings-templates\",\n    \"per_page\": 100,\n    \"to\": 2,\n    \"total\": 2\n  }\n}"}],"_postman_id":"9859562e-83e4-3273-a323-2a24f5d413dd"}],"id":"79c14a00-6b62-4a99-89d2-bd515d5468a7","description":"<p>These docs describe the Breeze Cloud API. You can get your API key from <a href=\"https://cloud.breezesoftware.com/settings/api\">Settings -&gt; API Key</a> in your Breeze Cloud account.</p>\n<h2 id=\"base-url\">Base URL</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://eventkite.app/api\n</code></pre><p>Every request in this collection uses the <code>https://eventkite.app</code> variable, which is set to <code>https://eventkite.app</code>. Paths start with <code>/api</code>, for example <code>https://eventkite.app/api/events</code>.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Every request must include your API key as a header:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer &lt;your API key&gt;\n</code></pre><p>Send <code>Accept: application/json</code> so errors are returned as JSON.</p>\n<h2 id=\"responses-and-errors\">Responses and errors</h2>\n<ul>\n<li>Successful responses are JSON. Most return a <code>data</code> object or array.</li>\n<li>List endpoints are paginated. They return <code>data</code>, <code>links</code> and <code>meta</code> (<code>current_page</code>, <code>last_page</code>, <code>per_page</code>, <code>total</code>, ...). Use the <code>page</code> query parameter to get more pages.</li>\n<li><code>401</code> <code>{\"message\": \"Unauthorized\"}</code>: the API key is missing or wrong.</li>\n<li><code>404</code>: the event, session, subscription or lease does not exist in your account.</li>\n<li><code>422</code>: validation failed. The response has a <code>message</code> and an <code>errors</code> object listing each invalid field.</li>\n<li><code>429</code> <code>Too Many Attempts.</code>: you have hit the rate limit. Wait and try again.</li>\n</ul>\n<h2 id=\"identifiers\">Identifiers</h2>\n<ul>\n<li><code>gallery_id</code> is the event's ID, as shown in the event URL.</li>\n<li><code>session_id</code> is a session's ID (letters and numbers only).</li>\n</ul>\n<p>There are costs associated with using this API, depending on your Breeze Cloud plan. Read more about plans and pricing <a href=\"https://help.breezesoftware.com/breeze-cloud/r/en/topic/plans-features\">here</a>.</p>\n<p>If a function you need is missing from the API, or you are having issues, please contact our support team.</p>\n","_postman_id":"79c14a00-6b62-4a99-89d2-bd515d5468a7"},{"name":"Breeze FX","item":[{"name":"Generate Image","id":"6449dc12-0660-4fdb-b9ef-93db767b8d74","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Accept","value":"image/*"}],"body":{"mode":"formdata","formdata":[{"key":"password","value":"{{fx_password}}","description":"<p>FX Integrations Password (found on FX Settings page)</p>\n","type":"text"},{"key":"fileToUpload","type":"file","description":"<p>A valid PNG or JPEG image file</p>\n","value":""},{"key":"s1","value":"John","description":"<p>QR data (optional)</p>\n","type":"text","uuid":"cbc5ee0f-42d5-4d50-94ba-9f3bfd43238a"},{"key":"survey1_text_field","value":"Smith","description":"<p>Survey data (optional)</p>\n","type":"text","uuid":"47356d84-b852-4271-81c9-9bed0f2ab619"}]},"url":"https://eventkite.app/api/generate/{{account_slug}}/{{fx_token}}","description":"<p>Generate an AI-transformed image using a Breeze FX configuration.</p>\n<p><strong>URL Parameters:</strong></p>\n<ul>\n<li><p><code>account_slug</code> — Generated at registration, found in FX Settings</p>\n</li>\n<li><p><code>fx_token</code> — Found on the Edit FX Configuration as Token</p>\n</li>\n</ul>\n<p><strong>Form Fields:</strong></p>\n<ul>\n<li><p><code>password</code> — Your FX Integrations Password (FX Settings page)</p>\n</li>\n<li><p><code>fileToUpload</code> — A valid PNG or JPEG image</p>\n</li>\n</ul>\n<p><strong>Placeholders in Prompts:</strong><br />Currently supported by GPT-Image-1 and Gemini 2.5 Flash Image:</p>\n<ul>\n<li><p><code>survey&lt;1-9&gt;_radio_</code> — Radio survey responses</p>\n</li>\n<li><p><code>survey&lt;1-9&gt;_text_</code> — Text survey responses</p>\n</li>\n<li><p><code>s&lt;1-10&gt;</code> — QR scan placeholders</p>\n</li>\n</ul>\n<p><strong>Success Response:</strong> Image content (binary)</p>\n<p><strong>Error Response (JSON):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"message\": \"Integration password is required\"\n}\n\n</code></pre>","urlObject":{"path":["api","generate","{{account_slug}}","{{fx_token}}"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[],"_postman_id":"6449dc12-0660-4fdb-b9ef-93db767b8d74"}],"id":"f97394e9-91bf-4013-9d44-ed3679d35fe1","description":"<p>Breeze FX image generation endpoints. These endpoints use a different authentication method — the user alias is in the URL path and the password is sent as a form field (not a Bearer token).</p>\n<p><strong>Authentication:</strong> No <code>Authorization</code> header needed. Instead, provide your <code>user_alias</code> in the URL and your FX Integrations Password as the <code>password</code> form field.</p>\n<p><strong>Placeholders:</strong> Prompts support placeholders (currently used by GPT-Image-1 and Gemini 2.5 Flash Image):</p>\n<ul>\n<li><p><code>survey&lt;1-9&gt;_radio_</code></p>\n</li>\n<li><p><code>survey&lt;1-9&gt;_text_</code></p>\n</li>\n<li><p><code>s&lt;1-10&gt;</code></p>\n</li>\n</ul>\n<p><strong>Response:</strong> Success returns image content directly. Errors return JSON with a <code>message</code> field.</p>\n","_postman_id":"f97394e9-91bf-4013-9d44-ed3679d35fe1"},{"name":"Booth Licences","item":[{"name":"List Subscriptions","id":"220ce4df-eb0f-7fb4-a96c-0431be561b9e","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/booth-licences/subscriptions","description":"<p>Lists your active Breeze Booth (Apple) subscriptions, with a summary of seat usage. Sorted by period end, latest first. Paginated, 100 per page.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"response\">Response</h3>\n<p><code>data</code> is a list of subscriptions. Each subscription has:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Subscription ID.</td>\n</tr>\n<tr>\n<td><code>voucher_applied</code></td>\n<td><code>true</code> if the subscription came from a voucher.</td>\n</tr>\n<tr>\n<td><code>seats</code></td>\n<td>Number of seats.</td>\n</tr>\n<tr>\n<td><code>price_per_seat</code></td>\n<td>Price per seat per billing period.</td>\n</tr>\n<tr>\n<td><code>cost</code></td>\n<td><code>seats</code> x <code>price_per_seat</code>.</td>\n</tr>\n<tr>\n<td><code>period_label</code></td>\n<td>Billing cycle, for example <code>Monthly</code> or <code>Yearly</code>, or <code>Voucher</code>.</td>\n</tr>\n<tr>\n<td><code>cycle_label</code></td>\n<td>Billing unit, for example <code>month</code> or <code>year</code>.</td>\n</tr>\n<tr>\n<td><code>pending_cancel</code></td>\n<td><code>true</code> if the subscription is set to end at <code>period_end</code>.</td>\n</tr>\n<tr>\n<td><code>period_end</code></td>\n<td>End of the current paid period, <code>YYYY-MM-DD HH:MM:SS</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>usage</code> summarises seats across all subscriptions: <code>seats_purchased</code>, <code>seats_in_use</code>, <code>seats_available</code>.</p>\n","urlObject":{"path":["api","booth-licences","subscriptions"],"host":["https://eventkite.app"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Page number</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"50255a91-cd6e-8f8a-5032-6dc7dee0e3dd","name":"Example: subscriptions","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":{"raw":"https://eventkite.app/api/booth-licences/subscriptions","host":["https://eventkite.app"],"path":["api","booth-licences","subscriptions"],"query":[{"key":"page","value":"1","description":"Optional. Page number","disabled":true}]},"description":"Lists your active Breeze Booth (Apple) subscriptions, with a summary of seat usage. Sorted by period end, latest first. Paginated, 100 per page.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Response\n\n`data` is a list of subscriptions. Each subscription has:\n\n| Field | Description |\n|---|---|\n| `id` | Subscription ID. |\n| `voucher_applied` | `true` if the subscription came from a voucher. |\n| `seats` | Number of seats. |\n| `price_per_seat` | Price per seat per billing period. |\n| `cost` | `seats` x `price_per_seat`. |\n| `period_label` | Billing cycle, for example `Monthly` or `Yearly`, or `Voucher`. |\n| `cycle_label` | Billing unit, for example `month` or `year`. |\n| `pending_cancel` | `true` if the subscription is set to end at `period_end`. |\n| `period_end` | End of the current paid period, `YYYY-MM-DD HH:MM:SS`. |\n\n`usage` summarises seats across all subscriptions: `seats_purchased`, `seats_in_use`, `seats_available`."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": 412,\n      \"voucher_applied\": false,\n      \"seats\": 5,\n      \"price_per_seat\": 19.0,\n      \"cost\": 95.0,\n      \"period_label\": \"Monthly\",\n      \"cycle_label\": \"month\",\n      \"pending_cancel\": false,\n      \"period_end\": \"2026-11-21 10:00:00\"\n    }\n  ],\n  \"links\": {\n    \"first\": \"https://eventkite.app/api/booth-licences/subscriptions?page=1\",\n    \"last\": \"https://eventkite.app/api/booth-licences/subscriptions?page=1\",\n    \"prev\": null,\n    \"next\": null\n  },\n  \"meta\": {\n    \"current_page\": 1,\n    \"from\": 1,\n    \"last_page\": 1,\n    \"path\": \"https://eventkite.app/api/booth-licences/subscriptions\",\n    \"per_page\": 100,\n    \"to\": 1,\n    \"total\": 1\n  },\n  \"usage\": {\n    \"seats_purchased\": 5,\n    \"seats_in_use\": 3,\n    \"seats_available\": 2\n  }\n}"}],"_postman_id":"220ce4df-eb0f-7fb4-a96c-0431be561b9e"},{"name":"Buy Subscription","id":"9f114aa3-145b-5127-787e-f3d061da8533","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"value":"28","type":"text","key":"product_id","description":"<p>Required. 28 Breeze Booth Monthly, 29 Breeze Booth Yearly</p>\n"},{"value":"5","type":"text","key":"seats","description":"<p>Required. 1-100</p>\n"}]},"url":"https://eventkite.app/api/booth-licences/subscriptions","description":"<p>Buys a new Breeze Booth (Apple) subscription with the number of seats you choose.</p>\n<p><strong>This charges your account.</strong> The first payment is taken straight away from your account's default payment card, and the subscription then renews automatically each billing period. Set a default card in Breeze Cloud billing first.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"body-parameters\">Body parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>product_id</code></td>\n<td>Yes</td>\n<td>The plan to buy. See Supported plans below.</td>\n</tr>\n<tr>\n<td><code>seats</code></td>\n<td>Yes</td>\n<td>Number of seats, 1-100.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"supported-plans\">Supported plans</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><code>product_id</code></th>\n<th>Plan</th>\n<th>Tier</th>\n<th>Billing period</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>28</code></td>\n<td>Breeze Booth Monthly</td>\n<td>Basic</td>\n<td>Monthly</td>\n</tr>\n<tr>\n<td><code>29</code></td>\n<td>Breeze Booth Yearly</td>\n<td>Basic</td>\n<td>Yearly</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"errors\">Errors</h3>\n<p>The request fails with a message if, for example, no default card is set (<code>Please set a default payment card before subscribing.</code>), the plan isn't a recurring device seat plan, or the payment fails.</p>\n<h3 id=\"response\">Response</h3>\n<p><code>201 Created</code> with the new subscription (same fields as List Subscriptions).</p>\n","urlObject":{"path":["api","booth-licences","subscriptions"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"e92b3cc6-d512-0369-16c9-4226cd0fa44a","name":"Example: subscription created","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"value":"28","type":"text","key":"product_id","description":"Required. 28 Breeze Booth Monthly, 29 Breeze Booth Yearly"},{"value":"5","type":"text","key":"seats","description":"Required. 1-100"}]},"url":"https://eventkite.app/api/booth-licences/subscriptions","description":"Buys a new Breeze Booth (Apple) subscription with the number of seats you choose.\n\n**This charges your account.** The first payment is taken straight away from your account's default payment card, and the subscription then renews automatically each billing period. Set a default card in Breeze Cloud billing first.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Body parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `product_id` | Yes | The plan to buy. See Supported plans below. |\n| `seats` | Yes | Number of seats, 1-100. |\n\n### Supported plans\n\n| `product_id` | Plan | Tier | Billing period |\n|---|---|---|---|\n| `28` | Breeze Booth Monthly | Basic | Monthly |\n| `29` | Breeze Booth Yearly | Basic | Yearly |\n\n### Errors\n\nThe request fails with a message if, for example, no default card is set (`Please set a default payment card before subscribing.`), the plan isn't a recurring device seat plan, or the payment fails.\n\n### Response\n\n`201 Created` with the new subscription (same fields as List Subscriptions)."},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"id\": 412,\n    \"voucher_applied\": false,\n    \"seats\": 5,\n    \"price_per_seat\": 19.0,\n    \"cost\": 95.0,\n    \"period_label\": \"Monthly\",\n    \"cycle_label\": \"month\",\n    \"pending_cancel\": false,\n    \"period_end\": \"2026-11-21 10:00:00\"\n  }\n}"}],"_postman_id":"9f114aa3-145b-5127-787e-f3d061da8533"},{"name":"Get Subscription","id":"40dd5a9a-2fc2-893d-91e9-126381f34c5b","request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":"https://eventkite.app/api/booth-licences/subscriptions/{{subscription_id}}","description":"<p>Returns one Breeze Booth (Apple) subscription by ID.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>subscription</code></td>\n<td>Yes</td>\n<td>Subscription ID (a number).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>The subscription, with the same fields as List Subscriptions. Returns <code>404</code> if it isn't a Breeze Booth subscription in your account.</p>\n","urlObject":{"path":["api","booth-licences","subscriptions","{{subscription_id}}"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"40caf5e4-73a3-00fd-8b32-b3832b392c5d","name":"Example: subscription","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":"https://eventkite.app/api/booth-licences/subscriptions/{{subscription_id}}","description":"Returns one Breeze Booth (Apple) subscription by ID.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `subscription` | Yes | Subscription ID (a number). |\n\n### Response\n\nThe subscription, with the same fields as List Subscriptions. Returns `404` if it isn't a Breeze Booth subscription in your account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"id\": 412,\n    \"voucher_applied\": false,\n    \"seats\": 5,\n    \"price_per_seat\": 19.0,\n    \"cost\": 95.0,\n    \"period_label\": \"Monthly\",\n    \"cycle_label\": \"month\",\n    \"pending_cancel\": false,\n    \"period_end\": \"2026-11-21 10:00:00\"\n  }\n}"}],"_postman_id":"40dd5a9a-2fc2-893d-91e9-126381f34c5b"},{"name":"Cancel Subscription","id":"17610b65-f63c-0950-6892-f7300c4e6807","request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/booth-licences/subscriptions/{{subscription_id}}","description":"<p>Cancels a Breeze Booth (Apple) subscription at the end of its current billing period.</p>\n<p>The subscription is not removed straight away. It stays active, and its seats keep working, until <code>period_end</code>. It won't renew after that. The response shows <code>pending_cancel: true</code>.</p>\n<p>Exceptions:</p>\n<ul>\n<li>Trial subscriptions are removed immediately.</li>\n<li>Perpetual licences can't be cancelled (error: <code>Perpetual licences cannot be cancelled.</code>).</li>\n</ul>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>subscription</code></td>\n<td>Yes</td>\n<td>Subscription ID (a number).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>The updated subscription, with the same fields as List Subscriptions.</p>\n","urlObject":{"path":["api","booth-licences","subscriptions","{{subscription_id}}"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"c07bd44f-2b04-fd37-b9c4-43c1b5c677f3","name":"Example: cancellation scheduled","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/booth-licences/subscriptions/{{subscription_id}}","description":"Cancels a Breeze Booth (Apple) subscription at the end of its current billing period.\n\nThe subscription is not removed straight away. It stays active, and its seats keep working, until `period_end`. It won't renew after that. The response shows `pending_cancel: true`.\n\nExceptions:\n- Trial subscriptions are removed immediately.\n- Perpetual licences can't be cancelled (error: `Perpetual licences cannot be cancelled.`).\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `subscription` | Yes | Subscription ID (a number). |\n\n### Response\n\nThe updated subscription, with the same fields as List Subscriptions."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"id\": 412,\n    \"voucher_applied\": false,\n    \"seats\": 5,\n    \"price_per_seat\": 19.0,\n    \"cost\": 95.0,\n    \"period_label\": \"Monthly\",\n    \"cycle_label\": \"month\",\n    \"pending_cancel\": true,\n    \"period_end\": \"2026-11-21 10:00:00\"\n  }\n}"}],"_postman_id":"17610b65-f63c-0950-6892-f7300c4e6807"},{"name":"List Booth Devices","id":"082c9e6e-1e76-0187-a650-5d63874ce3ed","request":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":"https://eventkite.app/api/booth-licences/devices?device_status=active","description":"<p>Lists the Breeze Booth devices in your account with their licence lease status. Use <code>lease_id</code> to deactivate a device. Paginated.</p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</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>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>device_name</code></td>\n<td>No</td>\n<td>Only devices whose name contains this text.</td>\n</tr>\n<tr>\n<td><code>device_status</code></td>\n<td>No</td>\n<td><code>active</code>, <code>pending_deactivation</code>, <code>expired</code>, or <code>none</code> (devices without a lease).</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>No</td>\n<td>Page number.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Each device has:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Device ID.</td>\n</tr>\n<tr>\n<td><code>device_uuid</code></td>\n<td>The device's unique identifier.</td>\n</tr>\n<tr>\n<td><code>device_name</code></td>\n<td>Device name (<code>Unnamed device</code> if not set).</td>\n</tr>\n<tr>\n<td><code>app_version</code>, <code>os_version</code></td>\n<td>Versions reported by the device.</td>\n</tr>\n<tr>\n<td><code>lease_duration</code></td>\n<td>Lease length for this device, in days. Uses the device's own setting if one is set, otherwise your account default.</td>\n</tr>\n<tr>\n<td><code>custom_lease_duration</code></td>\n<td><code>true</code> if <code>lease_duration</code> is not one of the preset values (7, 30 or 300 days).</td>\n</tr>\n<tr>\n<td><code>lease_id</code></td>\n<td>Current lease ID, or <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>lease_status</code></td>\n<td><code>1</code> active, <code>2</code> expired, <code>3</code> pending deactivation, or <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>lease_status_name</code></td>\n<td>Status as text.</td>\n</tr>\n<tr>\n<td><code>can_deactivate</code></td>\n<td><code>true</code> if the lease is active and can be deactivated.</td>\n</tr>\n<tr>\n<td><code>last_checkin_at</code></td>\n<td>Last check-in, <code>YYYY-MM-DD HH:MM:SS</code>.</td>\n</tr>\n<tr>\n<td><code>last_seen</code></td>\n<td>Last check-in as readable text, for example <code>2 hours ago</code>, or <code>Never</code>.</td>\n</tr>\n<tr>\n<td><code>lease_expires_at</code></td>\n<td>When the lease expires, <code>YYYY-MM-DD HH:MM:SS</code>.</td>\n</tr>\n<tr>\n<td><code>lease_expires</code></td>\n<td>Lease expiry in your account's time zone, for example <code>27 Oct 2026, 09:14</code>, or <code>—</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>defaults.lease_duration</code> is your account's default lease duration, in days.</p>\n<h3 id=\"lease-duration\">Lease duration</h3>\n<ul>\n<li>Each time a device activates or checks in, its lease is renewed to expire <code>lease_duration</code> days later. The expiry is never later than the end of the subscription's paid period.</li>\n<li>The default is 7 days. You can change the account default, or set a per-device value, on the <strong>Billing -&gt; Booth Licences</strong> page in Breeze Cloud (1-365 days). It can't be changed through the API.</li>\n</ul>\n","urlObject":{"path":["api","booth-licences","devices"],"host":["https://eventkite.app"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Name contains this text</p>\n","type":"text/plain"},"key":"device_name","value":"iPad"},{"description":{"content":"<p>Optional. active, pending_deactivation, expired or none</p>\n","type":"text/plain"},"key":"device_status","value":"active"},{"disabled":true,"description":{"content":"<p>Optional. Page number</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"e7d3e8ec-e8cb-10a4-8816-d00d89ffaccc","name":"Example: devices","originalRequest":{"method":"GET","header":[{"value":"Bearer ","key":"Authorization"},{"value":"application/json","key":"Accept"}],"url":{"raw":"https://eventkite.app/api/booth-licences/devices?device_status=active","host":["https://eventkite.app"],"path":["api","booth-licences","devices"],"query":[{"value":"iPad","key":"device_name","description":"Optional. Name contains this text","disabled":true},{"value":"active","key":"device_status","description":"Optional. active, pending_deactivation, expired or none"},{"value":"1","key":"page","description":"Optional. Page number","disabled":true}]},"description":"Lists the Breeze Booth devices in your account with their licence lease status. Use `lease_id` to deactivate a device. Paginated.\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Query parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `device_name` | No | Only devices whose name contains this text. |\n| `device_status` | No | `active`, `pending_deactivation`, `expired`, or `none` (devices without a lease). |\n| `page` | No | Page number. |\n\n### Response\n\nEach device has:\n\n| Field | Description |\n|---|---|\n| `id` | Device ID. |\n| `device_uuid` | The device's unique identifier. |\n| `device_name` | Device name (`Unnamed device` if not set). |\n| `app_version`, `os_version` | Versions reported by the device. |\n| `lease_duration` | Lease length for this device, in days. Uses the device's own setting if one is set, otherwise your account default. |\n| `custom_lease_duration` | `true` if `lease_duration` is not one of the preset values (7, 30 or 300 days). |\n| `lease_id` | Current lease ID, or `null`. |\n| `lease_status` | `1` active, `2` expired, `3` pending deactivation, or `null`. |\n| `lease_status_name` | Status as text. |\n| `can_deactivate` | `true` if the lease is active and can be deactivated. |\n| `last_checkin_at` | Last check-in, `YYYY-MM-DD HH:MM:SS`. |\n| `last_seen` | Last check-in as readable text, for example `2 hours ago`, or `Never`. |\n| `lease_expires_at` | When the lease expires, `YYYY-MM-DD HH:MM:SS`. |\n| `lease_expires` | Lease expiry in your account's time zone, for example `27 Oct 2026, 09:14`, or `—`. |\n\n`defaults.lease_duration` is your account's default lease duration, in days.\n\n### Lease duration\n\n- Each time a device activates or checks in, its lease is renewed to expire `lease_duration` days later. The expiry is never later than the end of the subscription's paid period.\n- The default is 7 days. You can change the account default, or set a per-device value, on the **Billing -> Booth Licences** page in Breeze Cloud (1-365 days). It can't be changed through the API."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": 88,\n      \"device_uuid\": \"9C1E5A7B-2F4D-4E8A-B3C6-0D1E2F3A4B5C\",\n      \"device_name\": \"Front desk iPad\",\n      \"app_version\": \"2.4.1\",\n      \"os_version\": \"17.5\",\n      \"lease_duration\": 7,\n      \"custom_lease_duration\": false,\n      \"lease_id\": 5021,\n      \"lease_status\": 1,\n      \"lease_status_name\": \"active\",\n      \"can_deactivate\": true,\n      \"last_checkin_at\": \"2026-10-20 09:14:03\",\n      \"last_seen\": \"1 day ago\",\n      \"lease_expires_at\": \"2026-10-27 09:14:03\",\n      \"lease_expires\": \"27 Oct 2026, 09:14\"\n    }\n  ],\n  \"links\": {\n    \"first\": \"https://eventkite.app/api/booth-licences/devices?page=1\",\n    \"last\": \"https://eventkite.app/api/booth-licences/devices?page=1\",\n    \"prev\": null,\n    \"next\": null\n  },\n  \"meta\": {\n    \"current_page\": 1,\n    \"from\": 1,\n    \"last_page\": 1,\n    \"path\": \"https://eventkite.app/api/booth-licences/devices\",\n    \"per_page\": 100,\n    \"to\": 1,\n    \"total\": 1\n  },\n  \"defaults\": {\n    \"lease_duration\": 7\n  }\n}"}],"_postman_id":"082c9e6e-1e76-0187-a650-5d63874ce3ed"},{"name":"Deactivate Device Lease","id":"ce18b193-6c98-3a33-80f7-b048186ff39a","request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/booth-licences/leases/{{lease_id}}/deactivate","description":"<p>Deactivates a device's licence lease so its seat can be used by another device.</p>\n<p><strong>Deactivation is not instant.</strong> The lease is marked <strong>pending deactivation</strong>:</p>\n<ul>\n<li>The device keeps its seat and keeps working until its next check-in.</li>\n<li>At that check-in, the lease is removed, the device is told its licence was deactivated, and the seat is freed.</li>\n<li>If the device never checks in again, the lease expires at <code>expires_at</code> (its lease duration after its last check-in: 7 days by default, never later than the end of the subscription period) and the seat is freed then.</li>\n</ul>\n<p>Only active leases can be deactivated. Otherwise you get the error <code>The lease is not active.</code></p>\n<p>Requires your API key in the <code>Authorization: Bearer &lt;API key&gt;</code> header.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>lease</code></td>\n<td>Yes</td>\n<td>Lease ID (the <code>lease_id</code> from List Booth Devices).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Lease ID.</td>\n</tr>\n<tr>\n<td><code>device_id</code></td>\n<td>Device ID.</td>\n</tr>\n<tr>\n<td><code>subscription_id</code></td>\n<td>Subscription the seat belongs to.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>3</code> (pending deactivation).</td>\n</tr>\n<tr>\n<td><code>status_name</code></td>\n<td><code>pending deactivation</code>.</td>\n</tr>\n<tr>\n<td><code>expires_at</code></td>\n<td>When the lease expires if the device doesn't check in.</td>\n</tr>\n<tr>\n<td><code>revoked_at</code></td>\n<td>When you deactivated it.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","booth-licences","leases","{{lease_id}}","deactivate"],"host":["https://eventkite.app"],"query":[],"variable":[]}},"response":[{"id":"2627687c-7faa-9d3d-634e-2d315bd20cb1","name":"Example: pending deactivation","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer "},{"key":"Accept","value":"application/json"}],"url":"https://eventkite.app/api/booth-licences/leases/{{lease_id}}/deactivate","description":"Deactivates a device's licence lease so its seat can be used by another device.\n\n**Deactivation is not instant.** The lease is marked **pending deactivation**:\n\n- The device keeps its seat and keeps working until its next check-in.\n- At that check-in, the lease is removed, the device is told its licence was deactivated, and the seat is freed.\n- If the device never checks in again, the lease expires at `expires_at` (its lease duration after its last check-in: 7 days by default, never later than the end of the subscription period) and the seat is freed then.\n\nOnly active leases can be deactivated. Otherwise you get the error `The lease is not active.`\n\nRequires your API key in the `Authorization: Bearer <API key>` header.\n\n### Path parameters\n\n| Name | Required | Description |\n|---|---|---|\n| `lease` | Yes | Lease ID (the `lease_id` from List Booth Devices). |\n\n### Response\n\n| Field | Description |\n|---|---|\n| `id` | Lease ID. |\n| `device_id` | Device ID. |\n| `subscription_id` | Subscription the seat belongs to. |\n| `status` | `3` (pending deactivation). |\n| `status_name` | `pending deactivation`. |\n| `expires_at` | When the lease expires if the device doesn't check in. |\n| `revoked_at` | When you deactivated it. |"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"id\": 5021,\n    \"device_id\": 88,\n    \"subscription_id\": 412,\n    \"status\": 3,\n    \"status_name\": \"pending deactivation\",\n    \"expires_at\": \"2026-10-27 09:14:03\",\n    \"revoked_at\": \"2026-10-21 10:30:00\"\n  }\n}"}],"_postman_id":"ce18b193-6c98-3a33-80f7-b048186ff39a"}],"id":"df61e6b8-d727-9c62-b8df-8ba80e7531fb","description":"<p>Manage Breeze Booth (Apple) licence subscriptions for Apple devices (iPhone, iPad, Mac) and see which devices are using your seats. These endpoints match the <strong>Billing -&gt; Booth Licences</strong> page in Breeze Cloud.</p>\n<p>Each subscription has a number of <strong>seats</strong>. When a device is activated, it takes a seat with a <strong>lease</strong>. A lease lasts for the lease duration (in days; 7 by default, adjustable from 1 to 365 on the Booth Licences page) and is renewed every time the device checks in.</p>\n<p>All endpoints use the same base URL and <code>Authorization: Bearer &lt;API key&gt;</code> header as the Breeze Cloud endpoints.</p>\n","_postman_id":"df61e6b8-d727-9c62-b8df-8ba80e7531fb"}],"variable":[{"key":"host","value":"https://eventkite.app"},{"key":"token","value":""}]}