{"info":{"_postman_id":"4cb898fd-91f9-481a-8ac6-7304f31d995f","name":"All Hours API documentation","description":"<html><head></head><body><p>This document provides the official API documentation for the All Hours time tracking and workforce management system. The API enables developers to seamlessly integrate All Hours features into their own applications, allowing for automated time tracking, attendance management, and reporting. Currently our API supports TLS 1.3, with TLS 1.2 as the minimum supported version. All API endpoints and detailed query structures are provided on <a href=\"https://api4.allhours.com/\">https://api4.allhours.com</a></p>\n<h1 id=\"overview\">Overview</h1>\n<h3 id=\"api-response-format\">API Response Format</h3>\n<p>All responses to API requests are returned in JSON format.</p>\n<h3 id=\"request-methods\">Request Methods</h3>\n<p>The HTTP request method (verb) you use defines the action you're performing:</p>\n<ul>\n<li><p><code>GET</code>: Used to retrieve data from All Hours.</p>\n</li>\n<li><p><code>POST</code>: Used to create new records in your All Hours account.</p>\n</li>\n<li><p><code>PUT</code>: Used to update a record in your All Hours account</p>\n</li>\n<li><p><code>DELETE</code>: Used to delete a sprecific record of your choice</p>\n</li>\n</ul>\n<h3 id=\"http-status-codes\">HTTP Status Codes</h3>\n<p>The API will return appropriate HTTP status codes based on the outcome of each request:</p>\n<ul>\n<li><p><code>200 OK</code>: The request was successful.</p>\n</li>\n<li><p><code>4XX Errors</code>: Indicate an issue with the client's request (e.g., bad request, unauthorized access).</p>\n</li>\n<li><p><code>5XX Errors</code>: Indicate a server-side issue on our end.</p>\n</li>\n</ul>\n<h3 id=\"support\">Support</h3>\n<p>For any questions or support, please contact us at <a href=\"https://mailto:support@allhours.com\">support@allhours.com</a>.</p>\n<h1 id=\"authorization\">Authorization</h1>\n<p>This section provides instructions on how to enable application integration through API calls for All Hours. The process involves accessing the settings, creating a new API key, and generating a Client ID and Client Secret for authentication. These credentials allow external tools to interact with the All Hours platform via API. Users can manage or revoke access by deleting API keys.</p>\n<p>You can visit the full detailed description on how to get the correct credentials <a href=\"https://faq.allhours.com/en/articles/8339971-enable-api\">here</a>.</p>\n<hr>\n<h4 id=\"authorization-overview\">Authorization Overview</h4>\n<p>All Hours API requires a valid API key to authenticate requests. To use the API, follow these steps to generate the necessary credentials and incorporate them into your Postman workspace:</p>\n<ol>\n<li><p>Generate API Key:</p>\n<ul>\n<li><p>Log in to All Hours and navigate to Settings &gt; Advanced.</p>\n</li>\n<li><p>Click on Create new API key and provide a name for the key.</p>\n</li>\n<li><p>After creation, you will receive a <code>Client ID</code> and <code>Client Secret</code>.</p>\n</li>\n</ul>\n</li>\n<li><p>Authentication:<br> All Hours uses OAuth2 for authentication. In your API request, the <code>Client ID</code> and <code>Client Secret</code> will be required for authorization.</p>\n</li>\n<li><p>Postman Configuration:</p>\n<ul>\n<li><p>In Postman, go to the <code>Authorization</code> tab for the request.</p>\n</li>\n<li><p>Select <code>OAuth 2.0</code> as the type.</p>\n</li>\n<li><p>Set the <code>Grant Type</code> to <code>Client Credentials</code>.</p>\n</li>\n<li><p>Input the<code>Client ID</code> and <code>Client Secret</code> in the relevant fields.</p>\n</li>\n<li><p>Add the token URL <a href=\"https://login.spica.com/connect/token\">https://login.spica.com/connect/token</a></p>\n</li>\n</ul>\n</li>\n<li><p>Send Requests:<br> Once the OAuth2 token is generated, include it in the header of each API call for authentication.</p>\n</li>\n</ol>\n<p>Ensure that the API key is kept secure. If compromised, delete the key immediately and generate a new one.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Overview","slug":"overview"},{"content":"Authorization","slug":"authorization"}],"owner":"34768727","collectionId":"4cb898fd-91f9-481a-8ac6-7304f31d995f","publishedId":"2sB2qi7HYr","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-06-03T06:16:32.000Z"},"item":[{"name":"Category Definitions","item":[{"name":"Retrieve Category Definitions","id":"8d4a79fc-e3da-453e-a508-c04d1b2fec43","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CategoryDefinitions?searchTerm=Physical presence","description":"<p>This endpoint retrieves a list of category definitions. You can use the optional <code>searchTerm</code> query parameter to filter results based on a specific keyword. This is useful for narrowing down categories and improving search efficiency.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/CategoryDefinitions</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter category definitions.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing category data is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This could happen if the <code>searchTerm</code> parameter contains invalid characters or is improperly formatted.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CategoryDefinitions"],"host":["https://api4.allhours.com"],"query":[{"key":"searchTerm","value":"Physical presence"}],"variable":[]}},"response":[{"id":"6dbd1df1-73a1-484c-ab44-da76b1fd1aa2","name":"Retrieve Category Definitions","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/CategoryDefinitions?searchTerm=Physical presence","host":["https://api4.allhours.com"],"path":["api","v1","CategoryDefinitions"],"query":[{"key":"searchTerm","value":"Physical presence"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Mon, 06 Jan 2025 12:51:19 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"9851ef7a-fd4b-4c60-a9eb-08dcfd85513a\",\n        \"Name\": \"Physical presence\",\n        \"PresenceStatus\": 1,\n        \"PaidTimeStatus\": 1,\n        \"Color\": 8,\n        \"IconId\": \"&#xe924;\",\n        \"Code\": 2\n    }\n]"}],"_postman_id":"8d4a79fc-e3da-453e-a508-c04d1b2fec43"},{"name":"Retrieve Specific Category Definition by ID","id":"3b0b7294-24c9-4065-a0fc-df9782f4fe65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CategoryDefinitions/{{CategoryDefinitionId}}","description":"<p>This endpoint retrieves detailed information about a specific category definition by its unique identifier (<code>id</code>). It is useful for accessing information about a particular category.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/CategoryDefinitions/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique <code>id</code> of the category definition</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> is in a valid <code>UUID</code> format to avoid errors.</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The category definition was successfully retrieved, and a JSON object containing the details is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No category definition was found for the specified id. This may occur if the <code>id</code> is invalid or does not exist.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CategoryDefinitions","{{CategoryDefinitionId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"7bed2905-fb49-43f0-bcdb-70e49a4b2d6e","name":"Retrieve Specific Category Definition by ID","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CategoryDefinitions/{{CategoryDefinitionId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Mon, 06 Jan 2025 14:46:48 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"6518652b-1162-4f19-a9ef-08dcfd85513a\",\n    \"Name\": \"Study leave\",\n    \"PresenceStatus\": 0,\n    \"PaidTimeStatus\": 1,\n    \"Color\": 0,\n    \"IconId\": \"&#xe909;\",\n    \"Code\": 6\n}"}],"_postman_id":"3b0b7294-24c9-4065-a0fc-df9782f4fe65"}],"id":"286c02e0-6227-4898-b86d-a0d4a103e7c9","description":"<p>The Category Definitions endpoint lets you manage categories efficiently using standard HTTP methods. You can retrieve, update, delete, list, and create category definitions. Fetch details of a specific category by ID, update its info, delete it, list all categories, or add new ones.</p>\n<h4 id=\"paid-time-status\">Paid Time Status</h4>\n<p>This status determines whether a category is displayed as <code>paid</code> or <code>unpaid</code> within your program:</p>\n<ul>\n<li><p><code>0</code> = Unpaid category</p>\n</li>\n<li><p><code>1</code> = Paid category</p>\n</li>\n</ul>\n<h4 id=\"presence-status\">Presence Status</h4>\n<p>The Presence Status defines how a user associated with a specific category is displayed to others:</p>\n<ul>\n<li><p><code>0</code> = Absent</p>\n</li>\n<li><p><code>1</code> = Present</p>\n</li>\n<li><p><code>2</code> = Break</p>\n</li>\n<li><p><code>3</code> = Work from Home</p>\n</li>\n<li><p><code>4</code> = In the Field</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/CategoryDefinitions?searchTerm=Physical presence\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available absences.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"0eb69634-b05a-44f0-84fc-29e56b26d4ad","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"3a0a4994-0c8e-4642-8267-6241a4c11c8f","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"286c02e0-6227-4898-b86d-a0d4a103e7c9"},{"name":"Absence Definitions","item":[{"name":"Retrieve Absence Definitions","id":"3f461cd8-f38f-4de3-b756-78e35386529b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AbsenceDefinitions?searchTerm=Study","description":"<p>This endpoint retrieves a list of absence definitions, which may include different types of absences (e.g., <code>Sick Leave</code>, <code>Vacation</code>). You can filter the results using a <code>searchTerm</code> to find specific absence.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/AbsenceDefinitions</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter absence definitions.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The absence definitions were successfully retrieved. The response will contain a JSON array of absence definitions.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to incorrect query parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","AbsenceDefinitions"],"host":["https://api4.allhours.com"],"query":[{"key":"searchTerm","value":"Study"}],"variable":[]}},"response":[{"id":"1bf33e2c-dad6-43bc-99c7-f88aac5bb3d1","name":"Retrieve Absence Definitions","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/AbsenceDefinitions?searchTerm=Study","host":["https://api4.allhours.com"],"path":["api","v1","AbsenceDefinitions"],"query":[{"key":"searchTerm","value":"Study"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 06 Nov 2024 12:24:11 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"4b9c3b84-5ed7-4c71-c393-08dcfd6f8b8c\",\n        \"Name\": \"Study leave\",\n        \"IntegrationId\": 4,\n        \"Code\": 4,\n        \"Type\": 0,\n        \"IsAvailableForAdminsOnly\": false,\n        \"CategoryDefinitionId\": \"6518652b-1162-4f19-a9ef-08dcfd85513a\",\n        \"CategoryDefinitionName\": \"Study leave\",\n        \"Fraction\": 1,\n        \"IconId\": \"&#xe909;\",\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    }\n]"}],"_postman_id":"3f461cd8-f38f-4de3-b756-78e35386529b"},{"name":"Retrieve Specific Absence Definition by ID","id":"712a9017-7278-49c5-adbf-dfe1f4dfb5a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AbsenceDefinitions/{{AbsenceDefinitionId}}","description":"<p>This endpoint retrieves detailed information about a specific absence definition by its unique identifier (<code>id</code>). This is useful for accessing information about a particular type of absence, such as \"Sick Leave\" or \"Vacation\".</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/AbsenceDefinitions/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>Id</code> of the absence definition</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> is in a valid <code>UUID</code> format to avoid errors.</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The absence definition was successfully retrieved, and a JSON object containing the details is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No absence definition found for the specified <code>id</code>. This may occur if the <code>id</code> is invalid or does not exist.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","AbsenceDefinitions","{{AbsenceDefinitionId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"e8d06f62-6a13-47e3-b9f9-c40439e74ddf","name":"Retrieve Specific Absence Definition by ID","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AbsenceDefinitions/{{AbsenceDefinitionId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 05 Nov 2024 12:57:09 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"5c479592-8889-4bf9-c395-08dcfd6f8b8c\",\n    \"Name\": \"Maternity leave\",\n    \"IntegrationId\": 6,\n    \"Code\": 6,\n    \"Type\": 0,\n    \"IsAvailableForAdminsOnly\": false,\n    \"CategoryDefinitionId\": \"a52ae68c-1de7-4880-a9f1-08dcfd85513a\",\n    \"CategoryDefinitionName\": \"Maternity leave\",\n    \"Fraction\": 1,\n    \"IconId\": \"&#xe908;\",\n    \"IsActive\": true,\n    \"RestrictionType\": 0,\n    \"TagId\": null\n}"}],"_postman_id":"712a9017-7278-49c5-adbf-dfe1f4dfb5a5"}],"id":"da7f51a2-fdff-435c-b9e8-90242b2fe7ad","description":"<p>The AbsenceDefinitions endpoint provides a set of API operations for managing and retrieving types of AbsenceDefinitions within the system. These endpoints enable administrators and applications to define, manage, and access various types of absences, such as \"Sick Leave\" or \"Vacation,\" allowing for streamlined absence tracking and categorization within the organization.</p>\n<h4 id=\"absence-definitions-type\">Absence Definitions Type:</h4>\n<ul>\n<li><p><code>0</code> = Whole Day Absence</p>\n</li>\n<li><p><code>1</code> = Half Day Absence starting at the begining of the shift</p>\n</li>\n<li><p><code>2</code> = Half Day Absence ending at the end of the shift</p>\n</li>\n<li><p><code>3</code> = Half Day Absence (start is not defined)</p>\n</li>\n<li><p><code>4</code> = Whole Day Absence with partial option</p>\n</li>\n</ul>\n<h4 id=\"restriction-type\">Restriction Type:</h4>\n<ul>\n<li><p><code>0</code> = No restriction (everybody can use this absence definition)</p>\n</li>\n<li><p><code>1</code> = Admin restriction (only admins have privilege of accessing this absence definition)</p>\n</li>\n<li><p><code>2</code> = Tag restriction (only people with a certain tag can use this absence definition)</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/AbsenceDefinitions?searchTerm=Study\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available absences.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"cf7fe1b5-d891-49dc-9d9a-b162da4cf4a9","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"94285c1b-24ad-4e2b-83fc-71549ffd6840","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"da7f51a2-fdff-435c-b9e8-90242b2fe7ad"},{"name":"Absences","item":[{"name":"Retrieve Absences","id":"51c7315a-a3ef-49cd-a4a4-16d9ba19cf2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Absences?dateFrom=2024-10-06&dateTo=2024-10-08","description":"<p>This endpoint retrieves employee absence records, with options to filter results by date range or <code>serachTerm</code>. By setting a start and/or end date, you can limit the records to a particular period. You can also use a keyword to refine the results based on employee names, absence reasons, or other details. This is ideal for tracking absences, generating reports, or analyzing absence trends in your organization.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/Absences</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Start date for filtering absences (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>End date for filtering absences (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter absences by name.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing absence data is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This may happen if the date format is incorrect or if there is an issue with the parameters provided.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences"],"host":["https://api4.allhours.com"],"query":[{"key":"dateFrom","value":"2024-10-06"},{"key":"dateTo","value":"2024-10-08"}],"variable":[]}},"response":[{"id":"4eb9eb28-e8fe-4980-b067-60f1a143dc2d","name":"Retrieve Absence Records","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Absences?dateFrom=2024-10-06&dateTo=2024-10-08","host":["https://api4.allhours.com"],"path":["api","v1","Absences"],"query":[{"key":"dateFrom","value":"2024-10-06"},{"key":"dateTo","value":"2024-10-08"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 05 Nov 2024 12:31:11 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"7d26debb-a6ed-431a-46c8-08dcf8a0baf1\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"GroupId\": \"95abb5b5-19a7-4023-b9d8-9a728cdd2f4e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-07T00:00:00\",\n        \"AbsenceDefinitionId\": \"227d093d-7b34-4249-c391-08dcfd6f8b8c\",\n        \"AbsenceDefinitionName\": \"Sick leave\",\n        \"InsertedOn\": \"2024-11-05T12:30:52.5574976\",\n        \"ModifiedOn\": \"2024-11-05T12:30:52.5575003+00:00\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": \"WebApplication\",\n        \"Comment\": \"\",\n        \"IsAuthentic\": false,\n        \"IconId\": \"&#xe906;\",\n        \"IconColor\": null,\n        \"IsCalculated\": false,\n        \"Status\": 0,\n        \"ApprovalRequest\": null,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"PartialTimeDuration\": 0,\n        \"IsPartial\": false,\n        \"OverrideHolidayAbsence\": false,\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"AbsenceDefinitionType\": 0\n    }\n]"}],"_postman_id":"51c7315a-a3ef-49cd-a4a4-16d9ba19cf2e"},{"name":"Retrieve Obfuscated Absence Records","id":"371864df-97c8-46b6-8b11-39ab0eb6c210","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Absences/Obfuscated?UserId=eq:{{UserId}}","description":"<p>This endpoint retrieves obfuscated records of employee absences, with certain data fields anonymized or partially hidden. You can filter results by specifying a start and/or end date and use a keyword to narrow down specific terms, such as employee identifiers or absence status, for more targeted results.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/Absences/Obfuscated</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Start date for filtering absences (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>End date for filtering absences (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter absences by name.</td>\n</tr>\n<tr>\n<td><code>UserId</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Unique identifier of the user.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful. Returns obfuscated absence data in JSON format.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to incorrect date formatting or other issues with the query parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences","Obfuscated"],"host":["https://api4.allhours.com"],"query":[{"key":"UserId","value":"eq:{{UserId}}"}],"variable":[]}},"response":[{"id":"dfd4b8de-4820-4169-9dd5-1ca9fb90ecb5","name":"Retrieve Obfuscated Absence Records","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Absences/Obfuscated?UserId=eq:{{UserId}}","host":["https://api4.allhours.com"],"path":["api","v1","Absences","Obfuscated"],"query":[{"key":"UserId","value":"eq:{{UserId}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 05 Nov 2024 12:33:03 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"7d26debb-a6ed-431a-46c8-08dcf8a0baf1\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-07T00:00:00\",\n        \"Status\": 0,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false\n    },\n    {\n        \"Id\": \"72a142ae-8037-4233-5532-08dcfd5a0f8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-14T00:00:00\",\n        \"Status\": 0,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false\n    },\n    {\n        \"Id\": \"078fc594-1d9a-452a-5533-08dcfd5a0f8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-15T00:00:00\",\n        \"Status\": 0,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false\n    },\n    {\n        \"Id\": \"1673b988-7f10-4ca3-5534-08dcfd5a0f8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-16T00:00:00\",\n        \"Status\": 0,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false\n    },\n    {\n        \"Id\": \"a8b67b6d-2e20-43ca-5535-08dcfd5a0f8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-17T00:00:00\",\n        \"Status\": 0,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false\n    },\n    {\n        \"Id\": \"88017c80-cf12-453d-5536-08dcfd5a0f8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-18T00:00:00\",\n        \"Status\": 0,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false\n    }\n]"}],"_postman_id":"371864df-97c8-46b6-8b11-39ab0eb6c210"},{"name":"Retrieve Specific Absence Record by ID","id":"7c4d5cf4-1290-45d5-b16d-3d430f863200","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Absences/{{AbsenceId}}","description":"<p>This endpoint retrieves detailed information about a specific absence record by its unique identifier <code>(id)</code>. It is useful for fetching individual absence details when you have the specific <code>id</code> of the absence record.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/Absences/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>ID</code> of the absence record.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing the absence record details is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - The specified <code>id</code> does not correspond to any existing absence record. This may occur if the <code>id</code> is invalid or the record has been deleted.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences","{{AbsenceId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"3f9d7b93-ae17-47a0-b721-48673ceecd08","name":"Retrieve Specific Absence Record by ID","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Absences/{{AbsenceId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 05 Nov 2024 12:34:44 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"7d26debb-a6ed-431a-46c8-08dcf8a0baf1\",\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"GroupId\": \"95abb5b5-19a7-4023-b9d8-9a728cdd2f4e\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": \"\",\n    \"LastName\": \"Buckswel\",\n    \"Timestamp\": \"2024-10-07T00:00:00\",\n    \"AbsenceDefinitionId\": \"227d093d-7b34-4249-c391-08dcfd6f8b8c\",\n    \"AbsenceDefinitionName\": \"Sick leave\",\n    \"InsertedOn\": \"2024-11-05T12:30:52.5574976\",\n    \"ModifiedOn\": \"2024-11-05T12:30:52.5575003+00:00\",\n    \"Origin\": 2,\n    \"OriginDisplayName\": \"WebApplication\",\n    \"Comment\": \"\",\n    \"IsAuthentic\": false,\n    \"IconId\": \"&#xe906;\",\n    \"IconColor\": null,\n    \"IsCalculated\": false,\n    \"Status\": 0,\n    \"ApprovalRequest\": null,\n    \"PartialTimeFrom\": null,\n    \"PartialTimeTo\": null,\n    \"PartialTimeDuration\": 0,\n    \"IsPartial\": false,\n    \"OverrideHolidayAbsence\": false,\n    \"IsModified\": false,\n    \"ModifiedByUser\": null,\n    \"AbsenceDefinitionType\": 0\n}"}],"_postman_id":"7c4d5cf4-1290-45d5-b16d-3d430f863200"},{"name":"Create a New Absence Record","id":"63f099d2-9c47-4a95-a293-84ef36926c67","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"Timestamp\": \"2024-10-04T15:05:07.987Z\",\r\n  \"AbsenceDefinitionId\": \"{{StudyLeaveId}}\",\r\n  \"Origin\": 0,\r\n  \"Comment\": \"string\",\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null,\r\n  \"IsPartial\": false,\r\n  \"OverrideHolidayAbsence\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Absences","description":"<p>This endpoint allows you to create a new absence record for an employee. You must provide a JSON payload with the necessary details, including the user’s ID, absence type, dates, and additional settings related to the absence.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Absences</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>UserId (string, required)</code>: Unique identifier for the user.</p>\n</li>\n<li><p><code>Timestamp (datetime, required)</code>: The date and time of when the absence will be created.</p>\n</li>\n<li><p><code>AbsenceDefinitionId (string, required)</code>: The unique identifier for the type of absence.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Indicates the source of the request</p>\n</li>\n<li><p><code>OverrideHolidayAbsence (boolean, required)</code>: Indicates if the absence will override holiday or not.</p>\n</li>\n<li><p>If <code>IsPartial</code> is <code>true</code>, then <code>PartialTimeFrom</code> and <code>PartialTimeTo</code> fields are required.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> – The absence record was successfully created. The response will contain a JSON object with the details of the newly created absence.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid. This may occur if required fields are missing or data formats are incorrect.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"d2ee4cb2-d57a-49df-b8b9-25501bce4d23","name":"Create a New Absence Record","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"Timestamp\": \"2024-10-04T15:05:07.987Z\",\r\n  \"AbsenceDefinitionId\": \"{{StudyLeaveId}}\",\r\n  \"Origin\": 0,\r\n  \"Comment\": \"string\",\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null,\r\n  \"IsPartial\": false,\r\n  \"OverrideHolidayAbsence\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Absences"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 05 Nov 2024 12:39:27 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"6bbd5bc5-f850-4b05-9e6a-08dcfd532a32\",\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"GroupId\": \"a6c680f3-a23e-4301-9b86-d26070afacf0\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": \"\",\n    \"LastName\": \"Buckswel\",\n    \"Timestamp\": \"2024-10-04T15:05:07.987Z\",\n    \"AbsenceDefinitionId\": \"4b9c3b84-5ed7-4c71-c393-08dcfd6f8b8c\",\n    \"AbsenceDefinitionName\": \"Study leave\",\n    \"InsertedOn\": \"2024-11-05T12:39:28.4283569+00:00\",\n    \"ModifiedOn\": null,\n    \"Origin\": 0,\n    \"OriginDisplayName\": \"TimeClock\",\n    \"Comment\": \"string\",\n    \"IsAuthentic\": false,\n    \"IconId\": null,\n    \"IconColor\": null,\n    \"IsCalculated\": false,\n    \"Status\": 0,\n    \"ApprovalRequest\": null,\n    \"PartialTimeFrom\": null,\n    \"PartialTimeTo\": null,\n    \"PartialTimeDuration\": 0,\n    \"IsPartial\": false,\n    \"OverrideHolidayAbsence\": false,\n    \"IsModified\": false,\n    \"ModifiedByUser\": null,\n    \"AbsenceDefinitionType\": 0\n}"}],"_postman_id":"63f099d2-9c47-4a95-a293-84ef36926c67"},{"name":"Create Multiple Absence Records (Bulk)","id":"341e204e-e0ea-4d95-9f79-f768ad698476","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"AbsenceDefinitionId\": \"{{BusinessLeaveId}}\",\r\n  \"Origin\": 0,\r\n  \"Comment\": \"string\",\r\n  \"IsAuthentic\": true,\r\n  \"PartialTimeFrom\": \"2024-10-28T09:00:00.000Z\",\r\n  \"PartialTimeTo\": \"2024-10-28T15:00:00.000Z\",\r\n  \"IsPartial\": true,\r\n  \"OverrideHolidayAbsence\": false,\r\n  \"PeriodOptions\": 0,\r\n  \"PeriodFrom\": \"2024-10-28T00:00:00.000Z\",\r\n  \"PeriodTo\": \"2024-10-30T00:00:00.000Z\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Absences/Bulk","description":"<p>This endpoint allows you to create multiple absence records in a single request. It is designed for batch processing, allowing you to submit several absence entries with shared or unique parameters. This is particularly useful for bulk updates or for recording multiple absences at once.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Absences/Bulk</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>UserId (string, required)</code>: Unique identifier for the user.</p>\n</li>\n<li><p><code>AbsenceDefinitionId (string, required)</code>: The unique identifier for the type of absence.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Indicates the source of the request</p>\n</li>\n<li><p><code>PeriodOptions (integer, required)</code> : Specifies the options for the adjustment period.</p>\n</li>\n<li><p><code>PeriodFrom (datetime, required)</code>: Start date of the absence period</p>\n</li>\n<li><p><code>PeriodTo (datetime, required)</code>: End date of the absence period</p>\n</li>\n<li><p><code>OverrideHolidayAbsence (boolean, required)</code>: Indicates if the absence will override holiday or not.</p>\n</li>\n<li><p>If <code>IsPartial</code> is <code>true</code>, then <code>PartialTimeFrom</code> and <code>PartialTimeTo</code> fields are required.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The absence records were successfully created. The response will contain a JSON object confirming the successful creation of the records.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences","Bulk"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"4521426a-12ac-454e-8d76-f90ed15ddbbc","name":"Create Multiple Absence Records (Bulk)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"AbsenceDefinitionId\": \"{{BusinessLeaveId}}\",\r\n  \"Origin\": 0,\r\n  \"Comment\": \"string\",\r\n  \"IsAuthentic\": true,\r\n  \"PartialTimeFrom\": \"2024-10-28T09:00:00.000Z\",\r\n  \"PartialTimeTo\": \"2024-10-28T15:00:00.000Z\",\r\n  \"IsPartial\": true,\r\n  \"OverrideHolidayAbsence\": false,\r\n  \"PeriodOptions\": 0,\r\n  \"PeriodFrom\": \"2024-10-28T00:00:00.000Z\",\r\n  \"PeriodTo\": \"2024-10-30T00:00:00.000Z\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Absences/Bulk"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Mon, 13 Jan 2025 11:51:40 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"ba37072c-da53-4f4f-3dee-08dd256acd78\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"GroupId\": \"b6825579-51ca-43dc-859b-aa04aea2d320\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-30T00:00:00\",\n        \"AbsenceDefinitionId\": \"f9b41e03-0864-4db5-c392-08dcfd6f8b8c\",\n        \"AbsenceDefinitionName\": \"Business leave\",\n        \"InsertedOn\": \"2025-01-13T11:51:41.0917614+00:00\",\n        \"ModifiedOn\": \"2025-01-13T11:51:41.0917634+00:00\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": \"TimeClock\",\n        \"Comment\": \"string\",\n        \"IsAuthentic\": true,\n        \"IconId\": null,\n        \"IconColor\": null,\n        \"IsCalculated\": false,\n        \"Status\": 0,\n        \"ApprovalRequest\": null,\n        \"PartialTimeFrom\": \"2024-10-30T09:00:00+00:00\",\n        \"PartialTimeTo\": \"2024-10-30T15:00:00+00:00\",\n        \"PartialTimeDuration\": 360,\n        \"IsPartial\": true,\n        \"OverrideHolidayAbsence\": false,\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"AbsenceDefinitionType\": 0\n    },\n    {\n        \"Id\": \"82548b3d-5027-4719-3def-08dd256acd78\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"GroupId\": \"b6825579-51ca-43dc-859b-aa04aea2d320\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-29T00:00:00\",\n        \"AbsenceDefinitionId\": \"f9b41e03-0864-4db5-c392-08dcfd6f8b8c\",\n        \"AbsenceDefinitionName\": \"Business leave\",\n        \"InsertedOn\": \"2025-01-13T11:51:41.0917748+00:00\",\n        \"ModifiedOn\": \"2025-01-13T11:51:41.0917748+00:00\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": \"TimeClock\",\n        \"Comment\": \"string\",\n        \"IsAuthentic\": true,\n        \"IconId\": null,\n        \"IconColor\": null,\n        \"IsCalculated\": false,\n        \"Status\": 0,\n        \"ApprovalRequest\": null,\n        \"PartialTimeFrom\": \"2024-10-29T09:00:00+00:00\",\n        \"PartialTimeTo\": \"2024-10-29T15:00:00+00:00\",\n        \"PartialTimeDuration\": 360,\n        \"IsPartial\": true,\n        \"OverrideHolidayAbsence\": false,\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"AbsenceDefinitionType\": 0\n    },\n    {\n        \"Id\": \"9e99ec5a-d849-41b5-3df0-08dd256acd78\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"GroupId\": \"b6825579-51ca-43dc-859b-aa04aea2d320\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Timestamp\": \"2024-10-28T00:00:00\",\n        \"AbsenceDefinitionId\": \"f9b41e03-0864-4db5-c392-08dcfd6f8b8c\",\n        \"AbsenceDefinitionName\": \"Business leave\",\n        \"InsertedOn\": \"2025-01-13T11:51:41.0917758+00:00\",\n        \"ModifiedOn\": \"2025-01-13T11:51:41.0917759+00:00\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": \"TimeClock\",\n        \"Comment\": \"string\",\n        \"IsAuthentic\": true,\n        \"IconId\": null,\n        \"IconColor\": null,\n        \"IsCalculated\": false,\n        \"Status\": 0,\n        \"ApprovalRequest\": null,\n        \"PartialTimeFrom\": \"2024-10-28T09:00:00+00:00\",\n        \"PartialTimeTo\": \"2024-10-28T15:00:00+00:00\",\n        \"PartialTimeDuration\": 360,\n        \"IsPartial\": true,\n        \"OverrideHolidayAbsence\": false,\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"AbsenceDefinitionType\": 0\n    }\n]"}],"_postman_id":"341e204e-e0ea-4d95-9f79-f768ad698476"},{"name":"Update an Existing Absence Record by ID","id":"922a12ef-7fa3-4ee3-ae2b-cb836b353f9d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{AbsenceId}}\",\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"Timestamp\": \"{{UpdatedTimestamp}}\",\r\n  \"AbsenceDefinitionId\": \"{{WorkFromHomeId}}\",\r\n  \"Origin\": 0,\r\n  \"Comment\": \"string\",\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null,\r\n  \"PartialTimeDuration\": 0,\r\n  \"IsPartial\": false,\r\n  \"OverrideHolidayAbsence\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Absences/{{AbsenceId}}","description":"<p>This endpoint allows you to update an existing absence record specified by its unique <code>id</code>. You need to provide a JSON payload containing the updated details for the absence record. This is useful for modifying the absence information, such as changing dates, adding comments, or adjusting partial absence times.</p>\n<p><strong>Endpoint:</strong> <code>/api/v1/Absences/{id}</code></p>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>ID</code> of the absence to be updated.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>Id</code>in the path should be the same as <code>Id</code> in the request body</li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>Id (string, required)</code> The unique identifier for the absence record being updated</p>\n</li>\n<li><p><code>UserId (string, required)</code> The unique identifier for the user associated with this absence record.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Indicates the source of the request</p>\n</li>\n<li><p><code>Timestamp (datetime, required)</code> The timestamp when the absence record is updated</p>\n</li>\n<li><p><code>AbsenceDefinitionId (string, required)</code> The unique identifier for the type of absence (e.g., <code>Sick Leave</code>, <code>Vacation</code>...).</p>\n</li>\n<li><p><code>OverrideHolidayAbsence (boolean, required)</code>: Indicates if the absence will override holiday or not.</p>\n</li>\n<li><p>If <code>IsPartial</code> is <code>true</code>, then <code>PartialTimeFrom</code> and <code>PartialTimeTo</code> fields are required.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The absence record was successfully updated. The response will contain a JSON object confirming the successful update.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences","{{AbsenceId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"bf163f26-5a3a-4864-8a2a-43e12b5345d4","name":"Update an Existing Absence Record by ID","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{AbsenceId}}\",\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"Timestamp\": \"{{UpdatedTimestamp}}\",\r\n  \"AbsenceDefinitionId\": \"{{WorkFromHomeId}}\",\r\n  \"Origin\": 0,\r\n  \"Comment\": \"string\",\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null,\r\n  \"PartialTimeDuration\": 0,\r\n  \"IsPartial\": false,\r\n  \"OverrideHolidayAbsence\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Absences/{{AbsenceId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 05 Nov 2024 12:44:34 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"6bbd5bc5-f850-4b05-9e6a-08dcfd532a32\",\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"GroupId\": \"6bbd5bc5-f850-4b05-9e6a-08dcfd532a32\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": \"\",\n    \"LastName\": \"Buckswel\",\n    \"Timestamp\": \"2024-10-11T00:00:00\",\n    \"AbsenceDefinitionId\": \"d0f826a7-4e98-4c3e-fec7-08dcfd93a027\",\n    \"AbsenceDefinitionName\": \"Study leave\",\n    \"InsertedOn\": \"2024-11-05T12:39:28.4283569\",\n    \"ModifiedOn\": \"2024-11-05T12:44:35.3442952+00:00\",\n    \"Origin\": 0,\n    \"OriginDisplayName\": \"TimeClock\",\n    \"Comment\": \"string\",\n    \"IsAuthentic\": false,\n    \"IconId\": null,\n    \"IconColor\": null,\n    \"IsCalculated\": false,\n    \"Status\": 0,\n    \"ApprovalRequest\": null,\n    \"PartialTimeFrom\": null,\n    \"PartialTimeTo\": null,\n    \"PartialTimeDuration\": 0,\n    \"IsPartial\": false,\n    \"OverrideHolidayAbsence\": false,\n    \"IsModified\": true,\n    \"ModifiedByUser\": null,\n    \"AbsenceDefinitionType\": 0\n}"}],"_postman_id":"922a12ef-7fa3-4ee3-ae2b-cb836b353f9d"},{"name":"Delete an Absence Record by ID","id":"a02be387-33ed-4b91-b9c5-7222f240e8d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Absences/{{AbsenceId}}?eventDeleteMode=0","description":"<p>This endpoint allows you to delete an absence record specified by its unique <code>id</code>. Optionally, an <code>eventDeleteMode</code> can be provided to determine how the deletion should be handled. This is useful for removing individual absence entries that are no longer valid or were created by mistake.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Absences/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>ID</code> of the absence record to be deleted</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> provided is valid to avoid accidental deletions.</li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>eventDeleteMode</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Optional parameter that determines the mode of deletion. The default value is <code>0</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><p><code>0</code>= Delete all events with the same request</p>\n</li>\n<li><p><code>1</code> = Delete only one event</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The absence definition was successfully deleted.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to an incorrect <code>id</code> or invalid <code>eventDeleteMode</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Absences","{{AbsenceId}}"],"host":["https://api4.allhours.com"],"query":[{"key":"eventDeleteMode","value":"0"}],"variable":[]}},"response":[{"id":"8b8f0785-2bf7-4484-ac86-3e0048eb5cca","name":"Delete an Absence Record by ID","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Absences/{{AbsenceId}}?eventDeleteMode=0","host":["https://api4.allhours.com"],"path":["api","v1","Absences","{{AbsenceId}}"],"query":[{"key":"eventDeleteMode","value":"0"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Tue, 05 Nov 2024 12:48:48 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a02be387-33ed-4b91-b9c5-7222f240e8d1"}],"id":"6997a3e0-c71e-4608-9933-78b19175f5e6","description":"<p>The Absences endpoint in the All Hours API allows users to efficiently manage employee absences. This endpoint supports retrieving, creating, updating, and deleting absence records. Key features include accessing a comprehensive list of absences, filtering records by parameters such as employee ID, date range, or absence type, and submitting new absence entries for approval or review.</p>\n<h4 id=\"period-options\">Period options</h4>\n<p>This parameter tells you on which days will a certain record be inserted on usually matters when you are doing bulk updates:</p>\n<ul>\n<li><p><code>0</code> = On days where there is shift plan</p>\n</li>\n<li><p><code>1</code> = On all days</p>\n</li>\n<li><p><code>2</code> = Only workdays (usually from monday to friday)</p>\n</li>\n</ul>\n<h4 id=\"absence-status-codes\">Absence status codes:</h4>\n<ul>\n<li><p><code>0</code> = Automatically approved absence (without any notification about being it approved)</p>\n</li>\n<li><p><code>1</code> = Pending absence (awaiting approval or rejection).</p>\n</li>\n<li><p><code>2</code> = Approved absence</p>\n</li>\n<li><p><code>3</code> = Rejected absence</p>\n</li>\n<li><p><code>4</code> = Automatically approved absence (a notification for absence being approved is sent)</p>\n</li>\n</ul>\n<h4 id=\"note-on-timestamp-format\">Note on Timestamp Format:</h4>\n<p>The timestamp format <code>\"2024-10-25T15:05:07.987Z\"</code> represents October 25, 2024, at 15:05 (3:05 PM), including 7.987 seconds. The \"Z\" at the end indicates UTC (Coordinated Universal Time), a global standard time zone to avoid discrepancies with local times.</p>\n<h4 id=\"origin-parameter-details\">Origin Parameter Details</h4>\n<p>The Origin parameter indicates the source of the request. Here are some of the possible values:</p>\n<ul>\n<li><p><code>0</code> = TimeClock</p>\n</li>\n<li><p><code>2</code> = WebApplication</p>\n</li>\n<li><p><code>3</code> = AutoGenerated</p>\n</li>\n<li><p><code>4</code> = WebClock</p>\n</li>\n<li><p><code>5</code> = ApprovalWorkflow</p>\n</li>\n<li><p><code>7</code> = Time API</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/Absences?searchTerm=Makswell\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available absences.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"2a4d67d3-390d-482c-86fb-8a2e7678ff8d","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"18bf90b5-d175-41fd-a431-721491b33769","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"6997a3e0-c71e-4608-9933-78b19175f5e6"},{"name":"Approval Requests","item":[{"name":"Retrive Approval Requests","id":"1cd2ddc2-2361-4821-bd43-095cb72a9d50","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ApprovalRequests?dateFrom=2025-01-15&dateTo=2025-04-01&eventDefinitionType=1","description":"<p>This endpoint retrieves a list of approval requests based on various filtering options, such as date range, user ID, event definitions, and request status.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ApprovalRequests</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The start date for filtering approval requests.</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The end date for filtering approval requests.</td>\n</tr>\n<tr>\n<td><code>requestStatus</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>The status of the approval request.</td>\n</tr>\n<tr>\n<td><code>eventDefinitionType</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>The type of event definition (default: <code>0</code>).</td>\n</tr>\n<tr>\n<td><code>userRestrictionType</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>The type of user restriction (default: <code>0</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The approval requests were successfully retrieved. The response is in JSON format.</p>\n</li>\n<li><p><code>404 Not Found</code> - The requested resource could not be found.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ApprovalRequests"],"host":["https://api4.allhours.com"],"query":[{"key":"dateFrom","value":"2025-01-15"},{"key":"dateTo","value":"2025-04-01"},{"key":"eventDefinitionType","value":"1"}],"variable":[]}},"response":[{"id":"1ed5d63e-30b0-4076-93f9-6710bd7a3872","name":"Approval Requests","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/ApprovalRequests?dateFrom=2025-01-15&dateTo=2025-04-01&eventDefinitionType=1","host":["https://api4.allhours.com"],"path":["api","v1","ApprovalRequests"],"query":[{"key":"dateFrom","value":"2025-01-15"},{"key":"dateTo","value":"2025-04-01"},{"key":"eventDefinitionType","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Mon, 03 Mar 2025 12:05:32 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"00e1a209-d3e5-443a-67c0-08dd35e2df8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Buckswel Makswell\",\n        \"FirstName\": \"Makswell\",\n        \"LastName\": \"Buckswel\",\n        \"PeriodStart\": \"2025-01-16T07:00:00\",\n        \"PeriodEnd\": \"2025-01-16T07:00:00\",\n        \"Status\": 4,\n        \"StatusSetByUserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"StatusSetByUser\": \"Andraž Furlan\",\n        \"EventDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"EventDefinitionName\": \"Arrival\",\n        \"EventDefinitionCode\": 0,\n        \"EventDefinitionType\": 1,\n        \"AdditionalData\": {\n            \"IntegerValue\": null,\n            \"TimeValue\": \"2025-01-16T07:00:00.0000000+00:00\",\n            \"AppliersComment\": \"\",\n            \"ApproversComment\": null\n        },\n        \"IsPartial\": false,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"CreatedOn\": \"2025-01-16T12:10:16.2861759+00:00\",\n        \"ModifiedOn\": \"2025-01-16T12:10:16.2861759+00:00\",\n        \"IconId\": null,\n        \"UserPictureUri\": null,\n        \"PeriodOptions\": 0,\n        \"CurrentApproverNames\": null\n    },\n    {\n        \"Id\": \"c9757d0d-15cb-40fb-67c3-08dd35e2df8b\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Buckswel Makswell\",\n        \"FirstName\": \"Makswell\",\n        \"LastName\": \"Buckswel\",\n        \"PeriodStart\": \"2025-01-17T07:00:00\",\n        \"PeriodEnd\": \"2025-01-17T07:00:00\",\n        \"Status\": 4,\n        \"StatusSetByUserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"StatusSetByUser\": \"Andraž Furlan\",\n        \"EventDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"EventDefinitionName\": \"Arrival\",\n        \"EventDefinitionCode\": 0,\n        \"EventDefinitionType\": 1,\n        \"AdditionalData\": {\n            \"IntegerValue\": null,\n            \"TimeValue\": \"2025-01-17T07:00:00.0000000+00:00\",\n            \"AppliersComment\": \"\",\n            \"ApproversComment\": null\n        },\n        \"IsPartial\": false,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"CreatedOn\": \"2025-01-16T12:19:12.152008+00:00\",\n        \"ModifiedOn\": \"2025-01-16T12:19:12.152008+00:00\",\n        \"IconId\": null,\n        \"UserPictureUri\": null,\n        \"PeriodOptions\": 0,\n        \"CurrentApproverNames\": null\n    },\n    {\n        \"Id\": \"ed7dcd17-4cb6-49f5-c3b3-08dd390dbfcd\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Buckswel Makswell\",\n        \"FirstName\": \"Makswell\",\n        \"LastName\": \"Buckswel\",\n        \"PeriodStart\": \"2025-01-21T07:00:00\",\n        \"PeriodEnd\": \"2025-01-21T07:00:00\",\n        \"Status\": 4,\n        \"StatusSetByUserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"StatusSetByUser\": \"Andraž Furlan\",\n        \"EventDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"EventDefinitionName\": \"Arrival\",\n        \"EventDefinitionCode\": 0,\n        \"EventDefinitionType\": 1,\n        \"AdditionalData\": {\n            \"IntegerValue\": null,\n            \"TimeValue\": \"2025-01-21T07:00:00.0000000+00:00\",\n            \"AppliersComment\": \"\",\n            \"ApproversComment\": null\n        },\n        \"IsPartial\": false,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"CreatedOn\": \"2025-01-20T09:29:17.8978123+00:00\",\n        \"ModifiedOn\": \"2025-01-20T09:29:17.8978123+00:00\",\n        \"IconId\": null,\n        \"UserPictureUri\": null,\n        \"PeriodOptions\": 0,\n        \"CurrentApproverNames\": null\n    },\n    {\n        \"Id\": \"bb37a1b7-165e-4efb-a8f0-08dd5a23212d\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Buckswel Makswell\",\n        \"FirstName\": \"Makswell\",\n        \"LastName\": \"Buckswel\",\n        \"PeriodStart\": \"2025-03-04T07:00:00\",\n        \"PeriodEnd\": \"2025-03-04T07:00:00\",\n        \"Status\": 2,\n        \"StatusSetByUserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"StatusSetByUser\": \"Andraž Furlan\",\n        \"EventDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"EventDefinitionName\": \"Arrival\",\n        \"EventDefinitionCode\": 0,\n        \"EventDefinitionType\": 1,\n        \"AdditionalData\": {\n            \"IntegerValue\": null,\n            \"TimeValue\": \"2025-03-04T07:00:00.0000000+00:00\",\n            \"AppliersComment\": \"TEST\\n\",\n            \"ApproversComment\": null\n        },\n        \"IsPartial\": false,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"CreatedOn\": \"2025-03-03T09:12:56.9866118+00:00\",\n        \"ModifiedOn\": \"2025-03-03T09:13:39.2150518+00:00\",\n        \"IconId\": null,\n        \"UserPictureUri\": null,\n        \"PeriodOptions\": 0,\n        \"CurrentApproverNames\": null\n    }\n]"}],"_postman_id":"1cd2ddc2-2361-4821-bd43-095cb72a9d50"},{"name":"Delete Approval Request","id":"b508d60f-7f81-4f7e-8a61-a94d8489982b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ApprovalRequests/{{Approvalld}}","description":"<p>This endpoint allows you to delete an approval request specified by its unique ID. Use this endpoint to remove an approval request that is no longer required or was created in error.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ApprovalRequests/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>id</code> of the approval request to be deleted.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> provided is valid to avoid errors.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The approval request was successfully deleted.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to an incorrect ID or missing required parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ApprovalRequests","{{Approvalld}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"af0690f8-386a-40f3-8242-038ba5d26472","name":"Delete Approval Request","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ApprovalRequests/{{Approvalld}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Wed, 05 Mar 2025 10:55:39 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b508d60f-7f81-4f7e-8a61-a94d8489982b"}],"id":"a8c8bcee-00f6-4ccf-9ce7-475e8d74026b","description":"<p>The <code>/api/v1/ApprovalRequests</code> endpoint allows users to manage approval requests within the system. It provides functionality to retrieve and delete approval requests. Users can fetch individual approval requests based on date and other query parameters.</p>\n<h4 id=\"period-options\">Period options</h4>\n<p>This parameter tells you on which days will a certain record be inserted on usually matters when you are doing bulk updates:</p>\n<ul>\n<li><p><code>0</code> = On days where there is shift plan</p>\n</li>\n<li><p><code>1</code> = On all days</p>\n</li>\n<li><p><code>2</code> = Only workdays (usually from monday to friday)</p>\n</li>\n</ul>\n<h4 id=\"event-definition-type\">Event Definition Type:</h4>\n<ul>\n<li><p><code>0</code> = All events</p>\n</li>\n<li><p><code>1</code> = Clockings</p>\n</li>\n<li><p><code>2</code> = Absences</p>\n</li>\n<li><p><code>3</code> = Interventions</p>\n</li>\n<li><p><code>5</code> = Corrections</p>\n</li>\n</ul>\n<h4 id=\"approval-request-status-codes\">Approval request status codes:</h4>\n<ul>\n<li><p><code>1</code> = Pending approval request (awaiting approval or rejection).</p>\n</li>\n<li><p><code>2</code> = Approved approval request</p>\n</li>\n<li><p><code>3</code> = Rejected approval request</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"49f27013-fbe1-4624-82ae-816187314db6","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"dc3c5269-063a-494e-84d8-bb5d2c113b84","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"a8c8bcee-00f6-4ccf-9ce7-475e8d74026b"},{"name":"Adjustment Definitions","item":[{"name":"Retrieve Adjustment Definitions","id":"64d4d846-24d1-4045-8224-d19148e9179c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AdjustmentDefinitions?searchTerm=vacation","description":"<p>This endpoint retrieves a list of adjustment definitions. You can use the optional <code>searchTerm</code> query parameter to filter results based on a specific keyword. This is useful for narrowing down adjustments and improving search efficiency.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/AdjustmentDefinitions</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter adjustment definitions.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing adjustment data was returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This could happen if the <code>searchTerm</code> parameter contains invalid characters or is improperly formatted.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","AdjustmentDefinitions"],"host":["https://api4.allhours.com"],"query":[{"key":"searchTerm","value":"vacation"}],"variable":[]}},"response":[{"id":"f56470cd-19e1-4094-9838-c6a5fef54724","name":"Retrieve Adjustment Definitions","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/AdjustmentDefinitions?searchTerm=vacation","host":["https://api4.allhours.com"],"path":["api","v1","AdjustmentDefinitions"],"query":[{"key":"searchTerm","value":"vacation"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sat, 11 Jan 2025 15:59:29 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"b170ad9b-6f0d-4165-f1e7-08dcfd85515a\",\n        \"Name\": \"Last year vacation entry\",\n        \"Type\": 2,\n        \"Code\": 4,\n        \"CalculationResultTypeId\": \"b705bc51-93f2-4da6-e98f-08dcfd855147\",\n        \"CalculationResultTypeName\": \"Last year vacation balance\",\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAvailableForAdminsOnly\": true,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"2a2b1dd1-7f18-4fe0-f1ed-08dcfd85515a\",\n        \"Name\": \"Override balance of old vacation days\",\n        \"Type\": 3,\n        \"Code\": 11,\n        \"CalculationResultTypeId\": \"b705bc51-93f2-4da6-e98f-08dcfd855147\",\n        \"CalculationResultTypeName\": \"Last year vacation balance\",\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAvailableForAdminsOnly\": true,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"90a558be-3db2-497b-f1ec-08dcfd85515a\",\n        \"Name\": \"Override balance of vacation days\",\n        \"Type\": 3,\n        \"Code\": 10,\n        \"CalculationResultTypeId\": \"443a157c-26d2-45cc-e98e-08dcfd855147\",\n        \"CalculationResultTypeName\": \"Vacation balance\",\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAvailableForAdminsOnly\": true,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"bddc21a3-a17b-410f-f1e6-08dcfd85515a\",\n        \"Name\": \"Vacation entry\",\n        \"Type\": 2,\n        \"Code\": 3,\n        \"CalculationResultTypeId\": \"443a157c-26d2-45cc-e98e-08dcfd855147\",\n        \"CalculationResultTypeName\": \"Vacation balance\",\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAvailableForAdminsOnly\": true,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    }\n]"}],"_postman_id":"64d4d846-24d1-4045-8224-d19148e9179c"},{"name":"Retrieve Specific Adjustment Definition by ID","id":"991a929f-bdca-4e39-92b8-949da7efc3e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AdjustmentDefinitions/{{AdjustmentDefinition}}","description":"<p>This endpoint retrieves detailed information about a specific adjustment definition by its unique identifier (<code>id</code>). This is useful for accessing information about a particular adjustment, such as \"Vacation entry\" or \"Balance correction.\"</p>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>ID</code> of the adjustment definition.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> is in a valid <code>UUID</code> format to avoid errors.</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The adjustment definition was successfully retrieved, and a JSON object containing the details is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No adjustment definition found for the specified <code>id</code>. This may occur if the <code>id</code> is invalid or does not exist.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","AdjustmentDefinitions","{{AdjustmentDefinition}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"2d13f1b5-a217-47c8-ae24-fd93984310a4","name":"Retrieve Specific Adjustment Definition by ID","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AdjustmentDefinitions/{{AdjustmentDefinition}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sat, 11 Jan 2025 16:07:58 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"835e645c-bbe0-4a42-f1eb-08dcfd85515a\",\n    \"Name\": \"Override balance of hours\",\n    \"Type\": 3,\n    \"Code\": 9,\n    \"CalculationResultTypeId\": \"a088ad4b-08d4-4a4a-e98b-08dcfd855147\",\n    \"CalculationResultTypeName\": \"Running balance\",\n    \"CalculationResultTypeValueType\": 1,\n    \"IsAvailableForAdminsOnly\": true,\n    \"IsActive\": true,\n    \"RestrictionType\": 0,\n    \"TagId\": null\n}"}],"_postman_id":"991a929f-bdca-4e39-92b8-949da7efc3e6"}],"id":"d4ebca82-9152-4a37-afd6-bd65eb97a569","description":"<p>The Adjustment Definitions endpoint lets you manage adjustments effectively using standard HTTP methods. You can retrieve, update, delete, list, and create adjustment definitions. Access details of a specific adjustment by ID, update its information, remove it, list all adjustments, or create new ones.</p>\n<h4 id=\"type\">Type:</h4>\n<ul>\n<li><p><code>1</code> = System Adjustment (Means that Type of the adjustment can't be changed)</p>\n</li>\n<li><p><code>2</code> = Correction of Calculation Result</p>\n</li>\n<li><p><code>3</code> = Overwrite the Calculation Result</p>\n</li>\n</ul>\n<h4 id=\"restriction-type\">Restriction Type:</h4>\n<ul>\n<li><p><code>0</code> = No restriction (everybody can use this adjustment definition)</p>\n</li>\n<li><p><code>1</code> = Admin restriction (only admins have privilege of accessing this adjustment definition)</p>\n</li>\n<li><p><code>2</code> = Tag restriction (only people with a certain tag can use this adjustment definition)</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/AdjustmentDefinitions?searchTerm=Overtime entry\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available adjustment definitions.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"e5a0d4b8-0245-4978-bd26-8b408961d2a7","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"936cb6ef-a9b1-452b-9c1f-fbf8cf5e4ff5","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"d4ebca82-9152-4a37-afd6-bd65eb97a569"},{"name":"Adjustments","item":[{"name":"Retrieve Adjustments","id":"6fb4ccd8-e1be-462c-a0aa-54246f1f8c1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Adjustments?searchTerm=Makswell&dateFrom=2025-01-01","description":"<p>This endpoint retrieves a list of adjustments, with options to filter results by date range or a search term. By setting a start and/or end date, you can narrow down the adjustments to a specific period. Additionally, a search term can be used to refine the results based on specific adjustment details.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Adjustments</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>The start date for filtering adjustments (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>The end date for filtering adjustments (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter adjustments by name or details.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The adjustments were successfully retrieved, and a JSON response containing the adjustment data is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This may happen if the date format is incorrect or there is an issue with the query parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Adjustments"],"host":["https://api4.allhours.com"],"query":[{"key":"searchTerm","value":"Makswell"},{"key":"dateFrom","value":"2025-01-01"}],"variable":[]}},"response":[{"id":"82bce19e-c475-4f4f-8987-157f77104125","name":"Retrieve Adjustments","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Adjustments?searchTerm=Makswell&dateFrom=2025-01-01","host":["https://api4.allhours.com"],"path":["api","v1","Adjustments"],"query":[{"key":"searchTerm","value":"Makswell"},{"key":"dateFrom","value":"2025-01-01"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sun, 12 Jan 2025 13:05:10 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"0780b12e-d621-42df-56bc-08dd23540d03\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 0,\n        \"Timestamp\": \"2025-01-01T00:00:00\",\n        \"AdjustmentDefinitionId\": \"2a2b1dd1-7f18-4fe0-f1ed-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Override balance of old vacation days\",\n        \"AdjustmentDefinitionCode\": 11,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-12T12:39:40.4008432\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"aab9eab6-1a44-4c49-a200-55b72b8005be\"\n    },\n    {\n        \"Id\": \"1f2e87b1-c9e0-479b-6f99-08dd2358bfb9\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 15,\n        \"Timestamp\": \"2025-01-01T00:00:00\",\n        \"AdjustmentDefinitionId\": \"90a558be-3db2-497b-f1ec-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Override balance of vacation days\",\n        \"AdjustmentDefinitionCode\": 10,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-12T12:39:24.6106244\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"fcefc7ce-9ac0-4262-8601-b9ff3d3e126f\"\n    },\n    {\n        \"Id\": \"b6f96d6c-8580-439d-e7e3-08dd25927ebb\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 300,\n        \"Timestamp\": \"2025-01-06T00:00:00\",\n        \"AdjustmentDefinitionId\": \"26635b89-2453-43c6-f1e4-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Hours entry\",\n        \"AdjustmentDefinitionCode\": 1,\n        \"CalculationResultTypeValueType\": 1,\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Status\": 2,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-12T12:50:30.0308719\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": null,\n        \"PartialTimeTo\": null,\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"1518b490-c2fa-4191-b8be-52a11cfdc795\"\n    }\n]"}],"_postman_id":"6fb4ccd8-e1be-462c-a0aa-54246f1f8c1c"},{"name":"Retrieve Specific Adjustment by ID","id":"7ca0ad48-1fab-41ce-b916-0bd2ba4b535e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Adjustments/{{AdjustmentId}}","description":"<p>This endpoint retrieves detailed information about a specific adjustment by its unique identifier (<code>id</code>). Use this endpoint to access information about a particular adjustment, such as its name, type, or other associated details.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Adjustments/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique <code>id</code> of the adjustment to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> provided is valid to avoid errors.</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The adjustment was successfully retrieved, and a JSON object containing the adjustment details is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No adjustment was found for the specified id. This may occur if the id is invalid or does not exist.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Adjustments","{{AdjustmentId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"db228b54-5299-4c1d-b573-f21d13c38069","name":"Retrieve Specific Adjustment by ID","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Adjustments/{{AdjustmentId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sun, 12 Jan 2025 13:12:08 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"af4487b6-b5d7-447c-4f4a-08dd23540d03\",\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": \"\",\n    \"LastName\": \"Buckswel\",\n    \"Value\": 20,\n    \"Timestamp\": \"2024-11-01T00:00:00\",\n    \"AdjustmentDefinitionId\": \"bddc21a3-a17b-410f-f1e6-08dcfd85515a\",\n    \"AdjustmentDefinitionName\": \"Vacation entry\",\n    \"AdjustmentDefinitionCode\": 3,\n    \"CalculationResultTypeValueType\": 0,\n    \"IsAuthentic\": false,\n    \"Comment\": \"\",\n    \"Status\": 0,\n    \"Origin\": 2,\n    \"InsertedOn\": \"2024-12-27T07:11:21.322742\",\n    \"IconId\": null,\n    \"PartialTimeFrom\": null,\n    \"PartialTimeTo\": null,\n    \"IsPartial\": false,\n    \"PartialTimeDuration\": null,\n    \"ApprovalRequest\": null,\n    \"GroupId\": \"e79b4fcb-fd5d-4433-a2df-7d37c1d188f2\"\n}"}],"_postman_id":"7ca0ad48-1fab-41ce-b916-0bd2ba4b535e"},{"name":"Create a New Adjustment Record","id":"65659f83-4adf-4df2-87eb-dd5574b50086","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"AdjustmentDefinitionId\": \"{{AdjustmentDefinitionId}}\",\r\n  \"Value\": 2400,\r\n  \"Timestamp\": \"2025-01-06T12:00:00.000Z\",\r\n  \"Comment\": \"Correction of hours\",\r\n  \"Status\": 2,\r\n  \"Origin\": 7,\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Adjustments","description":"<p>This endpoint allows you to create a new adjustment record for a user. You must provide a JSON payload with all necessary details, including the user ID, adjustment definition ID, and other properties related to the adjustment.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Adjustments</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>UserId (string, required)</code>: The unique <code>id</code> of the user for whom the adjustment record is created.</p>\n</li>\n<li><p><code>AdjustmentDefinitionId (string, required)</code> :The unique <code>id</code> of the adjustment definition.</p>\n</li>\n<li><p><code>Value (number, required)</code> : The value of the adjustment.</p>\n</li>\n<li><p><code>Timestamp (datetime, required)</code>: The date and time of when the adjustment will be created.</p>\n</li>\n<li><p><code>Status (integer, required)</code>: The status of the adjustment.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Indicates the source of the request</p>\n</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>201 Created</code> - The adjustment was successfully created, and the response includes the details of the new adjustment.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Adjustments"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"14921130-8cc2-4438-8a45-4fbbe0c7ed26","name":"Create a New Adjustment Record","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"AdjustmentDefinitionId\": \"{{AdjustmentDefinitionId}}\",\r\n  \"Value\": 2400,\r\n  \"Timestamp\": \"2025-01-06T12:00:00.000Z\",\r\n  \"Comment\": \"Correction of hours\",\r\n  \"Status\": 2,\r\n  \"Origin\": 7,\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Adjustments"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 12 Jan 2025 13:36:16 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"f91c3675-a815-4cef-6f9a-08dd2358bfb9\",\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": \"\",\n    \"LastName\": \"Buckswel\",\n    \"Value\": 2400,\n    \"Timestamp\": \"2025-01-06T12:00:00Z\",\n    \"AdjustmentDefinitionId\": \"835e645c-bbe0-4a42-f1eb-08dcfd85515a\",\n    \"AdjustmentDefinitionName\": \"Override balance of hours\",\n    \"AdjustmentDefinitionCode\": 0,\n    \"CalculationResultTypeValueType\": 0,\n    \"IsAuthentic\": false,\n    \"Comment\": \"Correction of hours\",\n    \"Status\": 2,\n    \"Origin\": 7,\n    \"InsertedOn\": \"2025-01-12T13:36:17.6168595+00:00\",\n    \"IconId\": null,\n    \"PartialTimeFrom\": null,\n    \"PartialTimeTo\": null,\n    \"IsPartial\": false,\n    \"PartialTimeDuration\": null,\n    \"ApprovalRequest\": null,\n    \"GroupId\": \"45e42b62-0477-43b4-96c5-746fc81b1216\"\n}"}],"_postman_id":"65659f83-4adf-4df2-87eb-dd5574b50086"},{"name":"Create Multiple Adjustment Records","id":"a01c1e8e-e807-4545-a2b9-e7f898c38dd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"Value\": 4,\r\n  \"Timestamp\": \"2025-01-01T00:00:00.000Z\",\r\n  \"AdjustmentDefinitionId\": \"{{AdjustmentDefinitionId}}\",\r\n  \"Comment\": \"Add Paid Time Interval\",\r\n  \"Origin\": 2,\r\n  \"PeriodOptions\": 0,\r\n  \"PeriodFrom\": \"2025-01-03T00:00:00.000Z\",\r\n  \"PeriodTo\": \"2025-01-12T00:00:00.000Z\",\r\n  \"IsPartial\": true,\r\n  \"PartialTimeFrom\": \"2025-01-03T16:00:00.000Z\",\r\n  \"PartialTimeTo\": \"2025-01-03T20:00:00.000Z\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Adjustments/Bulk","description":"<p>This endpoint allows you to create multiple adjustment records in a single request. You must provide a JSON payload containing the necessary details for each adjustment, such as user IDs, adjustment definitions, and related parameters.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Adjustments/Bulk</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>UserId (string, required)</code>: The unique <code>id</code> of the user for whom the adjustment record is created.</p>\n</li>\n<li><p><code>AdjustmentDefinitionId (string, required)</code>: The unique <code>id</code> of the adjustment definition.</p>\n</li>\n<li><p><code>Value (number, required)</code> : The value of the adjustment.</p>\n</li>\n<li><p><code>Timestamp (datetime, required)</code>: The date and time of when the adjustment will be created.</p>\n</li>\n<li><p><code>Status (integer, required)</code>: The status of the adjustment.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Indicates the source of the request</p>\n</li>\n<li><p><code>PeriodOptions (integer, required)</code>: Specifies the options for the adjustment period.</p>\n</li>\n<li><p>If <code>IsPartial</code> is <code>true</code>, then <code>PartialTimeFrom</code> and <code>PartialTimeTo</code> fields are required.</p>\n</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>201 Created</code> - The bulk adjustments were successfully created, and the response includes the details of the created adjustments.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Adjustments","Bulk"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"78e8a7e8-c479-4bb2-8fc8-b4173f612016","name":"Create Multiple Adjustment Records","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"Value\": 4,\r\n  \"Timestamp\": \"2025-01-01T00:00:00.000Z\",\r\n  \"AdjustmentDefinitionId\": \"{{AdjustmentDefinitionId}}\",\r\n  \"Comment\": \"Add Paid Time Interval\",\r\n  \"Origin\": 2,\r\n  \"PeriodOptions\": 0,\r\n  \"PeriodFrom\": \"2025-01-03T00:00:00.000Z\",\r\n  \"PeriodTo\": \"2025-01-12T00:00:00.000Z\",\r\n  \"IsPartial\": true,\r\n  \"PartialTimeFrom\": \"2025-01-03T16:00:00.000Z\",\r\n  \"PartialTimeTo\": \"2025-01-03T20:00:00.000Z\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Adjustments/Bulk"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Mon, 13 Jan 2025 11:45:03 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"25976703-e940-4485-79d3-08dd33896f76\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 4,\n        \"Timestamp\": \"2025-01-03T00:00:00Z\",\n        \"AdjustmentDefinitionId\": \"83e85c05-bef6-4d17-f1ee-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Add paid time interval\",\n        \"AdjustmentDefinitionCode\": 0,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"Add Paid Time Interval\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-13T11:45:04.0308304+00:00\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": \"2025-01-03T16:00:00+00:00\",\n        \"PartialTimeTo\": \"2025-01-03T20:00:00+00:00\",\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"2104fa1c-82ec-4ec3-86bc-2a6798d35646\"\n    },\n    {\n        \"Id\": \"f694a74c-431c-460d-79d4-08dd33896f76\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 4,\n        \"Timestamp\": \"2025-01-06T00:00:00Z\",\n        \"AdjustmentDefinitionId\": \"83e85c05-bef6-4d17-f1ee-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Add paid time interval\",\n        \"AdjustmentDefinitionCode\": 0,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"Add Paid Time Interval\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-13T11:45:04.0308949+00:00\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": \"2025-01-06T16:00:00+00:00\",\n        \"PartialTimeTo\": \"2025-01-06T20:00:00+00:00\",\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"2104fa1c-82ec-4ec3-86bc-2a6798d35646\"\n    },\n    {\n        \"Id\": \"29d21e58-ae01-4693-79d5-08dd33896f76\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 4,\n        \"Timestamp\": \"2025-01-07T00:00:00Z\",\n        \"AdjustmentDefinitionId\": \"83e85c05-bef6-4d17-f1ee-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Add paid time interval\",\n        \"AdjustmentDefinitionCode\": 0,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"Add Paid Time Interval\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-13T11:45:04.0308981+00:00\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": \"2025-01-07T16:00:00+00:00\",\n        \"PartialTimeTo\": \"2025-01-07T20:00:00+00:00\",\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"2104fa1c-82ec-4ec3-86bc-2a6798d35646\"\n    },\n    {\n        \"Id\": \"6ac8350f-0db5-4d33-79d6-08dd33896f76\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 4,\n        \"Timestamp\": \"2025-01-08T00:00:00Z\",\n        \"AdjustmentDefinitionId\": \"83e85c05-bef6-4d17-f1ee-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Add paid time interval\",\n        \"AdjustmentDefinitionCode\": 0,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"Add Paid Time Interval\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-13T11:45:04.0309001+00:00\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": \"2025-01-08T16:00:00+00:00\",\n        \"PartialTimeTo\": \"2025-01-08T20:00:00+00:00\",\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"2104fa1c-82ec-4ec3-86bc-2a6798d35646\"\n    },\n    {\n        \"Id\": \"2fce61c1-fc80-4fb5-79d7-08dd33896f76\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 4,\n        \"Timestamp\": \"2025-01-09T00:00:00Z\",\n        \"AdjustmentDefinitionId\": \"83e85c05-bef6-4d17-f1ee-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Add paid time interval\",\n        \"AdjustmentDefinitionCode\": 0,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"Add Paid Time Interval\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-13T11:45:04.030904+00:00\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": \"2025-01-09T16:00:00+00:00\",\n        \"PartialTimeTo\": \"2025-01-09T20:00:00+00:00\",\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"2104fa1c-82ec-4ec3-86bc-2a6798d35646\"\n    },\n    {\n        \"Id\": \"ff8348d0-2087-4897-79d8-08dd33896f76\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": \"\",\n        \"LastName\": \"Buckswel\",\n        \"Value\": 4,\n        \"Timestamp\": \"2025-01-10T00:00:00Z\",\n        \"AdjustmentDefinitionId\": \"83e85c05-bef6-4d17-f1ee-08dcfd85515a\",\n        \"AdjustmentDefinitionName\": \"Add paid time interval\",\n        \"AdjustmentDefinitionCode\": 0,\n        \"CalculationResultTypeValueType\": 0,\n        \"IsAuthentic\": false,\n        \"Comment\": \"Add Paid Time Interval\",\n        \"Status\": 0,\n        \"Origin\": 2,\n        \"InsertedOn\": \"2025-01-13T11:45:04.0309158+00:00\",\n        \"IconId\": null,\n        \"PartialTimeFrom\": \"2025-01-10T16:00:00+00:00\",\n        \"PartialTimeTo\": \"2025-01-10T20:00:00+00:00\",\n        \"IsPartial\": false,\n        \"PartialTimeDuration\": null,\n        \"ApprovalRequest\": null,\n        \"GroupId\": \"2104fa1c-82ec-4ec3-86bc-2a6798d35646\"\n    }\n]"}],"_postman_id":"a01c1e8e-e807-4545-a2b9-e7f898c38dd7"},{"name":"Update an Existing Adjustment Record by ID","id":"92454ead-9fe8-465b-8ccd-24fbdc17f59d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{AdjustmentId}}\",\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"FirstName\": \"Makswell\",\r\n  \"MiddleName\": null,\r\n  \"LastName\": \"Buckswel\",\r\n  \"Value\": 600,\r\n  \"Timestamp\": \"2025-01-14\",\r\n  \"AdjustmentDefinitionId\": \"{{AdjustmentDefinitionId}}\",\r\n  \"AdjustmentDefinitionName\": null,\r\n  \"AdjustmentDefinitionCode\": 0,\r\n  \"CalculationResultTypeValueType\": 0,\r\n  \"IsAuthentic\": true,\r\n  \"Comment\": \"Correction of hours\",\r\n  \"Status\": 0,\r\n  \"Origin\": 2,\r\n  \"InsertedOn\": \"2025-01-13T12:58:46.410Z\",\r\n  \"IconId\": \"string\",\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null,\r\n  \"IsPartial\": false,\r\n  \"PartialTimeDuration\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Adjustments/{{AdjustmentId}}","description":"<p>This endpoint allows you to update an adjustment record in the system. This is particularly useful for making corrections or updating details related to a specific adjustment. Each adjustment is identified by a unique identifier (<code>id</code>), which is provided as a path parameter. This endpoint expects a JSON object in the request body containing all the fields to be updated.</p>\n<p>Endpoint: <code>/api/v1/Adjustments/{id}</code></p>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier (UUID) of the adjustment to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>id</code> (<code>string, required</code>): The <code>id</code> of the adjustment record.</p>\n</li>\n<li><p><code>UserId</code> (<code>string, required</code>): The <code>id</code> of the associated user.</p>\n</li>\n<li><p><code>FirstName</code> (<code>string, required</code>): User's first name.</p>\n</li>\n<li><p><code>LastName</code> (<code>string, required</code>): User's last name.</p>\n</li>\n<li><p><code>Value</code> (<code>number, required</code>): The numeric value of the adjustment.</p>\n</li>\n<li><p><code>Timestamp</code> (<code>string, required</code>): The timestamp of when the adjustment was made.</p>\n</li>\n<li><p><code>AdjustmentDefinitionId</code> (<code>string, required</code>): The <code>id</code> of the adjustment definition.</p>\n</li>\n<li><p><code>Status</code> (<code>string, optional</code>): The status of the adjustment.</p>\n</li>\n<li><p><code>Origin</code> (<code>string, optional</code>): The source of the adjustment record.</p>\n</li>\n<li><p>If <code>IsPartial</code> is <code>true</code>, then <code>PartialTimeFrom</code> and <code>PartialTimeTo</code> fields are required.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The adjustment was successfully updated, and the response includes the details of the updated adjustment.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Adjustments","{{AdjustmentId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"512113ec-8356-4499-b4c2-b89f2ba60841","name":"Update an Existing Adjustment Record by ID","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{AdjustmentId}}\",\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"FirstName\": \"Makswell\",\r\n  \"MiddleName\": null,\r\n  \"LastName\": \"Buckswel\",\r\n  \"Value\": 600,\r\n  \"Timestamp\": \"2025-01-14\",\r\n  \"AdjustmentDefinitionId\": \"{{AdjustmentDefinitionId}}\",\r\n  \"AdjustmentDefinitionName\": null,\r\n  \"AdjustmentDefinitionCode\": 0,\r\n  \"CalculationResultTypeValueType\": 0,\r\n  \"IsAuthentic\": true,\r\n  \"Comment\": \"Correction of hours\",\r\n  \"Status\": 0,\r\n  \"Origin\": 2,\r\n  \"InsertedOn\": \"2025-01-13T12:58:46.410Z\",\r\n  \"IconId\": \"string\",\r\n  \"PartialTimeFrom\": null,\r\n  \"PartialTimeTo\": null,\r\n  \"IsPartial\": false,\r\n  \"PartialTimeDuration\": 0\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Adjustments/{{AdjustmentId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sun, 02 Feb 2025 13:17:28 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"f91c3675-a815-4cef-6f9a-08dd2358bfb9\",\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": null,\n    \"LastName\": \"Buckswel\",\n    \"Value\": 600,\n    \"Timestamp\": \"2025-01-14T00:00:00\",\n    \"AdjustmentDefinitionId\": \"835e645c-bbe0-4a42-f1eb-08dcfd85515a\",\n    \"AdjustmentDefinitionName\": \"Override balance of hours\",\n    \"AdjustmentDefinitionCode\": 0,\n    \"CalculationResultTypeValueType\": 0,\n    \"IsAuthentic\": true,\n    \"Comment\": \"Correction of hours\",\n    \"Status\": 0,\n    \"Origin\": 2,\n    \"InsertedOn\": \"2025-01-13T12:58:46.41Z\",\n    \"IconId\": null,\n    \"PartialTimeFrom\": null,\n    \"PartialTimeTo\": null,\n    \"IsPartial\": false,\n    \"PartialTimeDuration\": null,\n    \"ApprovalRequest\": null,\n    \"GroupId\": \"f91c3675-a815-4cef-6f9a-08dd2358bfb9\"\n}"}],"_postman_id":"92454ead-9fe8-465b-8ccd-24fbdc17f59d"},{"name":"Delete an Adjustment Record","id":"715e7c8f-e84e-463c-9999-dd67075a22d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Adjustments/{{AdjustmentId}}?eventDeleteMode=1","description":"<p>This endpoint allows you to delete an existing adjustment record by providing its unique identifier (<code>id</code>). An optional <code>eventDeleteMode</code> query parameter can be specified to control deletion behavior.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Adjustments/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the adjustment record to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> provided is valid to avoid accidental deletions.</li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>eventDeleteMode</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Specifies the deletion mode. Deafult value is 0.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><p><code>0</code>= Delete all events with the same request</p>\n</li>\n<li><p><code>1</code> = Delete only one event</p>\n</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The adjustment was successfully deleted.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to an incorrect or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Adjustments","{{AdjustmentId}}"],"host":["https://api4.allhours.com"],"query":[{"key":"eventDeleteMode","value":"1"}],"variable":[]}},"response":[{"id":"b97fd3c8-ef95-42ad-9461-a9db7c8af6a7","name":"Delete an Adjustment Record","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Adjustments/{{AdjustmentId}}?eventDeleteMode=1","host":["https://api4.allhours.com"],"path":["api","v1","Adjustments","{{AdjustmentId}}"],"query":[{"key":"eventDeleteMode","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Sun, 02 Feb 2025 14:05:01 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Request-Context","value":"appId=cid-v1:35005b2a-8434-4743-bb2a-dc64afc6bb34"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"715e7c8f-e84e-463c-9999-dd67075a22d4"}],"id":"29fe7506-9b36-4821-bb29-b9f587254c0f","description":"<p>The \"Adjustments\" endpoint is a handy tool for managing adjustment data. It lets you view, create, update, delete, and even handle multiple adjustments at once. Whether you need to make a quick change or manage a large set of adjustments, this endpoint makes it easy and efficient to get the job done.</p>\n<h4 id=\"period-options\">Period options</h4>\n<p>This parameter tells you on which days will a certain record be inserted on usually matters when you are doing bulk updates:</p>\n<ul>\n<li><p><code>0</code> = On days where there is shift plan</p>\n</li>\n<li><p><code>1</code> = On all days</p>\n</li>\n<li><p><code>2</code> = Only workdays (usually from monday to friday)</p>\n</li>\n</ul>\n<h4 id=\"adjustment-status-codes\">Adjustment status codes:</h4>\n<ul>\n<li><p><code>0</code> = Automatically approved adjustment (without any notification about being it approved)</p>\n</li>\n<li><p><code>1</code> = Pending adjustment (awaiting approval or rejection).</p>\n</li>\n<li><p><code>2</code> = Approved adjustment</p>\n</li>\n<li><p><code>3</code> = Rejected adjustment</p>\n</li>\n<li><p><code>4</code> = Automatically approved adjustment (a notification for adjustment being approved is sent)</p>\n</li>\n</ul>\n<h4 id=\"note-on-timestamp-format\">Note on Timestamp Format:</h4>\n<p>The timestamp format <code>\"2024-10-25T15:05:07.987Z\"</code> represents October 25, 2024, at 15:05 (3:05 PM), including 7.987 seconds. The \"Z\" at the end indicates UTC (Coordinated Universal Time), a global standard time zone to avoid discrepancies with local times.</p>\n<h4 id=\"origin-parameter-details\">Origin Parameter Details</h4>\n<p>The Origin parameter indicates the source of the request. Here are some of the possible values:</p>\n<ul>\n<li><p><code>0</code> = TimeClock</p>\n</li>\n<li><p><code>2</code> = WebApplication</p>\n</li>\n<li><p><code>3</code> = AutoGenerated</p>\n</li>\n<li><p><code>4</code> = WebClock</p>\n</li>\n<li><p><code>5</code> = ApprovalWorkflow</p>\n</li>\n<li><p><code>7</code> = Time API</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/Adjustments?searchTerm=Makswell\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the adjustments (usually by name). When not provided, the endpoint returns all available adjustments.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"e5a0d4b8-0245-4978-bd26-8b408961d2a7","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"936cb6ef-a9b1-452b-9c1f-fbf8cf5e4ff5","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"29fe7506-9b36-4821-bb29-b9f587254c0f"},{"name":"Clocking Definitions","item":[{"name":"Get Clocking Definitions","id":"fb84c4db-3ac4-4c73-80c0-b4f1f4499a79","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingDefinitions","description":"<p>Retrieve a list of clocking definitions. Optionally filter results by a search term.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/ClockingDefinitions</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filters the list of clocking definitions by the provided text.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>If <code>searchTerm</code> is omitted, all available clocking definitions are returned.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The clocking definitions were successfully retrieved, and a JSON array containing the results is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid or malformed.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingDefinitions"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"21728380-a1a5-42cf-ae64-97d295f4caff","name":"Get Clocking Definitions","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingDefinitions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Wed, 10 Sep 2025 12:49:13 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"Name\": \"Arrival\",\n        \"Type\": 0,\n        \"Code\": 1,\n        \"StartingCategoryDefinitionId\": \"9851ef7a-fd4b-4c60-a9eb-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Physical presence\",\n        \"AbsenceCategoryDefinitionId\": \"9851ef7a-fd4b-4c60-a9eb-08dcfd85513a\",\n        \"AbsenceCategoryDefinitionName\": \"Physical presence\",\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"598b4573-e9a5-45e7-a90e-08ddf04464c0\",\n        \"Name\": \"Ascension\",\n        \"Type\": 0,\n        \"Code\": 0,\n        \"StartingCategoryDefinitionId\": \"9851ef7a-fd4b-4c60-a9eb-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Physical presence\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 2,\n        \"TagId\": \"84d8cfa6-0057-4413-83e9-08dcfd930086\"\n    },\n    {\n        \"Id\": \"27d2a4ca-5a67-4915-d75a-08dcfd855144\",\n        \"Name\": \"Break\",\n        \"Type\": 2,\n        \"Code\": 5,\n        \"StartingCategoryDefinitionId\": \"afb3b8a0-da11-4554-a9ea-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Lunch break\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"ea1f9b9c-e762-411e-d75b-08dcfd855144\",\n        \"Name\": \"Business arrival\",\n        \"Type\": 3,\n        \"Code\": 2,\n        \"StartingCategoryDefinitionId\": \"9851ef7a-fd4b-4c60-a9eb-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Physical presence\",\n        \"AbsenceCategoryDefinitionId\": \"9851ef7a-fd4b-4c60-a9eb-08dcfd85513a\",\n        \"AbsenceCategoryDefinitionName\": \"Physical presence\",\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"b6659bdd-92ed-4b46-d759-08dcfd855144\",\n        \"Name\": \"Business departure\",\n        \"Type\": 2,\n        \"Code\": 4,\n        \"StartingCategoryDefinitionId\": \"bb5c2f66-39a3-452d-a9ee-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Business leave\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"Name\": \"Departure\",\n        \"Type\": 1,\n        \"Code\": 3,\n        \"StartingCategoryDefinitionId\": null,\n        \"StartingCategoryDefinitionName\": null,\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"6dda621e-b584-4286-3bad-08ddd59bb784\",\n        \"Name\": \"Koper\",\n        \"Type\": 2,\n        \"Code\": 0,\n        \"StartingCategoryDefinitionId\": \"a07fe7df-a625-491c-8d47-08ddd5722e11\",\n        \"StartingCategoryDefinitionName\": \"Koper\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 2,\n        \"TagId\": \"8ddee63a-a2c8-444c-7fd8-08dd2328e61b\"\n    },\n    {\n        \"Id\": \"38337ec6-9d1b-47e7-3b58-08ddd8b57313\",\n        \"Name\": \"Ljubljana\",\n        \"Type\": 2,\n        \"Code\": 0,\n        \"StartingCategoryDefinitionId\": \"532ee469-aba2-459c-ca8e-08ddd5aefcc4\",\n        \"StartingCategoryDefinitionName\": \"Ljubljana\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"73ed7524-1e04-4f86-d75c-08dcfd855144\",\n        \"Name\": \"Private exit\",\n        \"Type\": 1,\n        \"Code\": 7,\n        \"StartingCategoryDefinitionId\": \"4ee04257-3874-4801-a9f3-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Use surplus hours\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"1f8274bc-554a-46b0-525f-08dd93a88a01\",\n        \"Name\": \"test\",\n        \"Type\": 2,\n        \"Code\": 0,\n        \"StartingCategoryDefinitionId\": \"afb3b8a0-da11-4554-a9ea-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Lunch break\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"a870a9cb-49cf-46c3-f8d9-08ddd5a9e8fc\",\n        \"Name\": \"Vipava\",\n        \"Type\": 2,\n        \"Code\": 0,\n        \"StartingCategoryDefinitionId\": \"f7218920-eb17-4433-e306-08ddd5893e72\",\n        \"StartingCategoryDefinitionName\": \"Vipava\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 0,\n        \"TagId\": null\n    },\n    {\n        \"Id\": \"6abc172d-249a-4bcd-d75d-08dcfd855144\",\n        \"Name\": \"Work from home\",\n        \"Type\": 0,\n        \"Code\": 8,\n        \"StartingCategoryDefinitionId\": \"8804fa01-f1ca-4737-a9f5-08dcfd85513a\",\n        \"StartingCategoryDefinitionName\": \"Work from home\",\n        \"AbsenceCategoryDefinitionId\": null,\n        \"AbsenceCategoryDefinitionName\": null,\n        \"InClockingDefinitionId\": null,\n        \"InClockingDefinitionName\": null,\n        \"OutClockingDefinitionId\": null,\n        \"OutClockingDefinitionName\": null,\n        \"IsActive\": true,\n        \"RestrictionType\": 1,\n        \"TagId\": null\n    }\n]"}],"_postman_id":"fb84c4db-3ac4-4c73-80c0-b4f1f4499a79"},{"name":"Get Clocking Definition by Id","id":"1aa2cc15-d7dd-47ad-a578-f23a9671ecb7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/ClockingDefinitions/","description":"<p>This endpoint retrieves a specific <strong>Clocking Definition</strong> by its unique identifier.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ClockingDefinitions/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the clocking definition.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The clocking definition was successfully retrieved. The response includes the definition in JSON format.</p>\n</li>\n<li><p><code>404 Not Found</code> - No clocking definition exists for the provided <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingDefinitions",""],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"44212baf-b664-4047-96e0-83f7cf566ce3","name":"Get Clocking Definition by Id","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/ClockingDefinitions/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Wed, 24 Sep 2025 08:21:52 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"6abc172d-249a-4bcd-d75d-08dcfd855144\",\n    \"Name\": \"Work from home\",\n    \"Type\": 0,\n    \"Code\": 8,\n    \"StartingCategoryDefinitionId\": \"8804fa01-f1ca-4737-a9f5-08dcfd85513a\",\n    \"StartingCategoryDefinitionName\": \"Work from home\",\n    \"AbsenceCategoryDefinitionId\": null,\n    \"AbsenceCategoryDefinitionName\": null,\n    \"InClockingDefinitionId\": null,\n    \"InClockingDefinitionName\": null,\n    \"OutClockingDefinitionId\": null,\n    \"OutClockingDefinitionName\": null,\n    \"IsActive\": true,\n    \"RestrictionType\": 1,\n    \"TagId\": null\n}"}],"_postman_id":"1aa2cc15-d7dd-47ad-a578-f23a9671ecb7"}],"id":"e0355cf3-de2f-4dd6-839f-48fa28f0560e","description":"<p>Clocking Definitions in All Hours represent the events users register in the system, such as arrivals, departures, or absences. They allow organizations to define custom rules for how time entries are categorized and handled.</p>\n<p>For example:</p>\n<ul>\n<li><p>A custom arrival might represent the start of a shift at a specific location.</p>\n</li>\n<li><p>A custom departure could represent leaving for a lunch break.</p>\n</li>\n<li><p>Other definitions can capture absence events or automatic system-generated events.</p>\n</li>\n</ul>\n<p>Each Clocking Definition has a unique identifier (<code>id</code>), a <code>Type</code>, and may include restrictions that determine who can use it.</p>\n<h3 id=\"type\">Type</h3>\n<p>The <code>Type</code> field specifies the kind of event the definition represents:</p>\n<ul>\n<li><p><code>0 → Arrival</code> User registers starting work.</p>\n</li>\n<li><p><code>1 → Departure</code> User registers finishing work.</p>\n</li>\n<li><p><code>2 → AbsenceStart</code> User registers the beginning of an absence.</p>\n</li>\n<li><p><code>3 → ReturningFromAbsence</code> User registers the end of an absence.</p>\n</li>\n<li><p><code>4 → AutomaticEvent</code> A system-generated event.</p>\n</li>\n</ul>\n<h3 id=\"restrictiontype\">RestrictionType</h3>\n<p>The <code>RestrictionType</code> field defines who can use the clocking definition:</p>\n<ul>\n<li><p><code>0 → No restriction</code> Any user can use this definition.</p>\n</li>\n<li><p><code>1 → Admin</code> Restricted to administrators only.</p>\n</li>\n<li><p><code>2 → Tag restriction</code> Restricted to users with a specific tag.</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/ClockingDefinitions?searchTerm=Ascension\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available adjustment definitions.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"ad9c2e13-62b0-4b91-a357-060e8362a6ac","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"7161dd8a-9a99-44ea-a577-0341f78e6062","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"e0355cf3-de2f-4dd6-839f-48fa28f0560e"},{"name":"Clockings","item":[{"name":"Get Clockings","id":"4a89ab52-870c-4dc2-b432-a8fca710ae04","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Clockings?dateFrom=2025-01-01&dateTo=2025-06-01&searchTerm=Makswell","description":"<p>This endpoint retrieves clocking records. Clockings represent the individual events registered by users, such as arrivals, departures, or absences. You can filter results by date range and search term.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Clockings</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td>string</td>\n<td>No</td>\n<td>Start date and time for filtering clockings.</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td>string</td>\n<td>No</td>\n<td>End date and time for filtering clockings.</td>\n</tr>\n<tr>\n<td><code>searchTerm</code></td>\n<td>string</td>\n<td>No</td>\n<td>Text filter applied to user or clocking data.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>If no filters are applied, all available clockings are returned.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - Clocking records were successfully retrieved. The response includes a JSON array of clockings.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to incorrectly formatted parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Clockings"],"host":["https://api4.allhours.com"],"query":[{"key":"dateFrom","value":"2025-01-01"},{"key":"dateTo","value":"2025-06-01"},{"key":"searchTerm","value":"Makswell"}],"variable":[]}},"response":[{"id":"af9df7a5-9c56-441b-a293-adc173a9b436","name":"Get Clockings","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Clockings?dateFrom=2025-01-01&dateTo=2025-06-01&searchTerm=Makswell","host":["https://api4.allhours.com"],"path":["api","v1","Clockings"],"query":[{"key":"dateFrom","value":"2025-01-01"},{"key":"dateTo","value":"2025-06-01"},{"key":"searchTerm","value":"Makswell"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 20:32:30 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"64ad2621-b07a-4d0e-09ea-08dd88f49207\",\n        \"Timestamp\": \"2025-05-12T07:39:00+00:00\",\n        \"OriginalTimestamp\": \"2025-05-12T07:39:05+00:00\",\n        \"IsAuthentic\": true,\n        \"Comment\": \"\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-05-12T07:39:06.3897213\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": null,\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": \"1a0d2200-359c-45f7-9648-b2d500808a22\",\n        \"BeaconId\": null,\n        \"ClockingPointId\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n        \"ClockingPointName\": \"ZT\",\n        \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Arrival\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"ca893948-8abb-48e4-5ad2-08dd8923f778\",\n        \"Timestamp\": \"2025-05-12T12:31:00+00:00\",\n        \"OriginalTimestamp\": \"2025-05-12T12:31:35+00:00\",\n        \"IsAuthentic\": true,\n        \"Comment\": \"\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-05-12T12:31:36.4120433\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": null,\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": \"1a0d2200-359c-45f7-9648-b2d500808a22\",\n        \"BeaconId\": null,\n        \"ClockingPointId\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n        \"ClockingPointName\": \"ZT\",\n        \"ClockingDefinitionId\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"0e2c93d5-171a-4065-3511-08dd5a229e41\",\n        \"Timestamp\": \"2025-03-04T07:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"TEST\\n\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 2,\n        \"InsertedOn\": \"2025-03-03T09:12:56.9865312\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Makswell Buckswel\",\n        \"ModifiedOn\": \"2025-03-03T09:12:56.9865312+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Arrival\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"1d88f03e-d8bd-4b29-262c-08dd85ef5448\",\n        \"Timestamp\": \"2025-05-13T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"2025-05-13T09:10:07.7144702+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 2,\n        \"InsertedOn\": \"2025-05-13T09:10:07.7144702\",\n        \"IsModified\": true,\n        \"ModifiedByUser\": \"Luke Skywalker\",\n        \"ModifiedOn\": \"2025-05-13T09:11:41.2319377+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Arrival\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"929e4a00-c0e7-4eb0-f54c-08dd929b3118\",\n        \"Timestamp\": \"2025-05-14T12:09:00+00:00\",\n        \"OriginalTimestamp\": \"2025-05-14T12:09:45+00:00\",\n        \"IsAuthentic\": true,\n        \"Comment\": \"\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-05-14T12:09:46.3047656\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": null,\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": \"1a0d2200-359c-45f7-9648-b2d500808a22\",\n        \"BeaconId\": null,\n        \"ClockingPointId\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n        \"ClockingPointName\": \"ZT\",\n        \"ClockingDefinitionId\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"79800c52-f6f9-4d36-6e70-08dd92d2545d\",\n        \"Timestamp\": \"2025-05-14T11:15:00+02:00\",\n        \"OriginalTimestamp\": \"2025-05-14T11:15:53+02:00\",\n        \"IsAuthentic\": true,\n        \"Comment\": \"\",\n        \"Origin\": 0,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-05-14T10:30:46.087796\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": null,\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": \"1a0d2200-359c-45f7-9648-b2d500808a22\",\n        \"BeaconId\": null,\n        \"ClockingPointId\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n        \"ClockingPointName\": \"ZT\",\n        \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Arrival\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"1eaae0a0-0fa5-4547-edf0-08dd85ef5447\",\n        \"Timestamp\": \"2025-01-21T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-07T11:51:48.1668129\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-07T11:51:48.1668129+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"b6659bdd-92ed-4b46-d759-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Business departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"b42b9029-5156-4776-d862-08dd88f11009\",\n        \"Timestamp\": \"2025-01-21T17:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-07T11:51:53.48598\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-07T11:51:53.48598+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"d81f906b-dec7-4820-d091-08dd8905e687\",\n        \"Timestamp\": \"2025-01-06T15:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-07T11:51:39.924168\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-07T11:51:39.924168+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"94ffc5c9-57a3-417f-330e-08dd890db8d0\",\n        \"Timestamp\": \"2025-01-16T08:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-07T11:52:08.4728711\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-07T11:52:08.4728711+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"6abc172d-249a-4bcd-d75d-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Work from home\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"6f666f19-07ed-4e56-3310-08dd890db8d0\",\n        \"Timestamp\": \"2025-01-16T15:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-07T11:52:14.3349513\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-07T11:52:14.3349513+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"a69094a1-c1ea-4a76-9cc7-08dd89107517\",\n        \"Timestamp\": \"2025-01-06T07:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-07T11:51:35.3667383\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-07T11:51:35.3667383+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Arrival\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"9dc7afc9-223a-4cfe-4d65-08dd9299bd3f\",\n        \"Timestamp\": \"2025-05-16T06:15:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-16T09:18:50.2416399\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-16T09:18:50.2416399+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"b6659bdd-92ed-4b46-d759-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Business departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"2d7f4b9c-9f35-4684-11d9-08dd92ab38e7\",\n        \"Timestamp\": \"2025-05-19T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-20T06:55:54.3244577\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-20T06:55:54.3244577+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Arrival\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"8ce28388-3a99-4160-c918-08dd92ae1873\",\n        \"Timestamp\": \"2025-05-19T14:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 4,\n        \"InsertedOn\": \"2025-05-20T06:55:59.2023861\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": \"Andraž Furlan\",\n        \"ModifiedOn\": \"2025-05-20T06:55:59.2023861+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"a611ffec-df5e-43de-d758-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Departure\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    }\n]"}],"_postman_id":"4a89ab52-870c-4dc2-b432-a8fca710ae04"},{"name":"Get Clocking Geolocation Details","id":"5029dd8e-d4e8-4804-a1c5-91b6524e8a56","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Clockings/{{ClockingId}}/GeoLocation","description":"<p>This endpoint retrieves the geolocation data associated with a specific clocking. Geolocation details include information such as the coordinates and context of where the clocking event was recorded.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Clockings/{id}/GeoLocation</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the clocking.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The geolocation data for the specified clocking was successfully retrieved. The response includes location details in JSON format.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to an incorrect or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Clockings","{{ClockingId}}","GeoLocation"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"89f68562-846d-4b68-8346-385ebcc5023f","name":"Get Clocking Geolocation Details","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Clockings/{{ClockingId}}/GeoLocation"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 20:49:43 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"9a83bd73-09ae-4ead-7f95-08ddefd6a36a\",\n    \"Name\": \"Arrival\",\n    \"Latitude\": 0,\n    \"Longitude\": 0,\n    \"Radius\": 0,\n    \"ClockingPointId\": \"00000000-0000-0000-0000-000000000000\"\n}"}],"_postman_id":"5029dd8e-d4e8-4804-a1c5-91b6524e8a56"},{"name":"Create Clocking","id":"a181ee1e-9493-4e06-8fdc-4e650212c95c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Comment\": \"Late Arrival\",\r\n  \"Origin\": 7,\r\n  \"Timestamp\": \"2025-09-15T08:00:00\",\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"ClockingPointId\": null,\r\n  \"ClockingDefinitionId\": \"{{ClockingDefinitionId}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Clockings","description":"<p>This endpoint creates a new clocking. Clockings represent user-registered events such as arrivals, departures, or absences. Each clocking can include details like timestamps, clocking points and comments.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Clockings</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Comment (string, optional)</code>: A comment or note for the clocking event.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Identifies the source of the clocking (e.g., device, web, mobile).</p>\n</li>\n<li><p><code>Timestamp (string, required)</code>: The exact time when the clocking event occurred.</p>\n</li>\n<li><p><code>UserId (string, required)</code>: The unique identifier of the user performing the clocking.</p>\n</li>\n<li><p><code>ClockingPointId (string, optional)</code>: The unique identifier of the clocking point where the event occurred.</p>\n</li>\n<li><p><code>ClockingDefinitionId (string, required)</code>: The unique identifier of the clocking definition applied to this event (Arrival, Departure...).</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The clocking was successfully created. The response includes details of the new clocking.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing required fields or incorrectly formatted data.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Clockings"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"9847ab4d-06b2-40f3-953e-602a72ac3b32","name":"Create Clocking","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Comment\": \"Late Arrival\",\r\n  \"Origin\": 7,\r\n  \"Timestamp\": \"2025-09-15T08:00:00\",\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"ClockingPointId\": null,\r\n  \"ClockingDefinitionId\": \"{{ClockingDefinitionId}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Clockings"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 21:06:21 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"85c014be-2b84-4d3e-419e-08ddefd72785\",\n    \"Timestamp\": \"2025-09-15T08:00:00+00:00\",\n    \"OriginalTimestamp\": \"2025-09-14T21:06:22.3225977+00:00\",\n    \"IsAuthentic\": false,\n    \"Comment\": \"Late Arrival\",\n    \"Origin\": 7,\n    \"OriginDisplayName\": null,\n    \"Status\": 0,\n    \"InsertedOn\": \"2025-09-14T21:06:22.3225977+00:00\",\n    \"IsModified\": false,\n    \"ModifiedByUser\": null,\n    \"ModifiedOn\": \"2025-09-14T21:06:22.3225977+00:00\",\n    \"GeoLocationTimestamp\": null,\n    \"HasGeoLocation\": false,\n    \"Accuracy\": null,\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": null,\n    \"LastName\": \"Buckswel\",\n    \"DeviceId\": null,\n    \"BeaconId\": null,\n    \"ClockingPointId\": null,\n    \"ClockingPointName\": null,\n    \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n    \"ClockingDefinitionName\": \"Arrival\",\n    \"OriginalClockingDefinitionId\": null,\n    \"OriginalClockingDefinitionName\": null,\n    \"ApprovalRequest\": null\n}"}],"_postman_id":"a181ee1e-9493-4e06-8fdc-4e650212c95c"},{"name":"Create Multiple Clockings","id":"43bbb81e-af8a-4fef-897f-07cfa8a6dd8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Comment\": \"\",\r\n  \"Origin\": 2,\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"ClockingDefinitionId\": \"{{ClockingTypeId}}\",\r\n  \"PeriodOptions\": 2,\r\n  \"PeriodFrom\": \"2025-09-01T06:00:00\",\r\n  \"PeriodTo\": \"2025-09-05\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Clockings/Bulk","description":"<p>This endpoint allows you to create multiple clockings in bulk. It is useful for registering time events across a specific period for a user, such as recording multiple workdays or recurring events.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Clockings/Bulk</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Comment (string, optional)</code>: A comment or note applied to the bulk clockings.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: Identifies the source of the clockings (e.g., device, web, mobile).</p>\n</li>\n<li><p><code>UserId (string, required)</code>: The unique identifier of the user for whom the clockings are created.</p>\n</li>\n<li><p><code>ClockingDefinitionId (string, required)</code>: The unique identifier of the clocking definition to apply.</p>\n</li>\n<li><p><code>PeriodOptions (integer, optional)</code>: Defines on which days the clockings are inserted.</p>\n</li>\n<li><p><code>PeriodFrom (string, required)</code>: Start date and time of the bulk period.</p>\n</li>\n<li><p><code>PeriodTo (string, required)</code>: End date and time of the bulk period.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The bulk clockings were successfully created. The response includes details of the created records.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing required fields or incorrectly formatted data.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Clockings","Bulk"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"a80c0e10-41f5-4818-9124-3d564ed96c08","name":"Create Multiple Clockings","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Comment\": \"\",\r\n  \"Origin\": 2,\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"ClockingDefinitionId\": \"{{ClockingTypeId}}\",\r\n  \"PeriodOptions\": 2,\r\n  \"PeriodFrom\": \"2025-09-01T06:00:00\",\r\n  \"PeriodTo\": \"2025-09-05\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Clockings/Bulk"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 21:12:49 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"e1fa76b8-dcf6-47f2-ff84-08ddefd6c6f5\",\n        \"Timestamp\": \"2025-09-01T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"27d2a4ca-5a67-4915-d75a-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Break\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"4eb5d0e7-16b3-4c89-ff85-08ddefd6c6f5\",\n        \"Timestamp\": \"2025-09-02T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"27d2a4ca-5a67-4915-d75a-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Break\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"1028a74a-ce8e-426e-ff86-08ddefd6c6f5\",\n        \"Timestamp\": \"2025-09-03T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"27d2a4ca-5a67-4915-d75a-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Break\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"369332c5-f24b-4a7c-ff87-08ddefd6c6f5\",\n        \"Timestamp\": \"2025-09-04T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"27d2a4ca-5a67-4915-d75a-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Break\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    },\n    {\n        \"Id\": \"a742233f-5dca-483d-ff88-08ddefd6c6f5\",\n        \"Timestamp\": \"2025-09-05T06:00:00+00:00\",\n        \"OriginalTimestamp\": \"0001-01-01T00:00:00+00:00\",\n        \"IsAuthentic\": false,\n        \"Comment\": \"\",\n        \"Origin\": 2,\n        \"OriginDisplayName\": null,\n        \"Status\": 0,\n        \"InsertedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"IsModified\": false,\n        \"ModifiedByUser\": null,\n        \"ModifiedOn\": \"2025-09-14T21:12:49.3063851+00:00\",\n        \"GeoLocationTimestamp\": null,\n        \"HasGeoLocation\": false,\n        \"Accuracy\": null,\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"MiddleName\": null,\n        \"LastName\": \"Buckswel\",\n        \"DeviceId\": null,\n        \"BeaconId\": null,\n        \"ClockingPointId\": null,\n        \"ClockingPointName\": null,\n        \"ClockingDefinitionId\": \"27d2a4ca-5a67-4915-d75a-08dcfd855144\",\n        \"ClockingDefinitionName\": \"Break\",\n        \"OriginalClockingDefinitionId\": null,\n        \"OriginalClockingDefinitionName\": null,\n        \"ApprovalRequest\": null\n    }\n]"}],"_postman_id":"43bbb81e-af8a-4fef-897f-07cfa8a6dd8c"},{"name":"Update Clocking","id":"a735d163-14cb-45f2-a359-f37840e1471f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{ClockingId}}\",\r\n  \"Timestamp\": \"2025-09-15T08:12:48.122Z\",\r\n  \"OriginalTimestamp\": \"2025-09-15T08:12:48.122Z\",\r\n  \"IsAuthentic\": true,\r\n  \"Comment\": null,\r\n  \"Origin\": 2,\r\n  \"Status\": 2,\r\n  \"InsertedOn\": \"2025-09-15T08:12:48.122Z\",\r\n  \"IsModified\": false,\r\n  \"ModifiedByUser\": null,\r\n  \"ModifiedOn\": null,\r\n  \"GeoLocationTimestamp\": null,\r\n  \"HasGeoLocation\": false,\r\n  \"Accuracy\": 0,\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"FirstName\": \"\",\r\n  \"MiddleName\": null,\r\n  \"LastName\": \"\",\r\n  \"DeviceId\": null,\r\n  \"BeaconId\": null,\r\n  \"ClockingPointId\": null,\r\n  \"ClockingPointName\": null,\r\n  \"ClockingDefinitionId\": \"{{ClockingId}}\",\r\n  \"ClockingDefinitionName\": \"string\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Clockings/{{ClockingId}}","description":"<p>This endpoint updates an existing clocking by its unique identifier (<code>id</code>). Use this to modify details of a clocking such as timestamp, comments, geolocation, or related definitions.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Clockings/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the clocking to update.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the provided <code>id</code> in the URL matches the <code>Id</code> in the request body.</li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: The unique identifier of the clocking. Must match the <code>id</code> path parameter.</p>\n</li>\n<li><p><code>Timestamp (string, required)</code>: The timestamp of the clocking.</p>\n</li>\n<li><p><code>OriginalTimestamp (string, optional)</code>: The original timestamp of the clocking.</p>\n</li>\n<li><p><code>IsAuthentic (boolean, optional)</code>: Whether the clocking is authentic.</p>\n</li>\n<li><p><code>Comment (string, optional)</code>: Comment associated with the clocking.</p>\n</li>\n<li><p><code>Origin (integer, optional)</code>: The origin code.</p>\n</li>\n<li><p><code>Status (string, optional)</code>: Status code if the clockinh went through approval workflow.</p>\n</li>\n<li><p><code>InsertedOn (string, optional)</code>: The datetime when the record was created.</p>\n</li>\n<li><p><code>IsModified (boolean, optional)</code>: Whether the clocking has been modified.</p>\n</li>\n<li><p><code>ModifiedByUser (string, optional)</code>: Identifier of the user who modified the record.</p>\n</li>\n<li><p><code>ModifiedOn (string, optional)</code>: The datetime when the record was last modified.</p>\n</li>\n<li><p><code>GeoLocationTimestamp (string, optional)</code>: Timestamp when geolocation was captured.</p>\n</li>\n<li><p><code>HasGeoLocation (boolean, optional)</code>: Indicates if the clocking has geolocation data.</p>\n</li>\n<li><p><code>Accuracy (integer, optional)</code>: Accuracy of the geolocation in meters.</p>\n</li>\n<li><p><code>UserId (string, required)</code>: Identifier of the user associated with the clocking.</p>\n</li>\n<li><p><code>FirstName (string, optional)</code>: The user’s first name.</p>\n</li>\n<li><p><code>MiddleName (string, optional)</code>: The user’s middle name.</p>\n</li>\n<li><p><code>LastName (string, optional)</code>: The user’s last name.</p>\n</li>\n<li><p><code>DeviceId (string, optional)</code>: Identifier of the device used for the clocking.</p>\n</li>\n<li><p><code>BeaconId (string, optional)</code>: Identifier of the beacon associated with the clocking.</p>\n</li>\n<li><p><code>ClockingPointId (string, optional)</code>: Identifier of the clocking point.</p>\n</li>\n<li><p><code>ClockingPointName (string, optional)</code>: Name of the clocking point.</p>\n</li>\n<li><p><code>ClockingDefinitionId (string, optional)</code>: Identifier of the clocking definition.</p>\n</li>\n<li><p><code>ClockingDefinitionName (string, optional)</code>: Name of the clocking definition.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The clocking was successfully updated. The response includes the updated details.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing fields, invalid UUID, or mismatch between the path <code>id</code> and body <code>Id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Clockings","{{ClockingId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"49149fbc-3836-42f4-8b45-ba0335e8d85d","name":"Update Clocking","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{ClockingId}}\",\r\n  \"Timestamp\": \"2025-09-15T08:12:48.122Z\",\r\n  \"OriginalTimestamp\": \"2025-09-15T08:12:48.122Z\",\r\n  \"IsAuthentic\": true,\r\n  \"Comment\": null,\r\n  \"Origin\": 2,\r\n  \"Status\": 2,\r\n  \"InsertedOn\": \"2025-09-15T08:12:48.122Z\",\r\n  \"IsModified\": false,\r\n  \"ModifiedByUser\": null,\r\n  \"ModifiedOn\": null,\r\n  \"GeoLocationTimestamp\": null,\r\n  \"HasGeoLocation\": false,\r\n  \"Accuracy\": 0,\r\n  \"UserId\": \"{{UserId}}\",\r\n  \"FirstName\": \"\",\r\n  \"MiddleName\": null,\r\n  \"LastName\": \"\",\r\n  \"DeviceId\": null,\r\n  \"BeaconId\": null,\r\n  \"ClockingPointId\": null,\r\n  \"ClockingPointName\": null,\r\n  \"ClockingDefinitionId\": \"{{ClockingId}}\",\r\n  \"ClockingDefinitionName\": \"string\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Clockings/{{ClockingId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 09:37:22 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"64ad2621-b07a-4d0e-09ea-08dd88f49207\",\n    \"Timestamp\": \"2025-09-15T08:12:00+00:00\",\n    \"OriginalTimestamp\": \"2025-05-12T07:39:06.3897213+00:00\",\n    \"IsAuthentic\": false,\n    \"Comment\": null,\n    \"Origin\": 0,\n    \"OriginDisplayName\": null,\n    \"Status\": 0,\n    \"InsertedOn\": \"2025-05-12T07:39:06.3897213\",\n    \"IsModified\": true,\n    \"ModifiedByUser\": null,\n    \"ModifiedOn\": \"2025-09-15T09:37:23.1800379+00:00\",\n    \"GeoLocationTimestamp\": null,\n    \"HasGeoLocation\": false,\n    \"Accuracy\": null,\n    \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n    \"FirstName\": \"Makswell\",\n    \"MiddleName\": null,\n    \"LastName\": \"Buckswel\",\n    \"DeviceId\": \"1a0d2200-359c-45f7-9648-b2d500808a22\",\n    \"BeaconId\": null,\n    \"ClockingPointId\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n    \"ClockingPointName\": null,\n    \"ClockingDefinitionId\": \"94ec2ed5-9f0d-48e2-d757-08dcfd855144\",\n    \"ClockingDefinitionName\": \"Arrival\",\n    \"OriginalClockingDefinitionId\": null,\n    \"OriginalClockingDefinitionName\": null,\n    \"ApprovalRequest\": null\n}"}],"_postman_id":"a735d163-14cb-45f2-a359-f37840e1471f"},{"name":"Delete Clocking","id":"d5a1667b-d5b4-4f40-a0c7-a3b2fb45ac83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Clockings/{{ClockingId}}","description":"<p>This endpoint deletes an existing clocking by its unique identifier (<code>id</code>). Use this when you need to permanently remove a clocking record.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Clockings/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the clocking to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The clocking was successfully deleted.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to a missing or invalid <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Clockings","{{ClockingId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"ca0c8af7-0848-46b4-8341-cda4b6ae4326","name":"Delete Clocking","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Clockings/{{ClockingId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Mon, 15 Sep 2025 09:42:15 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d5a1667b-d5b4-4f40-a0c7-a3b2fb45ac83"}],"id":"920bbdb6-29c9-416a-a166-0aac91e9b645","description":"<p>Use the Clockings endpoints to create, read, update, and delete individual clocking records (timestamps) for users. A clocking includes time fields, user and point/definition references, optional device/beacon info, and optional geolocation.</p>\n<h4 id=\"clocking-status-codes\"><strong>Clocking status codes:</strong></h4>\n<ul>\n<li><p><code>0</code> = Automatically approved clocking (no notification is sent)</p>\n</li>\n<li><p><code>1</code> = Pending clocking (awaiting approval or rejection)</p>\n</li>\n<li><p><code>2</code> = Approved clocking</p>\n</li>\n<li><p><code>3</code> = Rejected clocking</p>\n</li>\n<li><p><code>4</code> = Automatically approved clocking (a notification is sent)</p>\n</li>\n</ul>\n<h4 id=\"note-onisauthenticfield\">Note on<code>IsAuthentic</code>field</h4>\n<p>The <code>IsAuthentic</code> field is true if the clocking was entered via the web app, mobile app, or a terminal using the standard “clock” button (which records the exact press time).</p>\n<ul>\n<li><p>If a clocking is created through the “Add Clocking” option, it will not be authentic.</p>\n</li>\n<li><p>If a clocking is modified after creation, it is also no longer considered authentic.</p>\n</li>\n</ul>\n<h4 id=\"origin-parameter-details\">Origin parameter details:</h4>\n<p>The <code>Origin</code> parameter indicates the source of the clocking. Possible values include:</p>\n<ul>\n<li><p><code>0</code> = TimeClock</p>\n</li>\n<li><p><code>2</code> = WebApplication</p>\n</li>\n<li><p><code>3</code> = AutoGenerated</p>\n</li>\n<li><p><code>4</code> = WebClock</p>\n</li>\n<li><p><code>5</code> = ApprovalWorkflow</p>\n</li>\n<li><p><code>7</code> = Time API</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/Clockings?searchTerm=Makswell\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available absences.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"8a23460a-386f-4979-a96b-84c8297f2648","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"7ac0b6bc-8f0c-4b4a-9b52-0b501a78cf6f","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"920bbdb6-29c9-416a-a166-0aac91e9b645"},{"name":"Calendar Groups","item":[{"name":"Get Calendar Groups","id":"a5b36001-50c0-48c8-9103-26e7ba83bcf8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarGroups","description":"<p>Retrieve a list of calendar groups. Optionally filter results by a search term.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/CalendarGroups</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filters the list of calendar groups by the provided text.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>If <code>searchTerm</code> is omitted, all available calendar groups are returned.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p><strong>HTTP Status</strong></p>\n<ul>\n<li><p><code>200 OK</code> - The calendar groups were successfully retrieved, and a JSON array containing the results is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No calendar groups found for the given <code>searchTerm</code> or the resource does not exist.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CalendarGroups"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"06adb2f4-0ef3-4c16-9768-af5584a23f24","name":"Get Calendar Groups","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarGroups"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 10 Sep 2025 08:46:55 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"30bc2178-c856-4c9c-7acc-08dcfd855175\",\n        \"Name\": \"Slovenian\",\n        \"Workdays\": 62,\n        \"TimeZone\": \"Europe/Ljubljana\"\n    },\n    {\n        \"Id\": \"63cd91c8-fb9f-4c9b-ffa4-08dd5f048406\",\n        \"Name\": \"Australia\",\n        \"Workdays\": 62,\n        \"TimeZone\": \"Europe/Budapest\"\n    },\n    {\n        \"Id\": \"7f66f974-0385-4084-7edb-08dd613cb9bc\",\n        \"Name\": \"Ireland\",\n        \"Workdays\": 62,\n        \"TimeZone\": \"Europe/London\"\n    }\n]"}],"_postman_id":"a5b36001-50c0-48c8-9103-26e7ba83bcf8"},{"name":"Get Calendar Group by ID","id":"1c3b8e62-1802-4d5c-8609-e3a300daf27c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarGroups/{{CalendarGroupId}}","description":"<p>Retrieve a single calendar group by its unique identifier.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/CalendarGroups</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The Calendar Group identifier.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the <code>id</code> is in a valid <code>UUID</code> format to avoid errors.</li>\n</ul>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The absence definition was successfully retrieved, and a JSON object containing the details is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No absence definition found for the specified <code>id</code>. This may occur if the <code>id</code> is invalid or does not exist.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CalendarGroups","{{CalendarGroupId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"eb6baa1c-c4e0-4b82-a46b-54fc74d0ab6c","name":"Get Calendar Group by ID","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarGroups/{{CalendarGroupId}}"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 10 Sep 2025 09:03:02 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"7f66f974-0385-4084-7edb-08dd613cb9bc\",\n    \"Name\": \"Ireland\",\n    \"Workdays\": 62,\n    \"TimeZone\": \"Europe/London\"\n}"}],"_postman_id":"1c3b8e62-1802-4d5c-8609-e3a300daf27c"}],"id":"ddd2ff82-5ff6-4c2a-937a-2ebfec081977","description":"<p>Calendar Groups represent regional calendars in All Hours. Each group defines the time zone, country/region and standard workdays. They also serve as a containers for calendar events such as public (national) holidays and organization specific events.</p>\n<h4 id=\"timezone\">TimeZone</h4>\n<p>This section explains the <code>TimeZone</code> field.</p>\n<p><code>TimeZone</code> is a <strong>required string</strong> that must be a valid <strong>IANA time zone identifier</strong> (also called “tz database” names), e.g., <code>Europe/London</code>.</p>\n<ul>\n<li><p>Use canonical IANA names like Europe/London, America/New_York, Asia/Dubai.</p>\n</li>\n<li><p>Do not send numeric offsets (+01:00) or Windows time zone IDs (GMT Standard Time).</p>\n</li>\n</ul>\n<h4 id=\"workdays\">Workdays</h4>\n<p>This section explains the <code>Workdays</code> field, which you’ll encounter when creating or updating calendar groups.</p>\n<ul>\n<li>The <code>Workdays</code> value is an <strong>integer bitmask (0–127)</strong> that encodes which days of the week are considered</li>\n</ul>\n<p><strong>Behavior Summary</strong></p>\n<ul>\n<li><p><code>62</code> → <code>2 + 4 + 8 + 16 + 32</code> → Monday–Friday.</p>\n</li>\n<li><p><code>127</code> → <code>1 + 2 + 4 + 8 + 16 + 32 + 64</code> → All days.</p>\n</li>\n<li><p><code>65</code> → <code>1 + 64</code> → Weekend only (Sunday + Saturday).</p>\n</li>\n<li><p><code>0</code> → No workdays.</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<p>Plain Text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/CalendarGroups?searchTerm=Australia\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available adjustment definitions.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"237134b1-a0f1-46cf-8e40-e03f02ee06f2","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"5766bdc3-0c56-4c92-8d08-b1745f016016","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"ddd2ff82-5ff6-4c2a-937a-2ebfec081977"},{"name":"Calendar Events","item":[{"name":"Retrieve Calendar Event","id":"7f1f87df-5406-41e6-ba03-5c154437ad1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarEvents/Query?searchTerm=All Hours day&year=2025","description":"<p>This endpoint retrieves a list of calendar events. You can refine the results by using optional query parameters such as a specific keyword (<code>searchTerm</code>) or year (<code>year</code>).</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/CalendarEvents/Query</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter the calendar events.</td>\n</tr>\n<tr>\n<td><code>year</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>The year to filter events by (e.g., 2023).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The calendar events were retrieved successfully. The response will contain a JSON array of calendar event objects.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, usually due to improperly formatted or incorrect query parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CalendarEvents","Query"],"host":["https://api4.allhours.com"],"query":[{"key":"searchTerm","value":"All Hours day"},{"key":"year","value":"2025"}],"variable":[]}},"response":[{"id":"bb9244e2-5734-4bed-9bb0-2a77e207fceb","name":"Retrieve Calendar Event","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/CalendarEvents/Query?searchTerm=All Hours day&year=2025","host":["https://api4.allhours.com"],"path":["api","v1","CalendarEvents","Query"],"query":[{"key":"searchTerm","value":"All Hours day"},{"key":"year","value":"2025"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 11 Mar 2025 13:21:39 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"1c3634d6-8109-4e11-22cb-08dd607de129\",\n        \"Name\": \"All Hours day\",\n        \"Date\": \"2025-05-01T00:00:00\",\n        \"ValidTo\": null,\n        \"CalendarGroupId\": \"30bc2178-c856-4c9c-7acc-08dcfd855175\",\n        \"CalendarGroupName\": \"Slovenian\",\n        \"CalendarEventTypeId\": \"5855fefa-09cb-4e5d-46d7-08dcfd85516f\",\n        \"CalendarEventTypeCode\": 2,\n        \"CalendarEventTypeName\": \"Holiday\",\n        \"RecurringMode\": 1\n    }\n]"}],"_postman_id":"7f1f87df-5406-41e6-ba03-5c154437ad1b"},{"name":"Retrieve Calendar Event Types","id":"dd0a5852-830e-4621-9763-7aa7739c4900","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarEvents/Types","description":"<p>This endpoint retrieves a list of all available calendar event types. The response does not require any parameters. New Calendar Event Types can be made but you have to contact support</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/CalendarEvents/Types</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>This endpoint doesn't support any querying and does not have any path parameters.</em> </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The calendar event types were retrieved successfully. The response will contain a JSON array of event type objects.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, typically due to malformed requests or headers.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CalendarEvents","Types"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"02d33d0d-e893-488b-9b06-635d74cc20d1","name":"Retrieve Calendar Event Types","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarEvents/Types"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 12 Mar 2025 07:54:27 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"0071967f-d7a4-4d27-46d6-08dcfd85516f\",\n        \"Name\": \"Payday\",\n        \"Code\": 1\n    },\n    {\n        \"Id\": \"5855fefa-09cb-4e5d-46d7-08dcfd85516f\",\n        \"Name\": \"Holiday\",\n        \"Code\": 2\n    },\n    {\n        \"Id\": \"fc4d0881-998c-49f6-46d8-08dcfd85516f\",\n        \"Name\": \"Vacation transfer\",\n        \"Code\": 3\n    },\n    {\n        \"Id\": \"1aa329f3-0d9c-47ba-46d9-08dcfd85516f\",\n        \"Name\": \"Last year vacation limit\",\n        \"Code\": 4\n    }\n]"}],"_postman_id":"dd0a5852-830e-4621-9763-7aa7739c4900"},{"name":"Retrieve Countries for Calendar Events Import","id":"c4ae3adf-c3fd-46d8-a3ca-63da1b7d57b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarEvents/Import/Countries","description":"<p>This endpoint retrieves a list of available countries that can be used for importing calendar events (<code>POST/api/v1/CalendarEvents/Import</code>). No parameters are required for this endpoint. Upon successful request, the endpoint returns a JSON response containing country information.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/CalendarEvents/Import/Countries</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>This endpoint doesn't support any querying and does not have any path parameters.</em> </p>\n</blockquote>\n<h3 id=\"response\">Response</h3>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - Successfully retrieved the list of countries. The response includes a JSON object containing the countries available for importing calendar events.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed or invalid. This typically indicates issues with the request structure or headers.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","CalendarEvents","Import","Countries"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"758b07f1-2397-4603-bf04-873413e2d8e6","name":"Retrieve Countries for Calendar Events Import","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/CalendarEvents/Import/Countries"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 12 Mar 2025 07:48:40 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Name\": \"Angola\",\n        \"TwoLetterIsoCode\": \"AO\",\n        \"ThreeLetterIsoCode\": \"ago\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Argentina\",\n        \"TwoLetterIsoCode\": \"AR\",\n        \"ThreeLetterIsoCode\": \"arg\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Australia\",\n        \"TwoLetterIsoCode\": \"AU\",\n        \"ThreeLetterIsoCode\": \"aus\",\n        \"Regions\": [\n            {\n                \"Code\": \"act\",\n                \"Name\": \"Australia - Australian Capital Territory\"\n            },\n            {\n                \"Code\": \"qld\",\n                \"Name\": \"Australia - Queensland\"\n            },\n            {\n                \"Code\": \"nsw\",\n                \"Name\": \"Australia - New South Wales\"\n            },\n            {\n                \"Code\": \"nt\",\n                \"Name\": \"Australia - Northern Territory\"\n            },\n            {\n                \"Code\": \"sa\",\n                \"Name\": \"Australia - South Australia\"\n            },\n            {\n                \"Code\": \"tas\",\n                \"Name\": \"Australia - Tasmania\"\n            },\n            {\n                \"Code\": \"vic\",\n                \"Name\": \"Australia - Victoria\"\n            },\n            {\n                \"Code\": \"wa\",\n                \"Name\": \"Australia - Western Australia\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Austria\",\n        \"TwoLetterIsoCode\": \"AT\",\n        \"ThreeLetterIsoCode\": \"aut\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Belarus\",\n        \"TwoLetterIsoCode\": \"BY\",\n        \"ThreeLetterIsoCode\": \"blr\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Belgium\",\n        \"TwoLetterIsoCode\": \"BE\",\n        \"ThreeLetterIsoCode\": \"bel\",\n        \"Regions\": [\n            {\n                \"Code\": \"bru\",\n                \"Name\": \"Belgium - Brussels Hoofdstedelijk Gewest\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Bosnia and Herzegovina\",\n        \"TwoLetterIsoCode\": \"BA\",\n        \"ThreeLetterIsoCode\": \"bih\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Brazil\",\n        \"TwoLetterIsoCode\": \"BR\",\n        \"ThreeLetterIsoCode\": \"bra\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Bulgaria\",\n        \"TwoLetterIsoCode\": \"BG\",\n        \"ThreeLetterIsoCode\": \"bgr\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Canada\",\n        \"TwoLetterIsoCode\": \"CA\",\n        \"ThreeLetterIsoCode\": \"can\",\n        \"Regions\": [\n            {\n                \"Code\": \"ab\",\n                \"Name\": \"Canada - Alberta\"\n            },\n            {\n                \"Code\": \"bc\",\n                \"Name\": \"Canada - British Columbia\"\n            },\n            {\n                \"Code\": \"mb\",\n                \"Name\": \"Canada - Manitoba\"\n            },\n            {\n                \"Code\": \"nb\",\n                \"Name\": \"Canada - New Brunswick\"\n            },\n            {\n                \"Code\": \"nl\",\n                \"Name\": \"Canada - Newfoundland and Labrador\"\n            },\n            {\n                \"Code\": \"nt\",\n                \"Name\": \"Canada - Northwest Territories\"\n            },\n            {\n                \"Code\": \"ns\",\n                \"Name\": \"Canada - Nova Scotia\"\n            },\n            {\n                \"Code\": \"nu\",\n                \"Name\": \"Canada - Nunavut\"\n            },\n            {\n                \"Code\": \"on\",\n                \"Name\": \"Canada - Ontario\"\n            },\n            {\n                \"Code\": \"pe\",\n                \"Name\": \"Canada - Prince Edward Island\"\n            },\n            {\n                \"Code\": \"qc\",\n                \"Name\": \"Canada - Quebec\"\n            },\n            {\n                \"Code\": \"sk\",\n                \"Name\": \"Canada - Saskatchewan\"\n            },\n            {\n                \"Code\": \"yt\",\n                \"Name\": \"Canada - Yukon\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Chile\",\n        \"TwoLetterIsoCode\": \"CL\",\n        \"ThreeLetterIsoCode\": \"chl\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"China\",\n        \"TwoLetterIsoCode\": \"CN\",\n        \"ThreeLetterIsoCode\": \"chn\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Colombia\",\n        \"TwoLetterIsoCode\": \"CO\",\n        \"ThreeLetterIsoCode\": \"col\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Croatia\",\n        \"TwoLetterIsoCode\": \"HR\",\n        \"ThreeLetterIsoCode\": \"hrv\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Cyprus\",\n        \"TwoLetterIsoCode\": \"CY\",\n        \"ThreeLetterIsoCode\": \"cyp\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Czech Republic\",\n        \"TwoLetterIsoCode\": \"CZ\",\n        \"ThreeLetterIsoCode\": \"cze\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Denmark\",\n        \"TwoLetterIsoCode\": \"DK\",\n        \"ThreeLetterIsoCode\": \"dnk\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"El Salvador\",\n        \"TwoLetterIsoCode\": \"SV\",\n        \"ThreeLetterIsoCode\": \"slv\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Estonia\",\n        \"TwoLetterIsoCode\": \"EE\",\n        \"ThreeLetterIsoCode\": \"est\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Finland\",\n        \"TwoLetterIsoCode\": \"FI\",\n        \"ThreeLetterIsoCode\": \"fin\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"France\",\n        \"TwoLetterIsoCode\": \"FR\",\n        \"ThreeLetterIsoCode\": \"fra\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Germany\",\n        \"TwoLetterIsoCode\": \"DE\",\n        \"ThreeLetterIsoCode\": \"deu\",\n        \"Regions\": [\n            {\n                \"Code\": \"bw\",\n                \"Name\": \"Germany - Baden-Wurttemberg\"\n            },\n            {\n                \"Code\": \"by\",\n                \"Name\": \"Germany - Bayern\"\n            },\n            {\n                \"Code\": \"be\",\n                \"Name\": \"Germany - Berlin\"\n            },\n            {\n                \"Code\": \"bb\",\n                \"Name\": \"Germany - Brandenburg\"\n            },\n            {\n                \"Code\": \"hb\",\n                \"Name\": \"Germany - Bremen\"\n            },\n            {\n                \"Code\": \"hh\",\n                \"Name\": \"Germany - Hamburg\"\n            },\n            {\n                \"Code\": \"he\",\n                \"Name\": \"Germany - Hessen\"\n            },\n            {\n                \"Code\": \"ni\",\n                \"Name\": \"Germany - Niedersachsen\"\n            },\n            {\n                \"Code\": \"mv\",\n                \"Name\": \"Germany - Mecklenburg-Vorpommern\"\n            },\n            {\n                \"Code\": \"nw\",\n                \"Name\": \"Germany - Nordrhein-Westfalen\"\n            },\n            {\n                \"Code\": \"rp\",\n                \"Name\": \"Germany - Rheinland-Pfalz\"\n            },\n            {\n                \"Code\": \"sl\",\n                \"Name\": \"Germany - Saarland\"\n            },\n            {\n                \"Code\": \"sn\",\n                \"Name\": \"Germany - Sachsen\"\n            },\n            {\n                \"Code\": \"st\",\n                \"Name\": \"Germany - Sachsen-Anhalt\"\n            },\n            {\n                \"Code\": \"sh\",\n                \"Name\": \"Germany - Schleswig-Holstein\"\n            },\n            {\n                \"Code\": \"th\",\n                \"Name\": \"Germany - Thuringen\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Greece\",\n        \"TwoLetterIsoCode\": \"GR\",\n        \"ThreeLetterIsoCode\": \"grc\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Hong Kong\",\n        \"TwoLetterIsoCode\": \"HK\",\n        \"ThreeLetterIsoCode\": \"hkg\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Hungary\",\n        \"TwoLetterIsoCode\": \"HU\",\n        \"ThreeLetterIsoCode\": \"hun\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Iceland\",\n        \"TwoLetterIsoCode\": \"IS\",\n        \"ThreeLetterIsoCode\": \"isl\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Ireland\",\n        \"TwoLetterIsoCode\": \"IE\",\n        \"ThreeLetterIsoCode\": \"irl\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Isle of Man\",\n        \"TwoLetterIsoCode\": \"IM\",\n        \"ThreeLetterIsoCode\": \"imn\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Israel\",\n        \"TwoLetterIsoCode\": \"IL\",\n        \"ThreeLetterIsoCode\": \"isr\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Italy\",\n        \"TwoLetterIsoCode\": \"IT\",\n        \"ThreeLetterIsoCode\": \"ita\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Japan\",\n        \"TwoLetterIsoCode\": \"JP\",\n        \"ThreeLetterIsoCode\": \"jpn\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Korea (South)\",\n        \"TwoLetterIsoCode\": null,\n        \"ThreeLetterIsoCode\": \"kor\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Kosovo\",\n        \"TwoLetterIsoCode\": null,\n        \"ThreeLetterIsoCode\": \"xkx\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Latvia\",\n        \"TwoLetterIsoCode\": \"LV\",\n        \"ThreeLetterIsoCode\": \"lva\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Lithuania\",\n        \"TwoLetterIsoCode\": \"LT\",\n        \"ThreeLetterIsoCode\": \"ltu\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Luxembourg\",\n        \"TwoLetterIsoCode\": \"LU\",\n        \"ThreeLetterIsoCode\": \"lux\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Macedonia\",\n        \"TwoLetterIsoCode\": \"MK\",\n        \"ThreeLetterIsoCode\": \"mkd\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Mexico\",\n        \"TwoLetterIsoCode\": \"MX\",\n        \"ThreeLetterIsoCode\": \"mex\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Montenegro\",\n        \"TwoLetterIsoCode\": \"ME\",\n        \"ThreeLetterIsoCode\": \"mne\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Netherlands\",\n        \"TwoLetterIsoCode\": \"NL\",\n        \"ThreeLetterIsoCode\": \"nld\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"New Zealand\",\n        \"TwoLetterIsoCode\": \"NZ\",\n        \"ThreeLetterIsoCode\": \"nzl\",\n        \"Regions\": [\n            {\n                \"Code\": \"auk\",\n                \"Name\": \"New Zealand - Auckland\"\n            },\n            {\n                \"Code\": \"bop\",\n                \"Name\": \"New Zealand - Bay of Plenty\"\n            },\n            {\n                \"Code\": \"can\",\n                \"Name\": \"New Zealand - Canterbury\"\n            },\n            {\n                \"Code\": \"gis\",\n                \"Name\": \"New Zealand - Gisborne\"\n            },\n            {\n                \"Code\": \"hkb\",\n                \"Name\": \"New Zealand - Hawke's Bay\"\n            },\n            {\n                \"Code\": \"mbh\",\n                \"Name\": \"New Zealand - Marlborough\"\n            },\n            {\n                \"Code\": \"mwt\",\n                \"Name\": \"New Zealand - Manawatu-Wanganui\"\n            },\n            {\n                \"Code\": \"nsn\",\n                \"Name\": \"New Zealand - Nelson\"\n            },\n            {\n                \"Code\": \"ntl\",\n                \"Name\": \"New Zealand - Northland\"\n            },\n            {\n                \"Code\": \"ota\",\n                \"Name\": \"New Zealand - Otago\"\n            },\n            {\n                \"Code\": \"stl\",\n                \"Name\": \"New Zealand - Southland\"\n            },\n            {\n                \"Code\": \"tas\",\n                \"Name\": \"New Zealand - Tasman\"\n            },\n            {\n                \"Code\": \"tki\",\n                \"Name\": \"New Zealand - Taranaki\"\n            },\n            {\n                \"Code\": \"wko\",\n                \"Name\": \"New Zealand - Waikato\"\n            },\n            {\n                \"Code\": \"wgn\",\n                \"Name\": \"New Zealand - Wellington\"\n            },\n            {\n                \"Code\": \"wtc\",\n                \"Name\": \"New Zealand - West Coast\"\n            },\n            {\n                \"Code\": \"cit\",\n                \"Name\": \"New Zealand - Chatham Islands Territory\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Norway\",\n        \"TwoLetterIsoCode\": \"NO\",\n        \"ThreeLetterIsoCode\": \"nor\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Peru\",\n        \"TwoLetterIsoCode\": \"PE\",\n        \"ThreeLetterIsoCode\": \"per\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Philippines\",\n        \"TwoLetterIsoCode\": \"PH\",\n        \"ThreeLetterIsoCode\": \"phl\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Poland\",\n        \"TwoLetterIsoCode\": \"PL\",\n        \"ThreeLetterIsoCode\": \"pol\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Portugal\",\n        \"TwoLetterIsoCode\": \"PT\",\n        \"ThreeLetterIsoCode\": \"prt\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Romania\",\n        \"TwoLetterIsoCode\": \"OM\",\n        \"ThreeLetterIsoCode\": \"rou\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Russian Federation\",\n        \"TwoLetterIsoCode\": \"RU\",\n        \"ThreeLetterIsoCode\": \"rus\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Serbia\",\n        \"TwoLetterIsoCode\": \"RS\",\n        \"ThreeLetterIsoCode\": \"srb\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Singapore\",\n        \"TwoLetterIsoCode\": \"SG\",\n        \"ThreeLetterIsoCode\": \"sgp\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Slovakia\",\n        \"TwoLetterIsoCode\": \"SK\",\n        \"ThreeLetterIsoCode\": \"svk\",\n        \"Regions\": [\n            {\n                \"Code\": \"bc\",\n                \"Name\": \"Slovakia - Banskobystricky kraj\"\n            },\n            {\n                \"Code\": \"bl\",\n                \"Name\": \"Slovakia - Bratislavsky kraj\"\n            },\n            {\n                \"Code\": \"ki\",\n                \"Name\": \"Slovakia - Kosicky kraj\"\n            },\n            {\n                \"Code\": \"ni\",\n                \"Name\": \"Slovakia - Nitriansky kraj\"\n            },\n            {\n                \"Code\": \"pv\",\n                \"Name\": \"Slovakia - Presovsky kraj\"\n            },\n            {\n                \"Code\": \"ta\",\n                \"Name\": \"Slovakia - Trnavsky kraj\"\n            },\n            {\n                \"Code\": \"tc\",\n                \"Name\": \"Slovakia - Trenciansky kraj\"\n            },\n            {\n                \"Code\": \"zi\",\n                \"Name\": \"Slovakia - Zilinsky kraj\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Slovenia\",\n        \"TwoLetterIsoCode\": \"SI\",\n        \"ThreeLetterIsoCode\": \"svn\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"South Africa\",\n        \"TwoLetterIsoCode\": \"ZA\",\n        \"ThreeLetterIsoCode\": \"zaf\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Spain\",\n        \"TwoLetterIsoCode\": \"ES\",\n        \"ThreeLetterIsoCode\": \"esp\",\n        \"Regions\": [\n            {\n                \"Code\": \"an\",\n                \"Name\": \"Spain - Andalucia\"\n            },\n            {\n                \"Code\": \"ar\",\n                \"Name\": \"Spain - Aragon\"\n            },\n            {\n                \"Code\": \"cn\",\n                \"Name\": \"Spain - Canarias\"\n            },\n            {\n                \"Code\": \"cb\",\n                \"Name\": \"Spain - Cantabria\"\n            },\n            {\n                \"Code\": \"cl\",\n                \"Name\": \"Spain - Castilla y Leon\"\n            },\n            {\n                \"Code\": \"cm\",\n                \"Name\": \"Spain - Castilla-La Mancha\"\n            },\n            {\n                \"Code\": \"ct\",\n                \"Name\": \"Spain - Catalunya\"\n            },\n            {\n                \"Code\": \"ce\",\n                \"Name\": \"Spain - Ceuta\"\n            },\n            {\n                \"Code\": \"ex\",\n                \"Name\": \"Spain - Extremadura\"\n            },\n            {\n                \"Code\": \"ga\",\n                \"Name\": \"Spain - Galicia\"\n            },\n            {\n                \"Code\": \"ib\",\n                \"Name\": \"Spain - Illes Balears\"\n            },\n            {\n                \"Code\": \"ri\",\n                \"Name\": \"Spain - La Rioja\"\n            },\n            {\n                \"Code\": \"ml\",\n                \"Name\": \"Spain - Melilla\"\n            },\n            {\n                \"Code\": \"pv\",\n                \"Name\": \"Spain - Pais Vasco\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Sweden\",\n        \"TwoLetterIsoCode\": \"SE\",\n        \"ThreeLetterIsoCode\": \"swe\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Switzerland\",\n        \"TwoLetterIsoCode\": \"CH\",\n        \"ThreeLetterIsoCode\": \"che\",\n        \"Regions\": [\n            {\n                \"Code\": \"ag\",\n                \"Name\": \"Switzerland - Aargau\"\n            },\n            {\n                \"Code\": \"ai\",\n                \"Name\": \"Switzerland - Appenzell Innerrhoden\"\n            },\n            {\n                \"Code\": \"ar\",\n                \"Name\": \"Switzerland - Appenzell Ausserrhoden\"\n            },\n            {\n                \"Code\": \"bl\",\n                \"Name\": \"Switzerland - Basel-Landschaft\"\n            },\n            {\n                \"Code\": \"bs\",\n                \"Name\": \"Switzerland - Basel-Stadt\"\n            },\n            {\n                \"Code\": \"be\",\n                \"Name\": \"Switzerland - Bern\"\n            },\n            {\n                \"Code\": \"fr\",\n                \"Name\": \"Switzerland - Fribourg\"\n            },\n            {\n                \"Code\": \"ge\",\n                \"Name\": \"Switzerland - Geneve\"\n            },\n            {\n                \"Code\": \"gl\",\n                \"Name\": \"Switzerland - Glarus\"\n            },\n            {\n                \"Code\": \"gr\",\n                \"Name\": \"Switzerland - Graubunden\"\n            },\n            {\n                \"Code\": \"ju\",\n                \"Name\": \"Switzerland - Jura\"\n            },\n            {\n                \"Code\": \"lu\",\n                \"Name\": \"Switzerland - Luzern\"\n            },\n            {\n                \"Code\": \"ne\",\n                \"Name\": \"Switzerland - Neuchatel\"\n            },\n            {\n                \"Code\": \"nw\",\n                \"Name\": \"Switzerland - Nidwalden\"\n            },\n            {\n                \"Code\": \"ow\",\n                \"Name\": \"Switzerland - Obwalden\"\n            },\n            {\n                \"Code\": \"sg\",\n                \"Name\": \"Switzerland - Sankt Gallen\"\n            },\n            {\n                \"Code\": \"sh\",\n                \"Name\": \"Switzerland - Schaffhausen\"\n            },\n            {\n                \"Code\": \"sz\",\n                \"Name\": \"Switzerland - Schwyz\"\n            },\n            {\n                \"Code\": \"so\",\n                \"Name\": \"Switzerland - Solothurn\"\n            },\n            {\n                \"Code\": \"tg\",\n                \"Name\": \"Switzerland - Thurgau\"\n            },\n            {\n                \"Code\": \"ti\",\n                \"Name\": \"Switzerland - Ticino\"\n            },\n            {\n                \"Code\": \"ur\",\n                \"Name\": \"Switzerland - Uri\"\n            },\n            {\n                \"Code\": \"vs\",\n                \"Name\": \"Switzerland - Valais\"\n            },\n            {\n                \"Code\": \"vd\",\n                \"Name\": \"Switzerland - Vaud\"\n            },\n            {\n                \"Code\": \"zg\",\n                \"Name\": \"Switzerland - Zug\"\n            },\n            {\n                \"Code\": \"zh\",\n                \"Name\": \"Switzerland - Zurich\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"Turkey\",\n        \"TwoLetterIsoCode\": \"TR\",\n        \"ThreeLetterIsoCode\": \"tur\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"Ukraine\",\n        \"TwoLetterIsoCode\": \"UA\",\n        \"ThreeLetterIsoCode\": \"ukr\",\n        \"Regions\": null\n    },\n    {\n        \"Name\": \"United Kingdom\",\n        \"TwoLetterIsoCode\": \"GB\",\n        \"ThreeLetterIsoCode\": \"gbr\",\n        \"Regions\": [\n            {\n                \"Code\": \"eng\",\n                \"Name\": \"United Kingdom - England\"\n            },\n            {\n                \"Code\": \"nir\",\n                \"Name\": \"United Kingdom - Northern Ireland\"\n            },\n            {\n                \"Code\": \"sct\",\n                \"Name\": \"United Kingdom - Scotland\"\n            },\n            {\n                \"Code\": \"wls\",\n                \"Name\": \"United Kingdom - Wales\"\n            }\n        ]\n    },\n    {\n        \"Name\": \"United States of America\",\n        \"TwoLetterIsoCode\": \"US\",\n        \"ThreeLetterIsoCode\": \"usa\",\n        \"Regions\": [\n            {\n                \"Code\": \"al\",\n                \"Name\": \"United States of America - Alabama\"\n            },\n            {\n                \"Code\": \"ak\",\n                \"Name\": \"United States of America - Alaska\"\n            },\n            {\n                \"Code\": \"az\",\n                \"Name\": \"United States of America - Arizona\"\n            },\n            {\n                \"Code\": \"ar\",\n                \"Name\": \"United States of America - Arkansas\"\n            },\n            {\n                \"Code\": \"ca\",\n                \"Name\": \"United States of America - California\"\n            },\n            {\n                \"Code\": \"co\",\n                \"Name\": \"United States of America - Colorado\"\n            },\n            {\n                \"Code\": \"ct\",\n                \"Name\": \"United States of America - Connecticut\"\n            },\n            {\n                \"Code\": \"de\",\n                \"Name\": \"United States of America - Delaware\"\n            },\n            {\n                \"Code\": \"dc\",\n                \"Name\": \"United States of America - District of Columbia\"\n            },\n            {\n                \"Code\": \"fl\",\n                \"Name\": \"United States of America - Florida\"\n            },\n            {\n                \"Code\": \"ga\",\n                \"Name\": \"United States of America - Georgia\"\n            },\n            {\n                \"Code\": \"hi\",\n                \"Name\": \"United States of America - Hawaii\"\n            },\n            {\n                \"Code\": \"id\",\n                \"Name\": \"United States of America - Idaho\"\n            },\n            {\n                \"Code\": \"il\",\n                \"Name\": \"United States of America - Illinois\"\n            },\n            {\n                \"Code\": \"in\",\n                \"Name\": \"United States of America - Indiana\"\n            },\n            {\n                \"Code\": \"ia\",\n                \"Name\": \"United States of America - Iowa\"\n            },\n            {\n                \"Code\": \"ks\",\n                \"Name\": \"United States of America - Kansas\"\n            },\n            {\n                \"Code\": \"ky\",\n                \"Name\": \"United States of America - Kentucky\"\n            },\n            {\n                \"Code\": \"la\",\n                \"Name\": \"United States of America - Louisiana\"\n            },\n            {\n                \"Code\": \"me\",\n                \"Name\": \"United States of America - Maine\"\n            },\n            {\n                \"Code\": \"md\",\n                \"Name\": \"United States of America - Maryland\"\n            },\n            {\n                \"Code\": \"ma\",\n                \"Name\": \"United States of America - Massachusetts\"\n            },\n            {\n                \"Code\": \"mi\",\n                \"Name\": \"United States of America - Michigan\"\n            },\n            {\n                \"Code\": \"mn\",\n                \"Name\": \"United States of America - Minnesota\"\n            },\n            {\n                \"Code\": \"ms\",\n                \"Name\": \"United States of America - Mississippi\"\n            },\n            {\n                \"Code\": \"mo\",\n                \"Name\": \"United States of America - Missouri\"\n            },\n            {\n                \"Code\": \"mt\",\n                \"Name\": \"United States of America - Montana\"\n            },\n            {\n                \"Code\": \"ne\",\n                \"Name\": \"United States of America - Nebraska\"\n            },\n            {\n                \"Code\": \"nv\",\n                \"Name\": \"United States of America - Nevada\"\n            },\n            {\n                \"Code\": \"nh\",\n                \"Name\": \"United States of America - New Hampshire\"\n            },\n            {\n                \"Code\": \"nj\",\n                \"Name\": \"United States of America - New Jersey\"\n            },\n            {\n                \"Code\": \"nm\",\n                \"Name\": \"United States of America - New Mexico\"\n            },\n            {\n                \"Code\": \"ny\",\n                \"Name\": \"United States of America - New York\"\n            },\n            {\n                \"Code\": \"nc\",\n                \"Name\": \"United States of America - North Carolina\"\n            },\n            {\n                \"Code\": \"nd\",\n                \"Name\": \"United States of America - North Dakota\"\n            },\n            {\n                \"Code\": \"oh\",\n                \"Name\": \"United States of America - Ohio\"\n            },\n            {\n                \"Code\": \"ok\",\n                \"Name\": \"United States of America - Oklahoma\"\n            },\n            {\n                \"Code\": \"or\",\n                \"Name\": \"United States of America - Oregon\"\n            },\n            {\n                \"Code\": \"pa\",\n                \"Name\": \"United States of America - Pennsylvania\"\n            },\n            {\n                \"Code\": \"ri\",\n                \"Name\": \"United States of America - Rhode Island\"\n            },\n            {\n                \"Code\": \"sc\",\n                \"Name\": \"United States of America - South Carolina\"\n            },\n            {\n                \"Code\": \"sd\",\n                \"Name\": \"United States of America - South Dakota\"\n            },\n            {\n                \"Code\": \"tn\",\n                \"Name\": \"United States of America - Tennessee\"\n            },\n            {\n                \"Code\": \"tx\",\n                \"Name\": \"United States of America - Texas\"\n            },\n            {\n                \"Code\": \"ut\",\n                \"Name\": \"United States of America - Utah\"\n            },\n            {\n                \"Code\": \"vt\",\n                \"Name\": \"United States of America - Vermont\"\n            },\n            {\n                \"Code\": \"va\",\n                \"Name\": \"United States of America - Virginia\"\n            },\n            {\n                \"Code\": \"wa\",\n                \"Name\": \"United States of America - Washington\"\n            },\n            {\n                \"Code\": \"wv\",\n                \"Name\": \"United States of America - West Virginia\"\n            },\n            {\n                \"Code\": \"wi\",\n                \"Name\": \"United States of America - Wisconsin\"\n            },\n            {\n                \"Code\": \"wy\",\n                \"Name\": \"United States of America - Wyoming\"\n            }\n        ]\n    }\n]"}],"_postman_id":"c4ae3adf-c3fd-46d8-a3ca-63da1b7d57b1"}],"id":"ba726b33-00ed-4015-a728-bd5f9881f58d","description":"<p>The Calendar Events API provides functionality for managing calendar events, including creating, retrieving, updating, and deleting specific events. It allows users to fetch a list of all events, query events based on specific criteria, and retrieve available event types. Additionally, the API supports importing events from external sources and provides a list of countries available for event imports.</p>\n<h4 id=\"calendar-event-type-code\">Calendar Event Type Code:</h4>\n<ul>\n<li><p><code>1</code> = Payday</p>\n</li>\n<li><p><code>2</code> = Holiday</p>\n</li>\n<li><p><code>3</code> = Vacation transfer</p>\n</li>\n<li><p><code>4</code> = Last year vacation limit</p>\n</li>\n</ul>\n<h4 id=\"recurring-mode\">Recurring Mode:</h4>\n<ul>\n<li><p><code>0</code> = Not recurring</p>\n</li>\n<li><p><code>1</code> = Weekly recurrence</p>\n</li>\n<li><p><code>2</code> = Bi-weekly recurrence</p>\n</li>\n<li><p><code>3</code> = Every month recurrence</p>\n</li>\n<li><p><code>4</code> = Every end of the month</p>\n</li>\n<li><p><code>5</code> = Yearly recurrence</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/CalendarEvents/?searchTerm=All Hours day\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the adjustments (usually by name). When not provided, the endpoint returns all available adjustments.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"fa27f1c2-a834-43ca-bda2-e999aa70fe09","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"ffb72074-4801-4a72-a373-76487c039d66","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"ba726b33-00ed-4015-a728-bd5f9881f58d"},{"name":"Identifiers","item":[{"name":"Get Identifiers","id":"56daf8e6-2846-400e-8dc9-0be56d97cb90","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Identifiers","description":"<p>This endpoint retrieves identifiers (e.g., badges) with optional filters for badge value or user details.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Identifiers</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>badgeSearch</code></td>\n<td>string</td>\n<td>No</td>\n<td>Filter identifiers by numbers.</td>\n</tr>\n<tr>\n<td><code>userSearch</code></td>\n<td>string</td>\n<td>No</td>\n<td>Filter identifiers by user details.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - Matching identifiers were retrieved.</p>\n</li>\n<li><p><code>400 Bad Request</code> - Invalid request (e.g., malformed query values).</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Identifiers"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"816c1554-7e83-40b0-8a0a-5c39aae7e874","name":"Get Identifiers","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Identifiers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 12:03:59 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"de847a32-20c4-4456-bc5d-039b2505cd82\",\n        \"Value\": \"\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"24256ca3-a614-4961-6603-08ddb9f6f097\",\n        \"Value\": \"21351\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"d9a52d0e-c325-49d0-28e4-08dd8955fb74\",\n        \"Value\": \"2435534349\",\n        \"UserName\": \"Makswell Buckswel\"\n    },\n    {\n        \"Id\": \"861fac8e-6637-48a0-8784-08ddb92d2099\",\n        \"Value\": \"40552726776258308\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"5b04dedb-b5df-4368-af7b-08ddbadde85d\",\n        \"Value\": \"4055272677822\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"4ff018d5-d07c-4563-ab98-08ddb8996c7f\",\n        \"Value\": \"40552726778222\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"d80b5027-92e7-4e1a-8785-08ddb92d2099\",\n        \"Value\": \"4055272677822223\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"689c397e-00af-4912-5f20-08ddb897f37b\",\n        \"Value\": \"40552726778226436\",\n        \"UserName\": \"Luke Skywalker\"\n    },\n    {\n        \"Id\": \"6438bb9b-7ca4-4ce9-daf4-08dda272963b\",\n        \"Value\": \"4168513\",\n        \"UserName\": \"Leeroy Jenkins\"\n    },\n    {\n        \"Id\": \"a71231cf-e55a-482e-af7a-08ddbadde85d\",\n        \"Value\": \"5165123121325131\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"8e72af51-7981-495a-8794-08ddb92d2099\",\n        \"Value\": \"56651651651\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"9ec7c8bd-6cfb-46a4-af8b-08ddbadde85d\",\n        \"Value\": \"5665165165187928\",\n        \"UserName\": null\n    },\n    {\n        \"Id\": \"47cdd2e3-bdd9-4aab-28e5-08dd8955fb74\",\n        \"Value\": \"76233672\",\n        \"UserName\": \"Andraž Furlan\"\n    }\n]"}],"_postman_id":"56daf8e6-2846-400e-8dc9-0be56d97cb90"},{"name":"Add Identifier","id":"29aea91f-06b0-4e4f-a328-db5ba2059895","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Value\": \"056518993\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Identifiers","description":"<p>This endpoint creates a new identifier. Identifiers are typically used to link badges or other unique values to users.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Identifiers</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><code>Value (string, required)</code>: The identifier value to create (e.g., badge number).</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The identifier was successfully created. The response includes the created identifier.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing or incorrect fields.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Identifiers"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"960a162f-7b77-4a42-bc7f-2d24aa1ebb27","name":"Add Identifier","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Value\": \"056518993\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Identifiers"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 12:06:17 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"426e0327-e3e2-40fb-6ffe-08ddf02ccff9\",\n    \"Value\": \"056518993\",\n    \"UserName\": null\n}"}],"_postman_id":"29aea91f-06b0-4e4f-a328-db5ba2059895"},{"name":"Update Identifier","id":"ea72fbe1-f8b4-4c0a-879d-7f65e406d040","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{IdentifierId}}\",\r\n  \"Value\": \"654891616084\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Identifiers/{{IdentifierId}}","description":"<p>This endpoint updates an existing identifier by its unique identifier (<code>id</code>). Use this to modify the value of an identifier such as a badge number.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Identifiers/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the identifier to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: The unique identifier of the identifier. Must match the <code>id</code> path parameter.</p>\n</li>\n<li><p><code>Value (string, required)</code>: The updated identifier value (e.g., badge number).</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The identifier was successfully updated. The response includes the updated record.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing fields or mismatch between the path <code>id</code> and body <code>Id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Identifiers","{{IdentifierId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"e255ec0d-1a70-4428-8bfc-29c9a76d9098","name":"Update Identifier","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{IdentifierId}}\",\r\n  \"Value\": \"654891616084\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Identifiers/{{IdentifierId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 12:08:41 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"426e0327-e3e2-40fb-6ffe-08ddf02ccff9\",\n    \"Value\": \"654891616084\",\n    \"UserName\": null\n}"}],"_postman_id":"ea72fbe1-f8b4-4c0a-879d-7f65e406d040"},{"name":"Delete Identifier","id":"7b388895-ab12-49ac-bfae-603edc1a3cd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Identifiers/{{IdentifierId}}","description":"<p>This endpoint deletes an existing identifier by its unique identifier (<code>id</code>). Ensure the <code>id</code> provided is valid to avoid accidental deletions.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Identifiers/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the identifier to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the provided <code>id</code> is accurate to prevent unintended data loss.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The identifier was successfully deleted. The response includes confirmation details.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to an incorrect or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Identifiers","{{IdentifierId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"2d340936-2146-43b7-a718-f7d83cf4eb09","name":"Delete Identifier","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Identifiers/{{IdentifierId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Mon, 15 Sep 2025 12:10:12 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7b388895-ab12-49ac-bfae-603edc1a3cd8"}],"id":"33aed9e2-8e14-4e08-8469-3f03edda686d","description":"<p>The Identifiers endpoints allow you to manage identifiers such as badge numbers and user-linked values. They provide functionality to create, retrieve, update, and delete identifiers, as well as list unassigned identifiers. These endpoints are typically used to connect physical or digital identifiers (like badges) with specific users, ensuring accurate tracking and access management.</p>\n<h4 id=\"example-query-using-badgesearch\"><strong>Example Query Using</strong> <code>badgeSearch</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/Identifiers?badgeSearch=056462123\n\n</code></pre><ul>\n<li>The <code>badgeSearch</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available absences.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"77c0025b-060c-4fdb-950c-9a2c41df50e0","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"f78b6abf-34a2-4427-87bc-a4095cb0061e","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"33aed9e2-8e14-4e08-8469-3f03edda686d"},{"name":"Organization Units","item":[{"name":"Get Organizational Units","id":"bf7b3ec6-0243-43be-a5d7-a43226cc9f37","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/OrganizationUnits","description":"<p>This endpoint retrieves a list of organization units. You can use the optional <code>filterType</code> query parameter to filter results based on a specific type.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/OrganizationUnits</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filterType</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Used to filter organization units by type. Default value is <code>0</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing organization units is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This could happen if the <code>filterType</code> parameter is invalid or improperly formatted.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","OrganizationUnits"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"0c135060-fbf9-47e2-9b1e-496a3439dca5","name":"Get Organizational Units","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/OrganizationUnits"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 12:25:53 GMT"},{"key":"Cache-Control","value":"private,max-age=900"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"7de69066-2bed-419b-a21e-08dcf21cddb6\",\n        \"Name\": \"Accounting\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 16,\n        \"RightSubTreeIndex\": 17,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"Accounting\",\n        \"DisplayName\": \"Accounting\"\n    },\n    {\n        \"Id\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"Name\": \"AH API\",\n        \"ParentOrganizationUnitId\": null,\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 1,\n        \"RightSubTreeIndex\": 18,\n        \"HasChildren\": true,\n        \"LocalizedName\": \"AH API\",\n        \"DisplayName\": \"AH API\"\n    },\n    {\n        \"Id\": \"35a93645-cdad-4fd3-8e5a-08dd4d8b96e7\",\n        \"Name\": \"AH API\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 2,\n        \"RightSubTreeIndex\": 3,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"AH API\",\n        \"DisplayName\": \"AH API\"\n    },\n    {\n        \"Id\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n        \"Name\": \"Development\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 10,\n        \"RightSubTreeIndex\": 15,\n        \"HasChildren\": true,\n        \"LocalizedName\": \"Development\",\n        \"DisplayName\": \"Development\"\n    },\n    {\n        \"Id\": \"1ae31d36-03a2-455f-8e59-08dd4d8b96e7\",\n        \"Name\": \"HighGround\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 4,\n        \"RightSubTreeIndex\": 5,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"HighGround\",\n        \"DisplayName\": \"HighGround\"\n    },\n    {\n        \"Id\": \"47c0d1aa-3e13-4812-da20-08dcf3d27c2d\",\n        \"Name\": \"Marketing\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 8,\n        \"RightSubTreeIndex\": 9,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"Marketing\",\n        \"DisplayName\": \"Marketing\"\n    },\n    {\n        \"Id\": \"5e27b727-5081-4f82-fa32-08dd1ec8f697\",\n        \"Name\": \"TEST\",\n        \"ParentOrganizationUnitId\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 13,\n        \"RightSubTreeIndex\": 14,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"TEST\",\n        \"DisplayName\": \"TEST\"\n    },\n    {\n        \"Id\": \"efcbc8aa-8664-4ad0-fa33-08dd1ec8f697\",\n        \"Name\": \"TEST2\",\n        \"ParentOrganizationUnitId\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 11,\n        \"RightSubTreeIndex\": 12,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"TEST2\",\n        \"DisplayName\": \"TEST2\"\n    },\n    {\n        \"Id\": \"d74e6a7c-cb15-49fe-8d74-08dd4d8b96e7\",\n        \"Name\": \"TheMainStuff\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 6,\n        \"RightSubTreeIndex\": 7,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"TheMainStuff\",\n        \"DisplayName\": \"TheMainStuff\"\n    }\n]"}],"_postman_id":"bf7b3ec6-0243-43be-a5d7-a43226cc9f37"},{"name":"Get Organizational Unit Subunits","id":"e039f764-8967-49a9-b103-8a56a9645fe1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/OrganizationUnits/{{OrganizationalUnitId}}/Subunits?includeParent=True","description":"<p>This endpoint retrieves a list of subunits for a specific organization unit, identified by its unique <code>id</code>. You can optionally limit the response to only first-level subunits or include the parent unit in the results.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/OrganizationUnits/{id}/Subunits</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the organization unit.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>firstLevelOnly</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>false</td>\n<td>If <code>true</code>, only the immediate child subunits are returned.</td>\n</tr>\n<tr>\n<td><code>includeParent</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>false</td>\n<td>If <code>true</code>, the parent organization unit is also included in the response.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing subunits (and optionally the parent unit) is returned.</p>\n</li>\n<li><p><code>404 Not Found</code> - No organization unit was found for the specified <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","OrganizationUnits","{{OrganizationalUnitId}}","Subunits"],"host":["https://api4.allhours.com"],"query":[{"key":"includeParent","value":"True"}],"variable":[]}},"response":[{"id":"e75ad28f-27fb-4140-8e80-008a0b7bf18d","name":"Get Organizational Unit Subunits","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":{"raw":"https://api4.allhours.com/api/v1/OrganizationUnits/{{OrganizationalUnitId}}/Subunits?includeParent=True","host":["https://api4.allhours.com"],"path":["api","v1","OrganizationUnits","{{OrganizationalUnitId}}","Subunits"],"query":[{"key":"includeParent","value":"True"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"Content-Type","value":"application/json","description":""},{"key":"date","value":"Tue, 16 Sep 2025 08:06:33 GMT"},{"key":"strict-transport-security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"5e27b727-5081-4f82-fa32-08dd1ec8f697\",\n        \"Name\": \"TEST\",\n        \"ParentOrganizationUnitId\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 13,\n        \"RightSubTreeIndex\": 14,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"TEST\",\n        \"DisplayName\": \"TEST\"\n    },\n    {\n        \"Id\": \"efcbc8aa-8664-4ad0-fa33-08dd1ec8f697\",\n        \"Name\": \"TEST2\",\n        \"ParentOrganizationUnitId\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 11,\n        \"RightSubTreeIndex\": 12,\n        \"HasChildren\": false,\n        \"LocalizedName\": \"TEST2\",\n        \"DisplayName\": \"TEST2\"\n    },\n    {\n        \"Id\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n        \"Name\": \"Development\",\n        \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n        \"ParentOrganizationUnitName\": null,\n        \"LeftSubTreeIndex\": 10,\n        \"RightSubTreeIndex\": 15,\n        \"HasChildren\": true,\n        \"LocalizedName\": \"Development\",\n        \"DisplayName\": \"Development\"\n    }\n]"}],"_postman_id":"e039f764-8967-49a9-b103-8a56a9645fe1"},{"name":"Create Organizational Unit","id":"82c5a549-359e-4623-b52d-26c0bca3ab97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"    {\r\n    \"Name\": \"DevOps\",\r\n    \"ParentOrganizationUnitId\": \"{{OrganizationalUnitId}}\"\r\n    }","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/OrganizationUnits","description":"<p>This endpoint allows you to create a new organization unit. Provide the unit details in the request body.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/OrganizationUnits</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>Name (string, required)</code>: The name of the organization unit.</p>\n</li>\n<li><p><code>ParentOrganizationUnitId (string, optional)</code>: <code>UUID</code> of the parent organization unit.</p>\n</li>\n</ul>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>Every All Hours account has a root organizational unit. When creating your first organizational units you should use the root organizational unit id as parent id</em> </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The organization unit was successfully created.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid (e.g., missing required fields or invalid data types).</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","OrganizationUnits"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"c0363dd2-14ab-48a1-9db4-5e32f628cfd4","name":"Create Organizational Unit","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"DevOps\",\r\n  \"ParentOrganizationUnitId\": \"{{OrganizationalUnitId}}\",\r\n  \"HasChildren\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/OrganizationUnits"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":":status","value":201},{"key":"Content-Type","value":"application/json","description":""},{"key":"date","value":"Mon, 15 Sep 2025 12:39:26 GMT"},{"key":"location","value":"Create"},{"key":"strict-transport-security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"ff716efb-67d7-47d9-c9fe-08ddf0442c53\",\n    \"Name\": \"DevOps\",\n    \"ParentOrganizationUnitId\": \"ee36e980-81d9-4b16-a221-08dcf21cddb6\",\n    \"ParentOrganizationUnitName\": \"Development\",\n    \"LeftSubTreeIndex\": 11,\n    \"RightSubTreeIndex\": 12,\n    \"HasChildren\": false,\n    \"LocalizedName\": \"DevOps\",\n    \"DisplayName\": \"DevOps\"\n}"}],"_postman_id":"82c5a549-359e-4623-b52d-26c0bca3ab97"},{"name":"Update Organizational Unit","id":"04edf379-e7f5-44ae-928b-835871689b15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{OrganizationalUnitId}}\",\r\n  \"Name\": \"NewAge\",\r\n  \"ParentOrganizationUnitId\": \"{{OrganizationalUnitId}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/OrganizationUnits","description":"<p>This endpoint updates an existing organization unit. Use it to change details such as the unit’s name, or parent relationship.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/OrganizationUnits</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: The unique identifier of the organization unit to update.</p>\n</li>\n<li><p><code>Name (string, required)</code>: The name of the organization unit.</p>\n</li>\n<li><p><code>ParentOrganizationUnitId (string, optional)</code>: The unique identifier of the parent organization unit.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The organization unit was successfully updated. The response includes the updated record.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing fields or invalid body parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","OrganizationUnits"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"fa903853-5b0c-4cd7-a5a7-90325bfa879c","name":"Update Organizational Unit","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{OrganizationalUnitId}}\",\r\n  \"Name\": \"NewAge\",\r\n  \"ParentOrganizationUnitId\": \"{{OrganizationalUnitId}}\",\r\n  \"HasChildren\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/OrganizationUnits"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"Content-Type","value":"application/json","description":""},{"key":"date","value":"Mon, 15 Sep 2025 12:44:38 GMT"},{"key":"strict-transport-security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"ff716efb-67d7-47d9-c9fe-08ddf0442c53\",\n    \"Name\": \"NewAge\",\n    \"ParentOrganizationUnitId\": \"630b636f-3ced-453e-fc67-08dcf3075bd6\",\n    \"ParentOrganizationUnitName\": null,\n    \"LeftSubTreeIndex\": 11,\n    \"RightSubTreeIndex\": 12,\n    \"HasChildren\": false,\n    \"LocalizedName\": \"NewAge\",\n    \"DisplayName\": \"NewAge\"\n}"}],"_postman_id":"04edf379-e7f5-44ae-928b-835871689b15"},{"name":"Delete Organizational Unit","id":"fae8b489-f987-48c9-9258-a11986f552e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/OrganizationUnits/{{OrganizationalUnitId}}","description":"<p>This endpoint deletes an existing organization unit by its unique identifier (<code>id</code>). Use this when you need to remove a department or organizational branch from the system.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/OrganizationUnits/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the organization unit to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the provided <code>id</code> is accurate to prevent unintended data loss.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The organization unit was successfully deleted.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to an incorrect or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","OrganizationUnits","{{OrganizationalUnitId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"c9bbcb92-8af0-489d-b225-697f811df64b","name":"Delete Organizational Unit","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/OrganizationUnits/{{OrganizationalUnitId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Mon, 15 Sep 2025 12:46:13 GMT"},{"key":"content-length","value":"0"},{"key":"strict-transport-security","value":"max-age=2592000"},{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fae8b489-f987-48c9-9258-a11986f552e6"}],"id":"2a929261-59f5-41bc-a2fa-c28a1414cdb1","description":"<p>The OrganizationUnits endpoints allow you to manage the hierarchical structure of your organization. They provide functionality to create, retrieve, update, and delete organizational units, as well as list subunits and identify the root unit. These endpoints are commonly used to maintain department structures, define reporting relationships, and ensure an accurate representation of organizational hierarchies.</p>\n<h4 id=\"root-unit\">Root Unit</h4>\n<p>Every All Hours account includes a predefined root organizational unit. When creating new units, they should be linked to this root unit as their parent to ensure proper placement within the hierarchy.</p>\n<h4 id=\"organization-units-filter-type\"><strong>Organization Units Filter Type</strong></h4>\n<ul>\n<li><p><code>0</code> - User account restrictions should be applied.</p>\n</li>\n<li><p><code>1</code> - User account restrictions should not be applied.</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"3aef56a3-f973-4011-bc65-8e6a4fe96d84","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"fcf34efb-d2c4-48d8-9d55-2cfa40a4e3d4","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"2a929261-59f5-41bc-a2fa-c28a1414cdb1"},{"name":"Tags","item":[{"name":"Retrieve Tags","id":"63eeffdf-638f-4079-9b4e-b549688439bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Tags","description":"<p>This endpoint retrieves a list of tags defined in the system. Tags can be used to categorize or group users or other records for easier filtering and reporting. You can use the optional <code>searchTerm</code> query parameter to narrow results to tags containing a specific keyword.</p>\n<ul>\n<li><strong>Endpoint</strong>: <code>/api/v1/Tags</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td>string</td>\n<td>No</td>\n<td>A keyword to filter tags.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON response containing tag data is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed, possibly due to invalid query parameters or formatting issues.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Tags"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"f917bd38-e31d-4928-9854-c910da7ffaad","name":"Get Tags","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"applciation/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Tags"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Tue, 16 Sep 2025 13:56:39 GMT"},{"key":"Cache-Control","value":"private,max-age=900"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"76033d6c-e00a-414f-7fce-08dcf8164357\",\n        \"Name\": \"Approving of Department Heads\",\n        \"Color\": 5\n    },\n    {\n        \"Id\": \"84d8cfa6-0057-4413-83e9-08dcfd930086\",\n        \"Name\": \"Approving of Workers\",\n        \"Color\": 0\n    },\n    {\n        \"Id\": \"8ddee63a-a2c8-444c-7fd8-08dd2328e61b\",\n        \"Name\": \"Report Administrator\",\n        \"Color\": 0\n    }\n]"}],"_postman_id":"63eeffdf-638f-4079-9b4e-b549688439bc"},{"name":"Create Tag","id":"ee543da2-d761-4f7b-8939-2a7b047d1b43","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"HR\",\r\n  \"Color\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Tags","description":"<p>This endpoint allows you to create a new tag in the system. Tags can be used to categorize or group users or other records, enabling easier filtering and reporting.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Tags</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Name (string, required):</code> The name of the tag.</p>\n</li>\n<li><p><code>Color (integer, optional):</code> Numeric value representing the tag’s color.</p>\n</li>\n</ul>\n<h4 id=\"responses\">Responses</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The tag was successfully created, and the response includes the details of the newly created tag.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Tags"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"c0c0fb9b-2368-43e7-afb0-3a1704dfe8d5","name":"Create Tag","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"HR\",\r\n  \"Color\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Tags"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Tue, 16 Sep 2025 13:59:25 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"921f4ddd-2c4d-4f0d-3e9f-08ddf5293f09\",\n    \"Name\": \"HR\",\n    \"Color\": 3\n}"}],"_postman_id":"ee543da2-d761-4f7b-8939-2a7b047d1b43"},{"name":"Update Tag","id":"8a1e9707-5601-4c03-b692-97bb257ac0a9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{TimePolicyId}}\",\r\n  \"Name\": \"CEO\",\r\n  \"Color\": 8\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Tags/{{TimePolicyId}}","description":"<p>Updates an existing tag by its unique identifier (<code>id</code>). This allows you to modify the tag’s name or color while keeping its unique identifier unchanged. The <code>id</code> in the path must match the <code>Id</code> provided in the request body.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Tags/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the tag to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: Must match the <code>id</code> path parameter.</p>\n</li>\n<li><p><code>Name (string, required)</code>: The updated name of the tag.</p>\n</li>\n<li><p><code>Color (integer, optional)</code>: Numeric value representing the tag’s color.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The tag was successfully updated.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, such as missing fields or mismatch between <code>id</code> and <code>Id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Tags","{{TimePolicyId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"d3068ed4-bf8c-4564-9d78-6f5eb6b7c3bb","name":"Update Tag","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{TimePolicyId}}\",\r\n  \"Name\": \"CEO\",\r\n  \"Color\": 8\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Tags/{{TimePolicyId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Tue, 16 Sep 2025 14:02:04 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"921f4ddd-2c4d-4f0d-3e9f-08ddf5293f09\",\n    \"Name\": \"CEO\",\n    \"Color\": 8\n}"}],"_postman_id":"8a1e9707-5601-4c03-b692-97bb257ac0a9"},{"name":"Delete Tag","id":"6d4b1770-fbc4-4e9f-8ea3-9bcda3ac6577","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Tags/{{TimePolicyId}}","description":"<p>Deletes an existing tag by its unique identifier (<code>id</code>). Once deleted, the tag will no longer be available for grouping of records.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Tags/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the tag to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The tag was successfully deleted.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to a malformed or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Tags","{{TimePolicyId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"fae5e2ca-107e-4ab5-8ab2-c3c238e7641f","name":"Delete Tag","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Tags/{{TimePolicyId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Tue, 16 Sep 2025 14:02:52 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"6d4b1770-fbc4-4e9f-8ea3-9bcda3ac6577"}],"id":"b7942997-783a-4da0-ab29-284e81733910","description":"<p>The Tags endpoint manages tag records used to categorize and group users or other entities. It supports creating new tags, retrieving existing tags by ID or through search, updating tag details, and deleting tags. This allows administrators to maintain a structured tagging system for easier filtering, reporting, and organization across the platform. Responses are returned in JSON format.</p>\n","auth":{"type":"noauth","isInherited":false},"_postman_id":"b7942997-783a-4da0-ab29-284e81733910"},{"name":"Time Policies","item":[{"name":"Get Time Policies","id":"753aea77-5e80-4cb6-95b5-8c33deb2cae0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/TimePolicies","description":"<p>Retrieves a list of time policies defined in the system. You can optionally filter results with a search term.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/TimePolicies</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td>string</td>\n<td>No</td>\n<td>Keyword to filter time policies (matches name/description).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - A JSON array of time policies is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to incorrect query parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","TimePolicies"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"cb18bc4a-cd3a-4d89-8b0a-93d2b17f9c6f","name":"Get Time Policies","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/TimePolicies"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Tue, 16 Sep 2025 17:51:36 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"b7d0df08-6418-4906-7196-08dd0d21b64f\",\n        \"Name\": \"6:00 - 22:00 (8h plan)\",\n        \"ShortName\": null,\n        \"Description\": \"\",\n        \"Color\": 0\n    },\n    {\n        \"Id\": \"9abb5e06-1e27-4674-5329-08dd191b3c9e\",\n        \"Name\": \"12:00 - 18:00\",\n        \"ShortName\": null,\n        \"Description\": \"\",\n        \"Color\": 0\n    },\n    {\n        \"Id\": \"cacd508d-bc65-4bf4-8120-08dd44dccd96\",\n        \"Name\": \"8h (pon - pet)\",\n        \"ShortName\": null,\n        \"Description\": \"\",\n        \"Color\": 0\n    },\n    {\n        \"Id\": \"9262e422-21d7-4ffd-1799-08dd44dd9e7c\",\n        \"Name\": \"4h (pon - sob)\",\n        \"ShortName\": null,\n        \"Description\": \"\",\n        \"Color\": 5\n    },\n    {\n        \"Id\": \"dca8229b-1ba8-4d8a-a6c6-08dd44ffdb75\",\n        \"Name\": \"Sunday, Saturday\",\n        \"ShortName\": null,\n        \"Description\": \"\",\n        \"Color\": 7\n    },\n    {\n        \"Id\": \"a715d17c-3944-4878-e8a9-08dda1a0db27\",\n        \"Name\": \"Open Time Policy\",\n        \"ShortName\": null,\n        \"Description\": \"\",\n        \"Color\": 0\n    }\n]"}],"_postman_id":"753aea77-5e80-4cb6-95b5-8c33deb2cae0"}],"id":"73230df1-f29e-4007-9207-db633aef100a","description":"<p>Time Policies define working rules in All Hours. They represent the building blocks of work plans and are used to control schedules, attendance, and reporting logic. Each time policy includes a name, optional description, and color for easier identification.</p>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>Creating a time policy through this endpoint inherits system defaults. It’s recommended to manually review and adjust the settings afterward.</em> </p>\n</blockquote>\n<h4 id=\"example-query-using-searchterm\">Example Query Using <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/TimePolicies?searchTerm=Overtime\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter time policies (usually by name). When not provided, the endpoint returns all available time policies.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"_postman_id":"73230df1-f29e-4007-9207-db633aef100a"},{"name":"Work Plans","item":[{"name":"Retrieve Work Plans","id":"2967d27c-7fd4-4722-895d-5bf8266c5229","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/WorkPlans","description":"<p>Retrieves a list of work plans defined in the system. Work plans describe scheduled working arrangements that can be assigned to employees. You can optionally filter results by providing a search term.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/WorkPlans</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td>string</td>\n<td>No</td>\n<td>Keyword to filter work plans</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and a JSON array of work plans is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, possibly due to incorrect query parameters or formatting issues.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","WorkPlans"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"d1cc6dd5-61e7-4e69-a4c8-5fb433d26b2d","name":"Retrieve Work Plans","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/WorkPlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Tue, 16 Sep 2025 14:22:35 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"6ae5bc75-4995-406f-6574-08dd0d23b352\",\n        \"Name\": \"One Policy\",\n        \"Type\": 0\n    },\n    {\n        \"Id\": \"21597b26-0c89-472d-f77e-08dd44f0a9ff\",\n        \"Name\": \"Two week recurring \",\n        \"Type\": 1\n    },\n    {\n        \"Id\": \"bcd81266-05bb-4358-7b9f-08ddc39146cd\",\n        \"Name\": \"Open policy\",\n        \"Type\": 0\n    },\n    {\n        \"Id\": \"c75c4da9-4b49-4a62-2461-08ddefd9f0e2\",\n        \"Name\": \"Two Shifts\",\n        \"Type\": 0\n    }\n]"}],"_postman_id":"2967d27c-7fd4-4722-895d-5bf8266c5229"},{"name":"Get Work Plan Details","id":"ae5989b4-d06d-4feb-b86c-2e4ff8dfb9e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/WorkPlans/{{WorkPlanId}}","description":"<p>Retrieves the details of a specific work plan by its unique identifier (<code>id</code>). This allows you to view the full configuration of a single work plan, including its assigned rules and scheduling information.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/WorkPlans/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the work plan to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The request was successful, and the response includes the details of the specified work plan.</p>\n</li>\n<li><p><code>404 Not Found</code> - No work plan exists with the provided <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","WorkPlans","{{WorkPlanId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"d8e454b4-ccbf-4049-bff7-47c737360b21","name":"Get Work Plan Details","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/WorkPlans/{{WorkPlanId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Tue, 16 Sep 2025 14:33:15 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"c75c4da9-4b49-4a62-2461-08ddefd9f0e2\",\n    \"Name\": \"Two Shifts\",\n    \"Type\": 0,\n    \"WorkPlanPolicies\": [\n        {\n            \"Id\": \"43197f2c-04af-4f80-82f5-08ddefd9f0f5\",\n            \"TimePolicyId\": \"b7d0df08-6418-4906-7196-08dd0d21b64f\",\n            \"TimePolicyName\": \"6:00 - 22:00 (8h plan)\",\n            \"Priority\": 0,\n            \"DayTypesRestriction\": 0,\n            \"ArrivalRestrictionFromValue\": 360,\n            \"ArrivalRestrictionToValue\": 480\n        },\n        {\n            \"Id\": \"452ba5c1-b1e3-427f-82f6-08ddefd9f0f5\",\n            \"TimePolicyId\": \"9abb5e06-1e27-4674-5329-08dd191b3c9e\",\n            \"TimePolicyName\": \"12:00 - 18:00\",\n            \"Priority\": 1,\n            \"DayTypesRestriction\": 0,\n            \"ArrivalRestrictionFromValue\": 720,\n            \"ArrivalRestrictionToValue\": 840\n        },\n        {\n            \"Id\": \"b020a8b6-36f3-45c0-82f7-08ddefd9f0f5\",\n            \"TimePolicyId\": \"b7d0df08-6418-4906-7196-08dd0d21b64f\",\n            \"TimePolicyName\": \"6:00 - 22:00 (8h plan)\",\n            \"Priority\": 2,\n            \"DayTypesRestriction\": 0,\n            \"ArrivalRestrictionFromValue\": 0,\n            \"ArrivalRestrictionToValue\": 0\n        }\n    ]\n}"}],"_postman_id":"ae5989b4-d06d-4feb-b86c-2e4ff8dfb9e7"}],"id":"bccf1bbe-36dc-4a27-a4d9-f1e01adb909e","description":"<p>Work Plans define scheduled working arrangements and the set of time policies that apply to them. You can create, retrieve, update, delete, and list work plans, and attach one or more Work Plan Policies that control which days/times a policy applies.</p>\n<h4 id=\"type\">Type</h4>\n<p>This field controls how a work plan selects the active time policy.</p>\n<ul>\n<li><p><code>0</code> = Automatic time policy selection</p>\n</li>\n<li><p><code>1</code> = Rotating time policy selection</p>\n</li>\n</ul>\n<h4 id=\"daytypesrestriction\">DayTypesRestriction</h4>\n<p>This field appears on WorkPlanPolicies and limits when a policy applies.  </p>\n<p>It’s an integer bitmask (0–127) for days of the week:</p>\n<ul>\n<li><p>Sunday = <code>1</code></p>\n</li>\n<li><p>Monday = <code>2</code></p>\n</li>\n<li><p>Tuesday = <code>4</code></p>\n</li>\n<li><p>Wednesday = <code>8</code></p>\n</li>\n<li><p>Thursday = <code>16</code></p>\n</li>\n<li><p>Friday = <code>32</code></p>\n</li>\n<li><p>Saturday = <code>64</code></p>\n</li>\n</ul>\n<p>Behavior Summary</p>\n<ul>\n<li><p><code>62</code> → <code>2+4+8+16+32</code> → Monday–Friday</p>\n</li>\n<li><p><code>127</code> → <code>1+2+4+8+16+32+64</code> → All days</p>\n</li>\n<li><p><code>65</code> → <code>1+64</code> → Weekend only (Sunday + Saturday)</p>\n</li>\n<li><p><code>0</code> → No days (restriction on days never applies)</p>\n</li>\n</ul>\n<h4 id=\"arrival-restriction-window\">Arrival Restriction Window</h4>\n<p>These fields limit the allowed arrival time for a policy. Values are in minutes since 00:00.</p>\n<ul>\n<li><p><code>ArrivalRestrictionFromValue</code> – start of the window</p>\n</li>\n<li><p><code>ArrivalRestrictionToValue</code> – end of the window</p>\n</li>\n</ul>\n<p>Examples</p>\n<ul>\n<li><p><code>360</code> → 06:00 (because 360 min = 6 hours)</p>\n</li>\n<li><p><code>420</code> → 07:00</p>\n</li>\n<li><p><code>From=360</code> and <code>To=420</code> → arrival must be between 06:00 and 07:00</p>\n</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\">Example Query Using <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/WorkPlans?searchTerm=Night\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and filters work plans (usually by name). When not provided, the endpoint returns all available work plans.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"_postman_id":"bccf1bbe-36dc-4a27-a4d9-f1e01adb909e"},{"name":"Clocking Points","item":[{"name":"Get Clocking Points","id":"59f3313a-986a-4d54-81f9-a2dd95e33abc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingPoints","description":"<p>This endpoint retrieves available clocking points. Clocking points represent physical or virtual locations where users can register arrivals, departures, or other clocking events.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ClockingPoints</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td>string</td>\n<td>No</td>\n<td>A text filter applied to clocking point names.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>If no <code>searchTerm</code> is provided, all available clocking points are returned.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - Clocking point data was successfully retrieved. The response includes a JSON array of clocking points.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to an incorrectly formatted <code>searchTerm</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingPoints"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"87bb6e33-ed41-4341-990b-c3b48ebd7703","name":"Get Clocking Points","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingPoints"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 19:57:27 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"0c031ad5-95b1-43c9-05f3-08dd049ec483\",\n        \"Name\": \"Famoco\",\n        \"Description\": \"\"\n    },\n    {\n        \"Id\": \"972a29ee-6672-4d55-58f2-08dd607bada3\",\n        \"Name\": \"Beacons\",\n        \"Description\": \"\"\n    },\n    {\n        \"Id\": \"f5275b9c-92f2-4696-0261-08dd607c383a\",\n        \"Name\": \"The Sea\",\n        \"Description\": \"\"\n    },\n    {\n        \"Id\": \"4ec598a5-e493-4ded-6f5a-08dd6d0f12a6\",\n        \"Name\": \"Geolocation\",\n        \"Description\": \"\"\n    },\n    {\n        \"Id\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n        \"Name\": \"ZT\",\n        \"Description\": \"\"\n    },\n    {\n        \"Id\": \"ddf9072b-ebf3-4917-b0d1-08dd9c41a467\",\n        \"Name\": \"Business leave\",\n        \"Description\": \"\"\n    },\n    {\n        \"Id\": \"eec2185d-d6e7-42bc-7615-08ddd59464e4\",\n        \"Name\": \"TEST\",\n        \"Description\": \"\"\n    }\n]"}],"_postman_id":"59f3313a-986a-4d54-81f9-a2dd95e33abc"},{"name":"Get Clocking Points and Their Details","id":"83d8c01c-f42f-4370-88d5-0849a46047d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingPoints/Summary","description":"<p>This endpoint retrieves all available clocking points along with their related details. The response not only includes the clocking point definitions but also the associated data such as geolocations, beacons, time terminals and other linked configurations.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ClockingPoints/Summary</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>This endpoint doesn't support any querying and does not have any path parameters.</em> </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - Clocking points and their related details were successfully retrieved. The response includes a JSON array with clocking points, geolocation data, beacons, and other nested objects.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingPoints","Summary"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"48778627-eb0d-4855-8425-f117718d0b8a","name":"Get Clocking Points and Their Details","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingPoints/Summary"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 20:13:48 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"0c031ad5-95b1-43c9-05f3-08dd049ec483\",\n        \"Name\": \"Famoco\",\n        \"Description\": \"\",\n        \"TimeClocks\": [\n            {\n                \"Id\": \"90aedc46-c5be-4b88-42e6-08ddaa6a13f6\",\n                \"Name\": \"Famoco\",\n                \"Type\": 1,\n                \"DeviceModel\": \"FAMOCO FX105,1\",\n                \"PairCode\": \"F760341\",\n                \"MacAddress\": null,\n                \"TimeZone\": \"Europe/Ljubljana\",\n                \"Language\": \"sl\",\n                \"LastOnline\": \"2025-07-21T14:33:54.5971083\",\n                \"ClockingPointId\": \"0c031ad5-95b1-43c9-05f3-08dd049ec483\",\n                \"ClockingInterfaceId\": null,\n                \"CanOpenDoors\": false\n            }\n        ],\n        \"GeoLocations\": [],\n        \"Beacons\": [],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"972a29ee-6672-4d55-58f2-08dd607bada3\",\n        \"Name\": \"Beacons\",\n        \"Description\": \"\",\n        \"TimeClocks\": [],\n        \"GeoLocations\": [],\n        \"Beacons\": [\n            {\n                \"Id\": \"a9881180-77de-45d1-cdfa-08dd607bded8\",\n                \"Name\": \"Beacon1\",\n                \"MajorValue\": 23321,\n                \"MinorValue\": 21354,\n                \"ClockingPointId\": \"972a29ee-6672-4d55-58f2-08dd607bada3\",\n                \"Uuid\": \"48fc90ff-8a79-4df5-8f04-cab396c7998e\"\n            }\n        ],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"f5275b9c-92f2-4696-0261-08dd607c383a\",\n        \"Name\": \"The Sea\",\n        \"Description\": \"\",\n        \"TimeClocks\": [],\n        \"GeoLocations\": [],\n        \"Beacons\": [\n            {\n                \"Id\": \"0c49075a-a052-4e3a-c934-08dd607c4cd4\",\n                \"Name\": \"Beacon2\",\n                \"MajorValue\": 55647,\n                \"MinorValue\": 42069,\n                \"ClockingPointId\": \"f5275b9c-92f2-4696-0261-08dd607c383a\",\n                \"Uuid\": \"596ffb76-766b-4216-8b91-c208fdd99c79\"\n            }\n        ],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"4ec598a5-e493-4ded-6f5a-08dd6d0f12a6\",\n        \"Name\": \"Geolocation\",\n        \"Description\": \"\",\n        \"TimeClocks\": [],\n        \"GeoLocations\": [\n            {\n                \"Id\": \"504bab9e-bfa6-48d5-5647-08dd6d0f4037\",\n                \"Name\": \"HQ\",\n                \"Latitude\": 46.0990269,\n                \"Longitude\": 14.53746189999999,\n                \"Radius\": 200,\n                \"ClockingPointId\": \"4ec598a5-e493-4ded-6f5a-08dd6d0f12a6\"\n            }\n        ],\n        \"Beacons\": [],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n        \"Name\": \"ZT\",\n        \"Description\": \"\",\n        \"TimeClocks\": [\n            {\n                \"Id\": \"1a0d2200-359c-45f7-9648-b2d500808a22\",\n                \"Name\": \"ZT\",\n                \"Type\": 0,\n                \"DeviceModel\": null,\n                \"PairCode\": null,\n                \"MacAddress\": \"C4:F4:64:11:27:28\",\n                \"TimeZone\": \"Europe/Ljubljana\",\n                \"Language\": \"en\",\n                \"LastOnline\": null,\n                \"ClockingPointId\": \"f5a979ee-102f-46ba-44b9-08dd8632894f\",\n                \"ClockingInterfaceId\": null,\n                \"CanOpenDoors\": true\n            }\n        ],\n        \"GeoLocations\": [],\n        \"Beacons\": [],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"ddf9072b-ebf3-4917-b0d1-08dd9c41a467\",\n        \"Name\": \"Business leave\",\n        \"Description\": \"\",\n        \"TimeClocks\": [],\n        \"GeoLocations\": [\n            {\n                \"Id\": \"7bb19334-0b6e-4abc-2b3d-08dd9c52d335\",\n                \"Name\": \"TEST\",\n                \"Latitude\": 46.056946,\n                \"Longitude\": 14.505751,\n                \"Radius\": 50000,\n                \"ClockingPointId\": \"ddf9072b-ebf3-4917-b0d1-08dd9c41a467\"\n            }\n        ],\n        \"Beacons\": [],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"eec2185d-d6e7-42bc-7615-08ddd59464e4\",\n        \"Name\": \"TEST\",\n        \"Description\": \"\",\n        \"TimeClocks\": [],\n        \"GeoLocations\": [\n            {\n                \"Id\": \"14a50543-b9a2-4f74-beb7-08ddde59660a\",\n                \"Name\": \"test\",\n                \"Latitude\": 46.056946,\n                \"Longitude\": 14.505751,\n                \"Radius\": 200,\n                \"ClockingPointId\": \"eec2185d-d6e7-42bc-7615-08ddd59464e4\"\n            }\n        ],\n        \"Beacons\": [\n            {\n                \"Id\": \"f9d4c902-d8e1-4af5-f796-08ddd5b212d1\",\n                \"Name\": \"TEST\",\n                \"MajorValue\": 65535,\n                \"MinorValue\": 65535,\n                \"ClockingPointId\": \"eec2185d-d6e7-42bc-7615-08ddd59464e4\",\n                \"Uuid\": \"e26bb5a2-f032-4f76-afcf-4ef1bc2f2df1\"\n            }\n        ],\n        \"NetworkRestrictions\": []\n    },\n    {\n        \"Id\": \"a549a163-bc61-4bc7-cb55-08ddf3c934ab\",\n        \"Name\": \"New Location\",\n        \"Description\": \"We changed locations\",\n        \"TimeClocks\": [],\n        \"GeoLocations\": [],\n        \"Beacons\": [],\n        \"NetworkRestrictions\": []\n    }\n]"}],"_postman_id":"83d8c01c-f42f-4370-88d5-0849a46047d4"},{"name":"Create New Clocking Point","id":"8a565bdc-62dc-4c47-8f36-9b46f5dd2e71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"Main office\",\r\n  \"Description\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/ClockingPoints","description":"<p>This endpoint allows you to create a new clocking point. Clocking points represent physical or virtual locations where users can register their arrivals, departures, or other clocking events.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ClockingPoints</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Name (string, required)</code>: The display name of the clocking point.</p>\n</li>\n<li><p><code>Description (string, optional)</code>: A descriptive text about the clocking point.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The clocking point was successfully created. The response includes the details of the newly created clocking point.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing required fields or incorrectly formatted data.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingPoints"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"018d7f42-555d-45f4-ac96-b610aaacc484","name":"Create New Clocking Point","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"Main office\",\r\n  \"Description\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/ClockingPoints"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 19:59:25 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"a549a163-bc61-4bc7-cb55-08ddf3c934ab\",\n    \"Name\": \"Main office\",\n    \"Description\": null\n}"}],"_postman_id":"8a565bdc-62dc-4c47-8f36-9b46f5dd2e71"},{"name":"Update Clocking Point","id":"f9757d6f-f639-4fd4-aae5-dd23f2247de9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{ClockingPointId}}\",\r\n  \"Name\": \"New Location\",\r\n  \"Description\": \"We changed locations\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/ClockingPoints/{{ClockingPointId}}","description":"<p>This endpoint updates an existing clocking point by its unique identifier (<code>id</code>). Use this to modify the clocking point’s name or description.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ClockingPoints/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the clocking point to update.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the provided <code>id</code> in the URL matches the <code>Id</code> in the request body.</li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: The unique identifier of the clocking point. Must match the <code>id</code> path parameter.</p>\n</li>\n<li><p><code>Name (string, optional)</code>: The name of the clocking point.</p>\n</li>\n<li><p><code>Description (string, optional)</code>: A descriptive text about the clocking point.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The clocking point was successfully updated. The response includes the updated details.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing fields, an invalid UUID, or mismatch between the path <code>id</code> and body <code>Id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingPoints","{{ClockingPointId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"4d3ec6d9-289b-422a-b75f-ae4fa8f3d7e3","name":"Update Clocking Point","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{ClockingPointId}}\",\r\n  \"Name\": \"New Location\",\r\n  \"Description\": \"We changed locations\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/ClockingPoints/{{ClockingPointId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 20:06:26 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"a549a163-bc61-4bc7-cb55-08ddf3c934ab\",\n    \"Name\": \"New Location\",\n    \"Description\": \"We changed locations\"\n}"}],"_postman_id":"f9757d6f-f639-4fd4-aae5-dd23f2247de9"},{"name":"Delete Clocking Point","id":"25c62eae-5d6e-4f8e-9511-f177e3982877","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/ClockingPoints/{{ClockingPointId}}","description":"<p>This endpoint deletes an existing clocking point by its unique identifier (<code>id</code>). Ensure the <code>id</code> provided is valid to avoid accidental deletions. Deleting a clocking point will also remove its associated data such as geolocation and beacons.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/ClockingPoints/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the clocking point to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the provided <code>id</code> is accurate to prevent unintended data loss.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The clocking point was successfully deleted. The response includes confirmation details.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to an incorrect or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","ClockingPoints","{{ClockingPointId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"1bb6664c-84d8-4461-9852-fd9be0db44e9","name":"Delete Clocking Point","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/ClockingPoints/{{ClockingPointId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Sun, 14 Sep 2025 20:18:14 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"25c62eae-5d6e-4f8e-9511-f177e3982877"}],"id":"5c81922f-00f0-4091-a0b0-1825d67b3d84","description":"<p>Clocking Points represent the physical or virtual locations where users register their clocking events, such as arrivals, departures, or absences. Each clocking point can include additional details like descriptions, geolocation, and connected beacons.</p>\n<p>The ClockingPoints API provides endpoints to create, retrieve, update, delete, and summarize clocking points, ensuring full control over how and where time events are recorded.</p>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/ClockingPoints?searchTerm=ZT\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available adjustment definitions.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"966aafbc-13b2-462a-a51f-434af32517f6","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"b372ff41-ca59-42fe-9dbc-717c1f0cd2f6","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"5c81922f-00f0-4091-a0b0-1825d67b3d84"},{"name":"Geo Locations","item":[{"name":"Get Geolocations","id":"9d90b538-5c30-46a6-91a4-ecb844dc1c7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/GeoLocations","description":"<p>This endpoint retrieves geolocation data linked to clocking points. You can filter the results either by providing a <code>clockingPointId</code> or by using a <code>searchTerm</code> keyword.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/GeoLocations</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>clockingPointId</code></td>\n<td>string</td>\n<td>No</td>\n<td>The unique identifier of the clocking point used to filter geolocation data.</td>\n</tr>\n<tr>\n<td><code>searchTerm</code></td>\n<td>string</td>\n<td>No</td>\n<td>A keyword to filter results, typically by name.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - Geolocation data was successfully retrieved. The response contains a list of geolocation records in JSON format.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to incorrect parameter values.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","GeoLocations"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"25cd1ba4-8d16-4107-909f-0c3302ae8449","name":"Get Geolocations","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/GeoLocations"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 11:21:09 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"504bab9e-bfa6-48d5-5647-08dd6d0f4037\",\n        \"Name\": \"HQ\",\n        \"Latitude\": 46.0990269,\n        \"Longitude\": 14.53746189999999,\n        \"Radius\": 200,\n        \"ClockingPointId\": \"4ec598a5-e493-4ded-6f5a-08dd6d0f12a6\"\n    },\n    {\n        \"Id\": \"7bb19334-0b6e-4abc-2b3d-08dd9c52d335\",\n        \"Name\": \"Japan\",\n        \"Latitude\": 46.056946,\n        \"Longitude\": 14.505751,\n        \"Radius\": 50000,\n        \"ClockingPointId\": \"ddf9072b-ebf3-4917-b0d1-08dd9c41a467\"\n    },\n    {\n        \"Id\": \"14a50543-b9a2-4f74-beb7-08ddde59660a\",\n        \"Name\": \"Cafe\",\n        \"Latitude\": 46.056946,\n        \"Longitude\": 14.505751,\n        \"Radius\": 200,\n        \"ClockingPointId\": \"eec2185d-d6e7-42bc-7615-08ddd59464e4\"\n    }\n]"}],"_postman_id":"9d90b538-5c30-46a6-91a4-ecb844dc1c7d"},{"name":"Create Geolocation","id":"2cb3decc-4600-4f09-8cf5-453f83685f49","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"HQ at Sweden\",\r\n  \"Latitude\": 62,\r\n  \"Longitude\": 17,\r\n  \"Radius\": 5000,\r\n  \"ClockingPointId\": \"{{ClockingPointId}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/GeoLocations","description":"<p>Creates a new geolocation record associated with a clocking point.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/GeoLocations</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Name (string, required)</code>: The name of the geolocation.</p>\n</li>\n<li><p><code>Latitude (number, required)</code>: The latitude coordinate of the geolocation.</p>\n</li>\n<li><p><code>Longitude (number, required)</code>: The longitude coordinate of the geolocation.</p>\n</li>\n<li><p><code>Radius (number, required)</code>: The radius around the geolocation point in meters.</p>\n</li>\n<li><p><code>ClockingPointId (string, required)</code>: The unique identifier of the clocking point the geolocation belongs to.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The geolocation was successfully created. The response includes the created geolocation record.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing or incorrect fields.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","GeoLocations"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"e57dcfeb-8cca-4099-8a4d-b897a369f947","name":"Create Geolocation","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"HQ at Sweden\",\r\n  \"Latitude\": 62,\r\n  \"Longitude\": 17,\r\n  \"Radius\": 5000,\r\n  \"ClockingPointId\": \"{{ClockingPointId}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/GeoLocations"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 11:32:43 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"40c200ee-307c-4e29-7fd9-08ddf13cd500\",\n    \"Name\": \"HQ at Sweden\",\n    \"Latitude\": 62,\n    \"Longitude\": 17,\n    \"Radius\": 5000,\n    \"ClockingPointId\": \"f5275b9c-92f2-4696-0261-08dd607c383a\"\n}"}],"_postman_id":"2cb3decc-4600-4f09-8cf5-453f83685f49"},{"name":"Update Geolocation","id":"19eaf93c-e956-4a06-88dd-4522979f6059","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{GeolocationId}}\",\r\n  \"Name\": \"Sweden HQ\",\r\n  \"Latitude\": 62,\r\n  \"Longitude\": 17,\r\n  \"Radius\": 100000000\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/GeoLocations/{{GeolocationId}}","description":"<p>Updates an existing geolocation record by its unique identifier (<code>id</code>).</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/GeoLocations/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the geolocation to update.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: The unique identifier of the geolocation. Must match the <code>id</code> path parameter.</p>\n</li>\n<li><p><code>Name (string, required)</code>: The name of the geolocation.</p>\n</li>\n<li><p><code>Latitude (number, required)</code>: The latitude coordinate of the geolocation.</p>\n</li>\n<li><p><code>Longitude (number, required)</code>: The longitude coordinate of the geolocation.</p>\n</li>\n<li><p><code>Radius (number, required)</code>: The radius around the geolocation point in meters.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The geolocation was successfully updated. The response includes the updated geolocation record.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing or incorrect fields, or a mismatch between the path <code>id</code> and body <code>Id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","GeoLocations","{{GeolocationId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"bc1b4f2d-f54f-422a-aade-4e2300370f14","name":"Update Geolocation","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{GeolocationId}}\",\r\n  \"Name\": \"Sweden HQ\",\r\n  \"Latitude\": 62,\r\n  \"Longitude\": 17,\r\n  \"Radius\": 100000000\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/GeoLocations/{{GeolocationId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 11:38:48 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"40c200ee-307c-4e29-7fd9-08ddf13cd500\",\n    \"Name\": \"Sweden HQ\",\n    \"Latitude\": 62,\n    \"Longitude\": 17,\n    \"Radius\": 100000000,\n    \"ClockingPointId\": \"f5275b9c-92f2-4696-0261-08dd607c383a\"\n}"}],"_postman_id":"19eaf93c-e956-4a06-88dd-4522979f6059"},{"name":"Delete Geolocation","id":"e2160140-eca3-43bb-b87e-9c9130b3e512","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/GeoLocations/{{GeolocationId}}","description":"<p>This endpoint deletes an existing geolocation by its unique identifier (<code>id</code>). Ensure the <code>id</code> provided is valid to avoid accidental deletions.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/GeoLocations/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\">Path Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the geolocation to delete.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure the provided <code>id</code> is accurate to prevent unintended data loss.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The geolocation was successfully deleted. The response includes confirmation details.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to an incorrect or missing <code>id</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","GeoLocations","{{GeolocationId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"106bb941-0b99-4e85-8662-87af3e1afe0d","name":"Delete Geolocation","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/GeoLocations/{{GeolocationId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Mon, 15 Sep 2025 11:43:45 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"Content-Type","value":"application/json","description":""}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e2160140-eca3-43bb-b87e-9c9130b3e512"}],"id":"1ccb7049-ed32-4ee0-80e4-bb553b03e82c","description":"<p>The GeoLocations endpoints allow you to manage geolocations linked to clocking points. They let you create, retrieve, update, and delete geolocation records. Each geolocation includes a name, coordinates (latitude and longitude), and a radius, and is associated with a specific clocking point. These endpoints are typically used to define physical boundaries for clockings, such as office locations or work zones.</p>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/GeoLocations?searchTerm=The Sea\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available absences.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"62b3b04f-4c2a-49aa-b8c0-c7bdf1d31659","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"053abeb6-86f5-4e2c-8f2c-64a4c070601f","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"1ccb7049-ed32-4ee0-80e4-bb553b03e82c"},{"name":"Beacons","item":[{"name":"Beacons","id":"4757cc81-06e2-434a-bc86-04932eaef7b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Beacons","description":"<p>This endpoint retrieves a list of beacons, which can be filtered using a clocking point ID or a search term.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Beacons</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clockingPointId</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filters beacons associated with a specific clocking point.</td>\n</tr>\n<tr>\n<td>searchTerm</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Searches for beacons by a keyword or partial name.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<p><code>200 OK</code> - The request was successful, and the response contains beacon data in JSON format.<br /><code>400 Bad Request</code> - The request was malformed, possibly due to invalid query parameters.</p>\n","urlObject":{"path":["api","v1","Beacons"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"f4bf8ce3-63d4-4287-98a3-3ecb2aa04cb9","name":"Beacons","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Beacons"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 11 Mar 2025 09:08:54 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"a9881180-77de-45d1-cdfa-08dd607bded8\",\n        \"Name\": \"Beacon1\",\n        \"MajorValue\": 23321,\n        \"MinorValue\": 21354,\n        \"ClockingPointId\": \"972a29ee-6672-4d55-58f2-08dd607bada3\",\n        \"Uuid\": \"48fc90ff-8a79-4df5-8f04-cab396c7998e\"\n    },\n    {\n        \"Id\": \"0c49075a-a052-4e3a-c934-08dd607c4cd4\",\n        \"Name\": \"Beacon2\",\n        \"MajorValue\": 55647,\n        \"MinorValue\": 42069,\n        \"ClockingPointId\": \"f5275b9c-92f2-4696-0261-08dd607c383a\",\n        \"Uuid\": \"596ffb76-766b-4216-8b91-c208fdd99c79\"\n    }\n]"}],"_postman_id":"4757cc81-06e2-434a-bc86-04932eaef7b5"},{"name":"Create a New Beacon","id":"fe7b240c-d679-423b-af3e-afce030e13d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"Beacon3\",\r\n  \"MajorValue\": 12879,\r\n  \"MinorValue\": 55983,\r\n  \"ClockingPointId\": \"{{ClockingPointId}}\",\r\n  \"Uuid\": \"{{RandomUUID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Beacons","description":"<p>This endpoint allows you to create a new beacon entry. The request must include a JSON payload with the necessary details, such as the beacon's name, major and minor values, associated clocking point ID, and UUID.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Beacons</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Name (string, required):</code> The name of the beacon.</p>\n</li>\n<li><p><code>MajorValue (integer, required):</code> The major value assigned to the beacon.</p>\n</li>\n<li><p><code>MinorValue (integer, required):</code> The minor value assigned to the beacon.</p>\n</li>\n<li><p><code>ClockingPointId (string, required):</code> The unique identifier of the clocking point associated with the beacon.</p>\n</li>\n<li><p><code>Uuid (string, required):</code> The universally unique identifier (UUID) of the beacon.</p>\n</li>\n<li><p><code>MajorValue</code> and <code>MinorValue</code> must be valid integers.</p>\n</li>\n<li><p><code>ClockingPointId</code> and <code>Uuid</code> should be valid UUIDs.</p>\n</li>\n</ul>\n<h4 id=\"responses\">Responses</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<p><code>201 Created</code> - The beacon was successfully created, and the response includes the details of the new beacon.<br /><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n","urlObject":{"path":["api","v1","Beacons"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"f16dd9b5-f0d6-4002-b5a4-77e6fbcd3dda","name":"Create a New Beacon","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Name\": \"Beacon3\",\r\n  \"MajorValue\": 12879,\r\n  \"MinorValue\": 55983,\r\n  \"ClockingPointId\": \"{{ClockingPointId}}\",\r\n  \"Uuid\": \"{{RandomUUID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Beacons"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 11 Mar 2025 09:27:45 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"fb7e635f-ce6e-4090-6dd7-08dd607efba8\",\n    \"Name\": \"Beacon3\",\n    \"MajorValue\": 12879,\n    \"MinorValue\": 55983,\n    \"ClockingPointId\": \"f5275b9c-92f2-4696-0261-08dd607c383a\",\n    \"Uuid\": \"d901b005-e7ee-4c05-a24f-d7298f86f5bf\"\n}"}],"_postman_id":"fe7b240c-d679-423b-af3e-afce030e13d5"},{"name":"Update a Beacon","id":"76cbc638-0338-4b79-9514-e1849db426f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{BeaconId}}\",\r\n  \"Name\": \"Different Name\",\r\n  \"MajorValue\": 66666,\r\n  \"MinorValue\": 11111\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Beacons/{{BeaconId}}","description":"<p>This API endpoint allows you to update an existing beacon by specifying its unique identifier (<code>id</code>) in the path and providing the updated details in the request body also it ensures that beacon information remains up to date while maintaining data integrity.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Beacons/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td><strong>Yes</strong></td>\n<td>The unique identifier of the beacon to be updated.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>The <code>id</code> in the path must match the <code>Id</code> field in the request body.</li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>Id (string, required):</code> The unique identifier of the beacon.</p>\n</li>\n<li><p><code>Name (string, required):</code> The updated name of the beacon.</p>\n</li>\n<li><p><code>MajorValue (integer, required):</code> The major value assigned to the beacon.</p>\n</li>\n<li><p><code>MinorValue (integer, required):</code> The minor value assigned to the beacon.</p>\n</li>\n</ul>\n<h4 id=\"responses\">Responses</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<p><code>200 OK</code> - The beacon was successfully updated. The response contains a JSON object confirming the successful update.<br /><code>400 Bad Request</code> - The request is invalid, possibly due to missing required fields or incorrect data formats.</p>\n","urlObject":{"path":["api","v1","Beacons","{{BeaconId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"6d37e100-da41-4308-98d0-a808d913e75a","name":"Update a Beacon","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"Id\": \"{{BeaconId}}\",\r\n  \"Name\": \"Different Name\",\r\n  \"MajorValue\": 66666,\r\n  \"MinorValue\": 11111\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Beacons/{{BeaconId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 11 Mar 2025 10:11:41 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"fb7e635f-ce6e-4090-6dd7-08dd607efba8\",\n    \"Name\": \"Different Name\",\n    \"MajorValue\": 66666,\n    \"MinorValue\": 11111,\n    \"ClockingPointId\": \"f5275b9c-92f2-4696-0261-08dd607c383a\",\n    \"Uuid\": \"d901b005-e7ee-4c05-a24f-d7298f86f5bf\"\n}"}],"_postman_id":"76cbc638-0338-4b79-9514-e1849db426f1"},{"name":"Remove a Beacon","id":"b4272780-887c-4e1b-9f9c-c8cb73b48be6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Beacons/{{BeaconId}}","description":"<p>This API endpoint allows you to delete an existing beacon by specifying its unique identifier (<code>id</code>) in the path.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Beacons/{id}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the beacon to be deleted.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Ensure that the provided <code>id</code> exists before making the delete request.</li>\n</ul>\n<h4 id=\"responses\"><strong>Responses</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<p><code>200 OK</code> - The beacon was successfully deleted.<br /><code>400 Bad Request</code> - The request is invalid, possibly due to an incorrect or missing <code>id</code>.</p>\n","urlObject":{"path":["api","v1","Beacons","{{BeaconId}}"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"91868a12-f8a8-4a47-9c55-338e5583a126","name":"Remove a Beacon","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Beacons/{{BeaconId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Tue, 11 Mar 2025 10:50:37 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b4272780-887c-4e1b-9f9c-c8cb73b48be6"}],"id":"d8dc0c6e-0524-460d-b6a1-361f69e1bd0e","description":"<p>The Beacons API allows users to manage beacon information efficiently. It lets you add new beacons, view specific or all existing ones, update details when needed, or remove outdated entries all in a straightforward way.</p>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/Beacons?searchTerm=Beacon1\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the adjustments (usually by name). When not provided, the endpoint returns all available adjustments.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"e10c70b0-ebeb-4bd5-b771-491e042531ef","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"9b95e870-320f-43a0-82b1-9486b0018bdb","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"d8dc0c6e-0524-460d-b6a1-361f69e1bd0e"},{"name":"Users","item":[{"name":"Retrieve Users","id":"c80a8b21-d45a-4f63-90b2-fcf177984bd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Users?organizationUnitId={{DepartmentId}}","description":"<p>This endpoint retrieves user records with options to filter results by search term, tag IDs, or organizational unit IDs. You can use these filters to narrow down the user list to specific categories or organizational segments.</p>\n<p>This is ideal for user management features such as listing, searching, filtering by tags or units, or building administrative tools for managing users across departments.</p>\n<ul>\n<li><strong>Endpoint:</strong><code>/api/v1/Users</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter users based on name or ID.</td>\n</tr>\n<tr>\n<td><code>tagId</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filter users by one or more tag IDs.</td>\n</tr>\n<tr>\n<td><code>organizationUnitId</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filter users by one or more organization unit IDs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> – The request was successful, and a JSON response containing user data is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> – The request was malformed. This may happen if the query parameters are invalid or improperly formatted.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users"],"host":["https://api4.allhours.com"],"query":[{"key":"organizationUnitId","value":"{{DepartmentId}}"}],"variable":[]}},"response":[{"id":"474a3aef-b959-44ba-8f7f-b6e593b60dae","name":"Retrieve Users","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Users?organizationUnitId={{DepartmentId}}","host":["https://api4.allhours.com"],"path":["api","v1","Users"],"query":[{"key":"organizationUnitId","value":"{{DepartmentId}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 03 Jun 2025 09:58:36 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"LastName\": \"Buckswel\",\n        \"MiddleName\": null,\n        \"FullName\": \"Makswell Buckswel\",\n        \"BirthDate\": null,\n        \"Address\": null,\n        \"City\": null,\n        \"State\": null,\n        \"Phone\": null,\n        \"Mobile\": null,\n        \"Email\": \"makswellbuckswel@gmail.com\",\n        \"Gender\": \"\",\n        \"PictureUri\": null,\n        \"CustomId\": \"Payroll code\",\n        \"CustomField1\": null,\n        \"CustomField2\": null,\n        \"CustomField3\": null,\n        \"CustomField4\": null,\n        \"CustomField5\": null,\n        \"CustomField6\": null,\n        \"CustomField7\": null,\n        \"CustomField8\": null,\n        \"CustomField9\": null,\n        \"CustomField10\": null,\n        \"IsTimeAttendanceUser\": true,\n        \"IsArchived\": false,\n        \"HasUserAccount\": true,\n        \"UserAccountId\": \"15902577-86e8-48f9-7850-08dd1ec7b945\",\n        \"UserName\": null,\n        \"CalculationStartDate\": \"2024-12-01T00:00:00\",\n        \"CalculationStopDate\": null,\n        \"HasAssignedPin\": null\n    },\n    {\n        \"Id\": \"8df54a8d-8804-4817-f6de-08dd4d8b972f\",\n        \"FirstName\": \"Luke\",\n        \"LastName\": \"Skywalker\",\n        \"MiddleName\": null,\n        \"FullName\": \"Luke Skywalker\",\n        \"BirthDate\": null,\n        \"Address\": null,\n        \"City\": null,\n        \"State\": null,\n        \"Phone\": null,\n        \"Mobile\": null,\n        \"Email\": \"lukehighground@gmail.com\",\n        \"Gender\": \"\",\n        \"PictureUri\": null,\n        \"CustomId\": \"Payroll code\",\n        \"CustomField1\": null,\n        \"CustomField2\": null,\n        \"CustomField3\": null,\n        \"CustomField4\": null,\n        \"CustomField5\": null,\n        \"CustomField6\": null,\n        \"CustomField7\": null,\n        \"CustomField8\": null,\n        \"CustomField9\": null,\n        \"CustomField10\": null,\n        \"IsTimeAttendanceUser\": true,\n        \"IsArchived\": false,\n        \"HasUserAccount\": true,\n        \"UserAccountId\": \"acaa9c19-9948-47c2-b680-08dd4d8b96f6\",\n        \"UserName\": null,\n        \"CalculationStartDate\": \"2025-01-01T00:00:00\",\n        \"CalculationStopDate\": null,\n        \"HasAssignedPin\": null\n    }\n]"}],"_postman_id":"c80a8b21-d45a-4f63-90b2-fcf177984bd6"},{"name":"Retrieve Basic User Information","id":"1f0590f1-d401-4cec-8112-9c61599f6e85","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Users/Basic","description":"<p>This endpoint retrieves a list of users with basic profile information. It supports optional filtering based on search terms, tags, organization units, and user types. This is useful when a lightweight version of user data is required, such as for user selection dialogs or system integrations.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Basic</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword used to filter users by name, email, or other basic identifiers.</td>\n</tr>\n<tr>\n<td><code>tagId</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>One or more tag IDs to filter users by assigned tags.</td>\n</tr>\n<tr>\n<td><code>organizationUnitId</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>One or more organization unit IDs to filter users by department.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><code>200 OK</code> - The request was successful, and a JSON response containing the filtered list of users is returned.</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Basic"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"afdd360b-7a02-46da-841b-5a280653d437","name":"Retrieve Basic User Information","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Users/Basic"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 03 Jun 2025 20:48:41 GMT"},{"key":"Cache-Control","value":"private,max-age=900"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"393fcab6-2522-426f-771a-08dda22c3ed6\",\n        \"Name\": \"Bravo Johnny\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2025-06-01T00:00:00\",\n        \"CalculationStopDate\": null\n    },\n    {\n        \"Id\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"Name\": \"Buckswel Makswell\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2024-12-01T00:00:00\",\n        \"CalculationStopDate\": null\n    },\n    {\n        \"Id\": \"8e880eb6-b40a-4078-ca88-08dd92a71206\",\n        \"Name\": \"Černe Mojca\",\n        \"IsArchived\": true,\n        \"CalculationStartDate\": \"2025-05-01T00:00:00\",\n        \"CalculationStopDate\": \"2025-06-01T23:59:59.999\"\n    },\n    {\n        \"Id\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"Name\": \"Furlan Andraž\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2024-03-07T00:00:00\",\n        \"CalculationStopDate\": null\n    },\n    {\n        \"Id\": \"e279cc1b-d4f6-4c71-ca8b-08dd92a71206\",\n        \"Name\": \"Golob Matevž\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2025-05-01T00:00:00\",\n        \"CalculationStopDate\": null\n    },\n    {\n        \"Id\": \"a909a42e-9c19-4e50-771b-08dda22c3ed6\",\n        \"Name\": \"McNelly Jack\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2025-06-01T00:00:00\",\n        \"CalculationStopDate\": null\n    },\n    {\n        \"Id\": \"c2f77136-e7ce-462a-ca89-08dd92a71206\",\n        \"Name\": \"Mlinar Petra\",\n        \"IsArchived\": true,\n        \"CalculationStartDate\": \"2025-05-01T00:00:00\",\n        \"CalculationStopDate\": \"2025-06-01T23:59:59.999\"\n    },\n    {\n        \"Id\": \"41789f51-a7b4-404c-ca8d-08dd92a71206\",\n        \"Name\": \"Močilnik Tone\",\n        \"IsArchived\": true,\n        \"CalculationStartDate\": \"2025-05-01T00:00:00\",\n        \"CalculationStopDate\": \"2025-06-01T23:59:59.999\"\n    },\n    {\n        \"Id\": \"8df54a8d-8804-4817-f6de-08dd4d8b972f\",\n        \"Name\": \"Skywalker Luke\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2025-01-01T00:00:00\",\n        \"CalculationStopDate\": null\n    },\n    {\n        \"Id\": \"a80162f1-125d-4afb-ca8c-08dd92a71206\",\n        \"Name\": \"Zajc Boštjan\",\n        \"IsArchived\": false,\n        \"CalculationStartDate\": \"2025-05-01T00:00:00\",\n        \"CalculationStopDate\": null\n    }\n]"}],"_postman_id":"1f0590f1-d401-4cec-8112-9c61599f6e85"},{"name":"Retrieve User Summary","id":"e827c60c-370c-430d-9c05-79ddb34700f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/Users/Summary/Query?searchTerm=Makswell","description":"<p>This endpoint retrieves a detailed summary of users, providing more than just basic user information. It allows filtering by search term. This is ideal when you need a comprehensive view of users including their associated work plans, organizational units, calendar groups, authorization roles, identifiers, tags, and more.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Summary/Query</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>searchTerm</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>A keyword to filter users based on name or ID.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Maximum number of records to return in the result.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><code>200 OK</code> – The request was successful and a JSON array of user summaries is returned.</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Summary","Query"],"host":["https://api4.allhours.com"],"query":[{"key":"searchTerm","value":"Makswell"}],"variable":[]}},"response":[{"id":"d246f2c8-83d3-4ecb-bc43-acbf47d4e6e3","name":"Retrieve User Summary","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/Users/Summary/Query?searchTerm=Makswell","host":["https://api4.allhours.com"],"path":["api","v1","Users","Summary","Query"],"query":[{"key":"searchTerm","value":"Makswell"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 03 Jun 2025 10:29:47 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"CurrentWorkPlan\": {\n            \"Id\": \"6ae5bc75-4995-406f-6574-08dd0d23b352\",\n            \"Name\": \"6:00 - 22:00 (8h plan)\"\n        },\n        \"CurrentOrganizationUnit\": {\n            \"Id\": \"1ae31d36-03a2-455f-8e59-08dd4d8b96e7\",\n            \"Name\": \"HighGround\"\n        },\n        \"CurrentCalendarGroup\": {\n            \"Id\": \"30bc2178-c856-4c9c-7acc-08dcfd855175\",\n            \"Name\": \"Slovenian\"\n        },\n        \"AuthorizationRoles\": [\n            {\n                \"Id\": \"4b7cc876-fd71-4502-8e56-08dd92d920b2\",\n                \"Name\": \"Employee - payroll editor\"\n            }\n        ],\n        \"Identifiers\": [\n            {\n                \"Id\": \"d9a52d0e-c325-49d0-28e4-08dd8955fb74\",\n                \"Value\": \"2435534349\"\n            }\n        ],\n        \"Tags\": [\n            {\n                \"Id\": \"8ddee63a-a2c8-444c-7fd8-08dd2328e61b\",\n                \"Name\": \"Report Administrator\",\n                \"Color\": 0\n            }\n        ],\n        \"ClockingPoints\": [],\n        \"TagRestrictions\": [],\n        \"OrganizationUnitRestrictions\": [],\n        \"Id\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"FirstName\": \"Makswell\",\n        \"LastName\": \"Buckswel\",\n        \"MiddleName\": null,\n        \"FullName\": \"Makswell Buckswel\",\n        \"BirthDate\": null,\n        \"Address\": null,\n        \"City\": null,\n        \"State\": null,\n        \"Phone\": null,\n        \"Mobile\": null,\n        \"Email\": \"makswellbuckswel@gmail.com\",\n        \"Gender\": \"\",\n        \"PictureUri\": null,\n        \"CustomId\": \"Payroll code\",\n        \"CustomField1\": null,\n        \"CustomField2\": null,\n        \"CustomField3\": null,\n        \"CustomField4\": null,\n        \"CustomField5\": null,\n        \"CustomField6\": null,\n        \"CustomField7\": null,\n        \"CustomField8\": null,\n        \"CustomField9\": null,\n        \"CustomField10\": null,\n        \"IsTimeAttendanceUser\": true,\n        \"IsArchived\": false,\n        \"HasUserAccount\": true,\n        \"UserAccountId\": \"15902577-86e8-48f9-7850-08dd1ec7b945\",\n        \"UserName\": null,\n        \"CalculationStartDate\": \"2024-12-01T00:00:00\",\n        \"CalculationStopDate\": null,\n        \"HasAssignedPin\": null\n    }\n]"}],"_postman_id":"e827c60c-370c-430d-9c05-79ddb34700f0"},{"name":"Create a New User","id":"d1c17cc5-b84a-4f5f-b8a1-6d4e825c9a17","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"FirstName\": \"Johnny\",\r\n  \"LastName\": \"Bravo\",\r\n  \"MiddleName\": null,\r\n  \"FullName\": \"\",\r\n  \"BirthDate\": null,\r\n  \"Address\": null,\r\n  \"City\": null,\r\n  \"State\": null,\r\n  \"Phone\": null,\r\n  \"Mobile\": null,\r\n  \"Email\": \"johnnybravo@gmail.com\",\r\n  \"Gender\": null,\r\n  \"PictureUri\": null,\r\n  \"CustomId\": \"A120568\",\r\n  \"CustomField1\": null,\r\n  \"CustomField2\": null,\r\n  \"CustomField3\": null,\r\n  \"CustomField4\": null,\r\n  \"CustomField5\": null,\r\n  \"CustomField6\": null,\r\n  \"CustomField7\": null,\r\n  \"CustomField8\": null,\r\n  \"CustomField9\": null,\r\n  \"CustomField10\": null,\r\n  \"IsTimeAttendanceUser\": true,\r\n  \"IsArchived\": false,\r\n  \"HasUserAccount\": true,\r\n  \"UserAccountId\": null,\r\n  \"CalculationStartDate\": \"2025-06-01\",\r\n  \"CalculationStopDate\": null,\r\n  \"HasAssignedPin\": false,\r\n  \"SendInvite\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users","description":"<p>This endpoint allows you to create a new user within the system by submitting the necessary user information in the request body. It is commonly used to onboard new employees or system users by providing personal details, contact information, and custom fields.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>FirstName (string, required)</code>: The user's first name.</p>\n</li>\n<li><p><code>LastName (string, required)</code>: The user's last name.</p>\n</li>\n<li><p><code>Email (string, optional)</code>: User's email</p>\n</li>\n<li><p><code>CalculationStartDate (date, required)</code>: The date when the user becomes active in the program.</p>\n</li>\n<li><p><code>CalculationStopDate (date, optional)</code>: In case you are using POST you should leave this empty</p>\n</li>\n<li><p><code>IsTimeAttendanceUser (boolean, optional)</code>: Field which toggles if the user is visible on Time&amp;Attendece views</p>\n</li>\n<li><p><code>IsArchived (boolean, optional)</code>: Changes the archive status for the user</p>\n</li>\n<li><p><code>SendInvite (boolean, optional)</code>: Sends the user an email invitation containing a URL to set their access code</p>\n</li>\n<li><p><code>HasUserAccount (boolean, required)</code>: Set to True if the user has an email address; otherwise, set to False.</p>\n</li>\n<li><p><code>UserAccountId (boolean, required)</code>: This field should always be null as it will be auto-populated with a UUID in case the user has an email address present</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The user was successfully created, and a JSON object containing the new user's details is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This can occur if any required fields are missing or incorrectly formatted.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"a2284423-ee13-47e9-bec7-1df2646e0552","name":"Create a New User","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"FirstName\": \"Johnny\",\r\n  \"LastName\": \"Bravo\",\r\n  \"MiddleName\": null,\r\n  \"FullName\": \"\",\r\n  \"BirthDate\": null,\r\n  \"Address\": null,\r\n  \"City\": null,\r\n  \"State\": null,\r\n  \"Phone\": null,\r\n  \"Mobile\": null,\r\n  \"Email\": \"johnnybravo@gmail.com\",\r\n  \"Gender\": null,\r\n  \"PictureUri\": null,\r\n  \"CustomId\": \"A120568\",\r\n  \"CustomField1\": null,\r\n  \"CustomField2\": null,\r\n  \"CustomField3\": null,\r\n  \"CustomField4\": null,\r\n  \"CustomField5\": null,\r\n  \"CustomField6\": null,\r\n  \"CustomField7\": null,\r\n  \"CustomField8\": null,\r\n  \"CustomField9\": null,\r\n  \"CustomField10\": null,\r\n  \"IsTimeAttendanceUser\": true,\r\n  \"IsArchived\": false,\r\n  \"HasUserAccount\": true,\r\n  \"UserAccountId\": null,\r\n  \"CalculationStartDate\": \"2025-06-01\",\r\n  \"CalculationStopDate\": null,\r\n  \"HasAssignedPin\": false,\r\n  \"SendInvite\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 03 Jun 2025 18:29:18 GMT"},{"key":"Location","value":"Create"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"Id\": \"393fcab6-2522-426f-771a-08dda22c3ed6\",\n    \"FirstName\": \"Johnny\",\n    \"LastName\": \"Bravo\",\n    \"MiddleName\": null,\n    \"FullName\": \"Johnny Bravo\",\n    \"BirthDate\": null,\n    \"Address\": null,\n    \"City\": null,\n    \"State\": null,\n    \"Phone\": null,\n    \"Mobile\": null,\n    \"Email\": \"johnnybravo@gmail.com\",\n    \"Gender\": \"\",\n    \"PictureUri\": null,\n    \"CustomId\": \"A120568\",\n    \"CustomField1\": null,\n    \"CustomField2\": null,\n    \"CustomField3\": null,\n    \"CustomField4\": null,\n    \"CustomField5\": null,\n    \"CustomField6\": null,\n    \"CustomField7\": null,\n    \"CustomField8\": null,\n    \"CustomField9\": null,\n    \"CustomField10\": null,\n    \"IsTimeAttendanceUser\": true,\n    \"IsArchived\": false,\n    \"HasUserAccount\": true,\n    \"UserAccountId\": \"8d441ae1-602f-4736-6d9b-08dda22c3ea9\",\n    \"UserName\": null,\n    \"CalculationStartDate\": \"2025-06-01T00:00:00\",\n    \"CalculationStopDate\": null,\n    \"HasAssignedPin\": null\n}"}],"_postman_id":"d1c17cc5-b84a-4f5f-b8a1-6d4e825c9a17"},{"name":"Bulk Archive Users","id":"fffabe06-4361-44d3-88f9-970559ad9e6c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"UserId\": \"{{UserId}}\",\r\n    \"IsTimeAttendanceUser\": false,\r\n    \"ArchiveAt\": \"2025-06-01\"\r\n  },\r\n\r\n  {\r\n    \"UserId\": \"{{UserId}}\",\r\n    \"IsTimeAttendanceUser\": false,\r\n    \"ArchiveAt\": \"2025-06-01\"\r\n  },\r\n\r\n  {\r\n    \"UserId\": \"{{UserId}}\",\r\n    \"IsTimeAttendanceUser\": false,\r\n    \"ArchiveAt\": \"2025-06-01\"\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Archive/Bulk","description":"<p>This endpoint allows you to archive multiple users in bulk by submitting a list of user records in the request body. Archiving users is helpful when users leave the organization or need to be deactivated from the time and attendance system without permanently deleting their records.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Archive/Bulk</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>UserId (string, required)</code>: The unique identifier of the user to be archived.</p>\n</li>\n<li><p><code>IsTimeAttendanceUser (boolean, required)</code>: Indicates whether the user will still be visible on time and attendance views.</p>\n</li>\n<li><p><code>ArchiveAt (string, required)</code>: The date and time at which the user should be archived.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The users were successfully archived, and a confirmation is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was malformed. This could be due to missing required fields or incorrectly formatted data.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Archive","Bulk"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"401b8402-ea54-403b-bd89-c83b47461787","name":"Bulk Archive Users","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"UserId\": \"{{UserId}}\",\r\n    \"IsTimeAttendanceUser\": false,\r\n    \"ArchiveAt\": \"2025-06-01\"\r\n  },\r\n\r\n  {\r\n    \"UserId\": \"{{UserId}}\",\r\n    \"IsTimeAttendanceUser\": false,\r\n    \"ArchiveAt\": \"2025-06-01\"\r\n  },\r\n\r\n  {\r\n    \"UserId\": \"{{UserId}}\",\r\n    \"IsTimeAttendanceUser\": false,\r\n    \"ArchiveAt\": \"2025-06-01\"\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Archive/Bulk"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Tue, 03 Jun 2025 18:54:03 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fffabe06-4361-44d3-88f9-970559ad9e6c"},{"name":"Import Users","id":"6f42f389-958d-4c72-bf0b-4b75084bb9e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"CreatedOn\": \"2025-11-24\",\r\n        \"FirstName\": \"Jack\",\r\n        \"LastName\": \"Bleak\",\r\n        \"BirthDate\": \"2000-11-24\",\r\n        \"Address\": null,\r\n        \"City\": null,\r\n        \"State\": null,\r\n        \"Phone\": null,\r\n        \"Mobile\": null,\r\n        \"Email\": null,\r\n        \"Gender\": \"Male\",\r\n        \"PictureUri\": null,\r\n        \"CustomId\": \"A56387\",\r\n        \"CustomField1\": null,\r\n        \"CustomField2\": null,\r\n        \"CustomField3\": null,\r\n        \"CustomField4\": null,\r\n        \"CustomField5\": null,\r\n        \"CustomField6\": null,\r\n        \"CustomField7\": null,\r\n        \"CustomField8\": null,\r\n        \"CustomField9\": null,\r\n        \"CustomField10\": null,\r\n        \"IsTimeAttendanceUser\": false,\r\n        \"IsArchived\": false,\r\n        \"HasUserAccount\": false,\r\n        \"UserAccountId\": null,\r\n        \"CalculationStartDate\": \"2025-11-01\",\r\n        \"SendInvite\": false,\r\n        \"TraceId\": \"Testing IMPORT\",\r\n        \"IdentifierValues\": [\"{{IdentifierValue}}\"],\r\n        \"AuthorizationRoleIds\": [\"{{AuthorizationRoleId}}\"],\r\n        \"BalanceOfHours\": 0,\r\n        \"VacationDays\": 0,\r\n        \"LastYearVacationDays\": 0,\r\n        \"WorkPlanId\": \"{{WorkPlanId}}\",\r\n        \"OrganizationUnits\": \"Department/Subdepartment/Subdepartment2\"\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Import","description":"<p>This endpoint allows for importing one or more users into the system with detailed account, attendance, and organizational information. It is typically used during initial data setup or for syncing users from an external system.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Import</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>FirstName (string, required)</code>: The user's first name.</p>\n</li>\n<li><p><code>LastName (string, required)</code>: The user's last name.</p>\n</li>\n<li><p><code>Email (string, optional)</code>: User's email</p>\n</li>\n<li><p><code>CalculationStartDate (date, required)</code>: The date when the user becomes active in the program.</p>\n</li>\n<li><p><code>IsTimeAttendanceUser (boolean, optional</code>): Field which toggles if the user is visible on Time&amp;Attendece views</p>\n</li>\n<li><p><code>IsArchived (boolean, optional)</code>: Changes the archive status for the user</p>\n</li>\n<li><p><code>SendInvite (boolean, optional)</code>: Sends the user an email invitation containing a URL to set their access code</p>\n</li>\n<li><p><code>HasUserAccount (boolean, required)</code>: Set to True if the user has an email address; otherwise, set to False.</p>\n</li>\n<li><p><code>UserAccountId (boolean, required)</code>: This field should always be null as it will be auto-populated with a UUID in case the user has an email address present</p>\n</li>\n<li><p><code>IdentifierIds (array of strings, optional)</code>: List of identifier IDs associated with the user.</p>\n</li>\n<li><p><code>AuthorizationRoleIds (array of strings, optional)</code>: IDs of the roles assigned to the user.</p>\n</li>\n<li><p><code>BalanceOfHours (integer, optional)</code>: Total balanced hours assigned to the user.</p>\n</li>\n<li><p><code>VacationDays (integer, optional)</code>: All vacation days last years + this years.</p>\n</li>\n<li><p><code>LastYearVacationDays (integer, optional)</code>: Remaining vacation days from the previous year.</p>\n</li>\n<li><p><code>OrganizationUnits (string, optional)</code>: The name of the user's organizational unit. In case the users organizational unit is subdepartment the field should be <code>UNIT/SUBUNIT/SUBUNIT1</code>.</p>\n</li>\n<li><p><code>WorkPlanId (string, optional)</code>: The ID of the workplan assigned to the user.</p>\n</li>\n<li><p><code>TraceId (string, required)</code>: A unique identifier used for tracking or logging the request.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created</code> - The users were successfully imported, and a JSON response confirming creation is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing required fields or improperly formatted input.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Import"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"2c0eae2e-6110-49fa-9f0c-ca4bb316d526","name":"Import Users","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"CreatedOn\": \"2025-11-24\",\r\n        \"FirstName\": \"Jack\",\r\n        \"LastName\": \"Bleak\",\r\n        \"BirthDate\": \"2000-11-24\",\r\n        \"Address\": null,\r\n        \"City\": null,\r\n        \"State\": null,\r\n        \"Phone\": null,\r\n        \"Mobile\": null,\r\n        \"Email\": null,\r\n        \"Gender\": \"Male\",\r\n        \"PictureUri\": null,\r\n        \"CustomId\": \"A56387\",\r\n        \"CustomField1\": null,\r\n        \"CustomField2\": null,\r\n        \"CustomField3\": null,\r\n        \"CustomField4\": null,\r\n        \"CustomField5\": null,\r\n        \"CustomField6\": null,\r\n        \"CustomField7\": null,\r\n        \"CustomField8\": null,\r\n        \"CustomField9\": null,\r\n        \"CustomField10\": null,\r\n        \"IsTimeAttendanceUser\": false,\r\n        \"IsArchived\": false,\r\n        \"HasUserAccount\": false,\r\n        \"UserAccountId\": null,\r\n        \"CalculationStartDate\": \"2025-11-01\",\r\n        \"SendInvite\": false,\r\n        \"TraceId\": \"Testing IMPORT\",\r\n        \"IdentifierValues\": [\"165489431\"],\r\n        \"AuthorizationRoleIds\": [\"239ef07e-29b5-4cd5-d3f8-08dcfd85516d\"],\r\n        \"BalanceOfHours\": 0,\r\n        \"VacationDays\": 0,\r\n        \"LastYearVacationDays\": 0,\r\n        \"WorkPlanId\": \"c75c4da9-4b49-4a62-2461-08ddefd9f0e2\",\r\n        \"OrganizationUnits\": \"Department/Subdepartment/Subdepartment2\"\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Import"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 24 Nov 2025 10:39:37 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"TraceId\": \"Testing IMPORT\",\n        \"Error\": null\n    }\n]"}],"_postman_id":"6f42f389-958d-4c72-bf0b-4b75084bb9e1"},{"name":"Import User Balances","id":"58badf0b-6bee-487a-a93e-da7d6558e3a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"TraceId\": null,\r\n    \"Email\": \"johnnybravo@gmail.com\",\r\n    \"FirstName\": \"Johnny\",\r\n    \"LastName\": \"Bravo\",\r\n    \"BalanceOfHours\": 600,\r\n    \"VacationDays\": 30,\r\n    \"LastYearVacationDays\": 2,\r\n    \"BalancesUpdateDate\": \"2025-06-01\"\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Import/Balance","description":"<p>This endpoint is used to set or completely replace user balances in bulk whether you're adding new users or need to wipe and reload existing balances. It's typically applied when updating vacation days, carryover time, or hour balances across multiple users.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Import/Balance</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>Email (string, required)</code>: The user's email address used for identification.</p>\n</li>\n<li><p><code>FirstName (string, required)</code>: The user's first name.</p>\n</li>\n<li><p><code>LastName (string, required)</code>: The user's last name.</p>\n</li>\n<li><p><code>TraceId (string, optional)</code>: A unique identifier used for tracking or logging the request.</p>\n</li>\n<li><p><code>BalanceOfHours (integer, optional)</code>: Total balanced hours assigned to the user.</p>\n</li>\n<li><p><code>VacationDays (integer, optional)</code>: All vacation days (last years + this years).</p>\n</li>\n<li><p><code>LastYearVacationDays (integer, optional)</code>: Remaining vacation days from the previous year.</p>\n</li>\n<li><p><code>BalancesUpdateDate (date, required)</code>: The date on which the balance data will be updated</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>201 Created -</code> The user balances were successfully imported, and a confirmation response is returned.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, often due to missing required fields or formatting issues.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Import","Balance"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"a5dfb64a-8a18-42bb-883e-922dab428973","name":"Import User Balances","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"TraceId\": null,\r\n    \"Email\": \"johnnybravo@gmail.com\",\r\n    \"FirstName\": \"Johnny\",\r\n    \"LastName\": \"Bravo\",\r\n    \"BalanceOfHours\": 600,\r\n    \"VacationDays\": 30,\r\n    \"LastYearVacationDays\": 2,\r\n    \"BalancesUpdateDate\": \"2025-06-01\"\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Import/Balance"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 03 Jun 2025 19:53:45 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"58badf0b-6bee-487a-a93e-da7d6558e3a6"},{"name":"Import Vacation Quotas","id":"11384d41-191f-48e4-aa9a-928f176058e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"TraceId\": \"user1\",\r\n    \"Email\": \"\",\r\n    \"FirstName\": \"Jack\",\r\n    \"LastName\": \"McNelly\",\r\n    \"VacationQuota\": 50,\r\n    \"Timestamp\": \"2025-06-01\",\r\n    \"OverrideExistingVacationBalances\": true\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Import/Vacation","description":"<p>This endpoint is used to set or update vacation quota values for users in bulk. It supports overwriting existing balances or inserting new vacation data. This is useful for initializing or adjusting users' time-off entitlements for a given period.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Import/Vacation</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>Email (string, required)</code>: The user's email address used for identification.</p>\n</li>\n<li><p><code>FirstName (string, required)</code>: The user's first name.</p>\n</li>\n<li><p><code>LastName (string, required)</code>: The user's last name.</p>\n</li>\n<li><p><code>TraceId (string, optional)</code>: A unique identifier used for tracking or logging the request.</p>\n</li>\n<li><p><code>VacationQuota (integer, required)</code>: The number of vacation days being allocated to the user</p>\n</li>\n<li><p><code>Timestamp (date, required)</code>: The date and time when the quota is applied, in ISO 8601 format.</p>\n</li>\n<li><p><code>OverrideExistingVacationBalances (boolean, required)</code>: If set to true, the existing vacation balance will be replaced with the new value provided.</p>\n</li>\n</ul>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>As demonstrated in the request, if the user does not have an email address, the import can still be processed using just the first name and last name for identification.</em> </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The vacation quotas were successfully processed, and a JSON response confirms the outcome.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, likely due to missing required fields or incorrect formatting.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Import","Vacation"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"8d9b8be0-770c-4e47-981c-bf1a7d08cdf2","name":"Import Vacation Quotas","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"TraceId\": \"user1\",\r\n    \"Email\": \"\",\r\n    \"FirstName\": \"Jack\",\r\n    \"LastName\": \"McNelly\",\r\n    \"VacationQuota\": 50,\r\n    \"Timestamp\": \"2025-06-01\",\r\n    \"OverrideExistingVacationBalances\": true\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Import/Vacation"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 03 Jun 2025 20:21:18 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"11384d41-191f-48e4-aa9a-928f176058e3"},{"name":"Bulk Update Users","id":"fc7874e6-59c5-4593-b33d-99563bdb1438","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"Id\": \"{{UserId}}\",\r\n    \"FirstName\": \"Leeroy\",\r\n    \"LastName\": \"Jenkins\",\r\n    \"MiddleName\": null,\r\n    \"FullName\": \"\",\r\n    \"BirthDate\": null,\r\n    \"Address\": null,\r\n    \"City\": null,\r\n    \"State\": null,\r\n    \"Phone\": null,\r\n    \"Mobile\": null,\r\n    \"Email\": \"leeroyjenkins@gmail.com\",\r\n    \"Gender\": null,\r\n    \"PictureUri\": null,\r\n    \"CustomId\": null,\r\n    \"CustomField1\": null,\r\n    \"CustomField2\": null,\r\n    \"CustomField3\": null,\r\n    \"CustomField4\": null,\r\n    \"CustomField5\": null,\r\n    \"CustomField6\": null,\r\n    \"CustomField7\": null,\r\n    \"CustomField8\": null,\r\n    \"CustomField9\": null,\r\n    \"CustomField10\": null,\r\n    \"IsTimeAttendanceUser\": true,\r\n    \"IsArchived\": false,\r\n    \"HasUserAccount\": true,\r\n    \"UserAccountId\": null,\r\n    \"CalculationStartDate\": \"2025-06-01\",\r\n    \"CalculationStopDate\": null,\r\n    \"HasAssignedPin\": false,\r\n    \"SendInvite\": false\r\n  },\r\n\r\n  {\r\n    \"Id\": \"{{UserId}}\",\r\n    \"FirstName\": \"Johnny\",\r\n    \"LastName\": \"Bravo\",\r\n    \"Email\": \"johnnybravo@gmail.com\",\r\n    \"BirthDate\": \"2000-06-23\",\r\n    \"Address\": \"Pot k sejmišču 30\",\r\n    \"PictureUri\": \"https://i.imgur.com/2ifHQab.jpeg\",\r\n    \"CustomId\": \"DEF51650\",\r\n    \"IsTimeAttendanceUser\": true,\r\n    \"CalculationStartDate\": \"2025-05-01\"\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Bulk","description":"<p>This endpoint allows you to update multiple users in bulk by submitting a list of user objects with updated profile information. This is useful for large-scale user data maintenance, such as updating contact details, custom fields, or status attributes across many users.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Bulk</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><p><code>Id (string, required)</code>: The unique identifier of the user being updated.</p>\n</li>\n<li><p><code>FirstName (string, required)</code>: The user's first name.</p>\n</li>\n<li><p><code>LastName (string, required)</code>: The user's last name.</p>\n</li>\n<li><p><code>Email (string, optional)</code>: User's email</p>\n</li>\n<li><p><code>CalculationStartDate (date, optional)</code>: The date when the user becomes active in the program.</p>\n</li>\n<li><p><code>CalculationStopDate (date, optional)</code>: In case you are using POST you should leave this empty</p>\n</li>\n<li><p><code>IsTimeAttendanceUser (boolean, optional)</code>: Field which toggles if the user is visible on Time&amp;Attendece views</p>\n</li>\n<li><p><code>IsArchived (boolean, optional)</code>: Changes the archive status for the user</p>\n</li>\n<li><p><code>SendInvite (boolean, optional)</code>: Sends the user an email invitation containing a URL to set their access code</p>\n</li>\n<li><p><code>HasUserAccount (boolean, required)</code>: Set to True if the user has an email address; otherwise, set to False.</p>\n</li>\n<li><p><code>UserAccountId (boolean, required)</code>: This field should always be null as it will be auto-populated with a UUID in case the user has an email address present</p>\n</li>\n</ul>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>When using this PUT endpoint, include only the data you want to stay the same and the specific fields you wish to update in the request body. Any fields you omit will be reset to system defaults (typically null or empty values).</em> </p>\n</blockquote>\n<blockquote>\n<p><em><strong>Example:</strong></em> <em>If you delete the field Email: \"Email_Example</em>\" from the body and make a request, the user will lose the email they previously had it will be cleared. </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The user data was successfully updated, and the response confirms the successful update.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing required fields or incorrect formatting.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Bulk"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"797cffa1-8444-443c-b9db-bdd8904747ca","name":"Bulk Update Users","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"[\r\n  {\r\n    \"Id\": \"{{UserId}}\",\r\n    \"FirstName\": \"Leeroy\",\r\n    \"LastName\": \"Jenkins\",\r\n    \"MiddleName\": \"string\",\r\n    \"FullName\": \"\",\r\n    \"BirthDate\": null,\r\n    \"Address\": null,\r\n    \"City\": null,\r\n    \"State\": null,\r\n    \"Phone\": null,\r\n    \"Mobile\": null,\r\n    \"Email\": \"leeroyjenkins@gmail.com\",\r\n    \"Gender\": null,\r\n    \"PictureUri\": null,\r\n    \"CustomId\": null,\r\n    \"CustomField1\": null,\r\n    \"CustomField2\": null,\r\n    \"CustomField3\": null,\r\n    \"CustomField4\": null,\r\n    \"CustomField5\": null,\r\n    \"CustomField6\": null,\r\n    \"CustomField7\": null,\r\n    \"CustomField8\": null,\r\n    \"CustomField9\": null,\r\n    \"CustomField10\": null,\r\n    \"IsTimeAttendanceUser\": true,\r\n    \"IsArchived\": false,\r\n    \"HasUserAccount\": true,\r\n    \"UserAccountId\": null,\r\n    \"CalculationStartDate\": \"2025-06-01\",\r\n    \"CalculationStopDate\": null,\r\n    \"HasAssignedPin\": false,\r\n    \"SendInvite\": false\r\n  },\r\n\r\n  {\r\n    \"Id\": \"{{UserId}}\",\r\n    \"FirstName\": \"Johnny\",\r\n    \"LastName\": \"Bravo\",\r\n    \"BirthDate\": \"2000-06-23\",\r\n    \"Address\": \"Pot k sejmišču 30\",\r\n    \"PictureUri\": \"https://i.imgur.com/2ifHQab.jpeg\",\r\n    \"CustomId\": \"DEF51650\",\r\n    \"IsTimeAttendanceUser\": true,\r\n    \"CalculationStartDate\": \"2025-05-01\"\r\n  }\r\n]","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Bulk"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Tue, 03 Jun 2025 22:02:42 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fc7874e6-59c5-4593-b33d-99563bdb1438"},{"name":"Bulk Delete Users","id":"ead9ee10-40d3-4bf9-ade8-33a2680e26ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserIds\": [\r\n    \"{{UserId}}\",\r\n    \"{{UserId}}\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Bulk","description":"<p>This endpoint allows you to delete multiple users at once by providing a list of their unique user IDs. It is typically used for cleaning up test data or removing users who are no longer part of the system.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Users/Bulk</code></li>\n</ul>\n<h4 id=\"request-body-parameters\">Request Body Parameters:</h4>\n<ul>\n<li><code>UserIds (string, required)</code>: A list of user IDs that should be deleted from the system.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><p><code>200 OK</code> - The users were successfully deleted from the system.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, possibly due to missing or incorrectly formatted user IDs.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Users","Bulk"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"7a87b962-668a-43a8-927a-e1cdb6fdfb4c","name":"Bulk Delete Users","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"UserIds\": [\r\n    \"{{UserId}}\",\r\n    \"{{UserId}}\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api4.allhours.com/api/v1/Users/Bulk"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"0"},{"key":"Date","value":"Tue, 03 Jun 2025 22:31:27 GMT"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"ead9ee10-40d3-4bf9-ade8-33a2680e26ee"}],"id":"62f2fc7c-b964-4d65-9f87-92f2baba9d2f","description":"<p>The Users endpoints allow you to manage user data within the All Hours system using standard HTTP methods. You can retrieve, create, import, update, and delete users in bulk or individually. These endpoints support a variety of use cases, such as onboarding new employees, updating user details, assigning roles, managing balances, and archiving accounts.</p>\n<p>Each endpoint supports specific operations, from retrieving basic user information for listings, to fully updating or importing complex user records including balances and vacation quotas.</p>\n<h4 id=\"user-account\">User Account</h4>\n<p>This section explains the <code>UserAccount</code> field, which you will encounter in the endpoints below.</p>\n<p>The <code>UserAccountId</code> is a unique identifier that is automatically generated when a user is assigned an email address. You can think of it as the system's internal ID that links directly to the user's email-based login.</p>\n<h4 id=\"behavior-summary\">Behavior Summary</h4>\n<ul>\n<li><p>If the user has an email:</p>\n<ul>\n<li><p>Set <code>UserAccountId</code> to <code>null</code> it will be automatically generated.</p>\n</li>\n<li><p>Set <code>HasUserAccount</code> to <code>true</code>.</p>\n</li>\n</ul>\n</li>\n<li><p>If the user does not have an email:</p>\n<ul>\n<li><p>Leave <code>UserAccountId</code> as <code>null</code>.</p>\n</li>\n<li><p>Set <code>HasUserAccount</code> to <code>false</code>.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"important-for-put-operations\">Important (for PUT operations)</h4>\n<p>When using PUT endpoints (such as bulk updates), ALWAYS include the existing <code>UserAccountId</code> in your request payload. Failing to do so may break the link between the user and their login account, causing data inconsistency or disconnection between user records.</p>\n<h4 id=\"traceid\">TraceId</h4>\n<p>A client-defined identifier used to track individual records in bulk operations. This value is echoed back in the API response to help correlate each response item with its original input.</p>\n<p>It is not used for identifying or updating users in the system and has no functional impact on the operation itself.</p>\n<h5 id=\"example-use-case\">Example Use Case:</h5>\n<ul>\n<li>When importing a list of users, you can assign each record a <code>TraceId</code> like <code>\"user001\"</code>, <code>\"user002\"</code>, etc. The response will return these same IDs alongside success or error information, making it easier to troubleshoot specific entries.</li>\n</ul>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/Users/Summary/Query?searchTerm=Makswell\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the absences (usually by name). When not provided, the endpoint returns all available adjustment definitions.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"b5bfc905-0276-48e4-8ca9-0c9feae6c511","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"17dbc749-73b9-4276-b732-a9c1bfa0cbc2","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"62f2fc7c-b964-4d65-9f87-92f2baba9d2f"},{"name":"Payrolls","item":[{"name":"Get Payroll Repository","id":"30f1ccc3-6425-430a-a878-8337b3c29ebd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Payrolls/repository","description":"<p>This endpoint retrieves all payroll repository data. It does not accept any query parameters and returns payroll records in JSON format.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/Payrolls/repository</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>This endpoint doesn't support any querying and does not have any path parameters.</em> </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<ul>\n<li><code>200 OK</code> - The payroll repository data was successfully retrieved. The response includes payroll records in JSON format.</li>\n</ul>\n","urlObject":{"path":["api","v1","Payrolls","repository"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"f9d414ec-9f34-4323-9b30-11f478ad7982","name":"Get Payroll Repository","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Payrolls/repository"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 10:59:14 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"com.spica.timespace.reports.exports.GradErpExport\",\n        \"Name\": \"Grad ERP\",\n        \"IsPayrollExport\": true,\n        \"IsDefault\": false,\n        \"Templates\": []\n    },\n    {\n        \"Id\": \"com.spica.timespace.reports.exports.PayrollExport\",\n        \"Name\": \"Payroll\",\n        \"IsPayrollExport\": true,\n        \"IsDefault\": true,\n        \"Templates\": [\n            {\n                \"Id\": \"dc37e3d3-e7ce-4e92-9e63-08dd1377cff9\",\n                \"Name\": \"Default\",\n                \"LastUpdate\": \"2025-09-15T10:57:43.0029562\"\n            }\n        ]\n    }\n]"}],"_postman_id":"30f1ccc3-6425-430a-a878-8337b3c29ebd"},{"name":"Get User Data","id":"767ac59f-59e7-407e-b5fe-1b86d0fab6e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Payrolls?dateFrom=2025-09-01&dateTo=2025-10-01","description":"<p>This endpoint retrieves payroll user data for a specified date range. The data is displayed based on payroll settings. You can further filter results using organizational unit IDs or tag IDs.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/PayRolls</code></li>\n</ul>\n<h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The start date of the payroll period-</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The end date of the payroll period.</td>\n</tr>\n<tr>\n<td><code>organizationUnitId</code></td>\n<td>array of strings</td>\n<td>No</td>\n<td>Organizational unit IDs to filter the payroll data.</td>\n</tr>\n<tr>\n<td><code>tagId</code></td>\n<td>array of strings</td>\n<td>No</td>\n<td>Tag IDs to filter the payroll data.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The payroll data was successfully retrieved. The response includes payroll records in JSON format.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to incorrect or missing parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Payrolls"],"host":["https://api4.allhours.com"],"query":[{"key":"dateFrom","value":"2025-09-01"},{"key":"dateTo","value":"2025-10-01"}],"variable":[]}},"response":[{"id":"9edefc50-01b5-4afe-945a-7a00918201e5","name":"Get User Data","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":{"raw":"https://api4.allhours.com/api/v1/Payrolls?dateFrom=2025-09-01&dateTo=2025-10-01","host":["https://api4.allhours.com"],"path":["api","v1","Payrolls"],"query":[{"key":"dateFrom","value":"2025-09-01"},{"key":"dateTo","value":"2025-10-01"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 10:59:31 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"DateFrom\": \"2025-09-01\",\n    \"DateTo\": \"2025-10-01\",\n    \"Users\": [\n        {\n            \"UserId\": \"DEF51650\",\n            \"Payments\": [\n                {\n                    \"PaymentId\": \"A120\",\n                    \"PaymentValue\": \"184\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"B550\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"KSD3\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"R603\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"E990\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"ASCW\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                }\n            ]\n        },\n        {\n            \"UserId\": \"AEAS1650\",\n            \"Payments\": [\n                {\n                    \"PaymentId\": \"A120\",\n                    \"PaymentValue\": \"184\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"B550\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"KSD3\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"R603\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"E990\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"ASCW\",\n                    \"PaymentValue\": \"32\",\n                    \"PaymentType\": \"0\"\n                }\n            ]\n        },\n        {\n            \"UserId\": \"06185S2A\",\n            \"Payments\": [\n                {\n                    \"PaymentId\": \"A120\",\n                    \"PaymentValue\": \"152\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"B550\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"KSD3\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"R603\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"E990\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"ASCW\",\n                    \"PaymentValue\": \"19\",\n                    \"PaymentType\": \"0\"\n                }\n            ]\n        },\n        {\n            \"UserId\": \"SAS5A4S\",\n            \"Payments\": [\n                {\n                    \"PaymentId\": \"A120\",\n                    \"PaymentValue\": \"184\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"B550\",\n                    \"PaymentValue\": \"144\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"KSD3\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"R603\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"E990\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"ASCW\",\n                    \"PaymentValue\": \"176\",\n                    \"PaymentType\": \"0\"\n                }\n            ]\n        },\n        {\n            \"UserId\": \"54SC5A7A\",\n            \"Payments\": [\n                {\n                    \"PaymentId\": \"A120\",\n                    \"PaymentValue\": \"184\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"B550\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"KSD3\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"R603\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"E990\",\n                    \"PaymentValue\": \"0\",\n                    \"PaymentType\": \"0\"\n                },\n                {\n                    \"PaymentId\": \"ASCW\",\n                    \"PaymentValue\": \"32\",\n                    \"PaymentType\": \"0\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"767ac59f-59e7-407e-b5fe-1b86d0fab6e9"},{"name":"Get User Data Based on Report Id","id":"64d98b2f-0060-4aa1-a0c7-524124c33275","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":"https://api4.allhours.com/api/v1/Payrolls/{{ReportId}}?dateFrom=2025-09-01&dateTo=2025-10-01","description":"<p>This endpoint retrieves payroll data for a specific payroll report, identified by its unique <code>reportId</code>. A date range must be provided, and results can be further filtered by organizational unit IDs or tag IDs.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/PayRolls/{reportId}</code></li>\n</ul>\n<h4 id=\"path-parameters\"><strong>Path Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>reportId</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique identifier of the payroll report to retrieve.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"query-parameters\"><strong>Query Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dateFrom</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The start date of the payroll period.</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The end date of the payroll period.</td>\n</tr>\n<tr>\n<td><code>organizationUnitId</code></td>\n<td>array of strings</td>\n<td>No</td>\n<td>Organizational unit IDs to filter the payroll data.</td>\n</tr>\n<tr>\n<td><code>tagId</code></td>\n<td>array of strings</td>\n<td>No</td>\n<td>Tag IDs to filter the payroll data.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\"><strong>Response</strong></h4>\n<h4 id=\"http-status\"><strong>HTTP Status</strong></h4>\n<ul>\n<li><p><code>200 OK</code> - The payroll report data was successfully retrieved. The response includes payroll records in JSON format.</p>\n</li>\n<li><p><code>400 Bad Request</code> - The request was invalid, typically due to missing or incorrect parameters.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","Payrolls","{{ReportId}}"],"host":["https://api4.allhours.com"],"query":[{"key":"dateFrom","value":"2025-09-01"},{"key":"dateTo","value":"2025-10-01"}],"variable":[]}},"response":[{"id":"5c18f912-e7ab-4128-9502-edea43d163eb","name":"Get User Data Based on Report Id","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"{{AccessToken}}"}],"url":{"raw":"https://api4.allhours.com/api/v1/Payrolls/{{ReportId}}?dateFrom=2025-09-01&dateTo=2025-10-01","host":["https://api4.allhours.com"],"path":["api","v1","Payrolls","{{ReportId}}"],"query":[{"key":"dateFrom","value":"2025-09-01"},{"key":"dateTo","value":"2025-10-01"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Date","value":"Mon, 15 Sep 2025 11:00:33 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"DateFrom\": \"2025-09-01\",\n    \"DateTo\": \"2025-10-01\",\n    \"Rows\": [\n        {\n            \"Columns\": [\n                {\n                    \"Label\": \"Name\",\n                    \"Value\": \"Bravo Johnny \"\n                },\n                {\n                    \"Label\": \"Shift plan\",\n                    \"Value\": \"184:00\"\n                },\n                {\n                    \"Label\": \"Paid time\",\n                    \"Value\": \"0:00\"\n                },\n                {\n                    \"Label\": \"Department\",\n                    \"Value\": \"TEST\"\n                }\n            ]\n        },\n        {\n            \"Columns\": [\n                {\n                    \"Label\": \"Name\",\n                    \"Value\": \"Buckswel Makswell \"\n                },\n                {\n                    \"Label\": \"Shift plan\",\n                    \"Value\": \"184:00\"\n                },\n                {\n                    \"Label\": \"Paid time\",\n                    \"Value\": \"32:00\"\n                },\n                {\n                    \"Label\": \"Department\",\n                    \"Value\": \"HighGround\"\n                }\n            ]\n        },\n        {\n            \"Columns\": [\n                {\n                    \"Label\": \"Name\",\n                    \"Value\": \"Furlan Andraž \"\n                },\n                {\n                    \"Label\": \"Shift plan\",\n                    \"Value\": \"152:00\"\n                },\n                {\n                    \"Label\": \"Paid time\",\n                    \"Value\": \"19:00\"\n                },\n                {\n                    \"Label\": \"Department\",\n                    \"Value\": \"AH API\"\n                }\n            ]\n        },\n        {\n            \"Columns\": [\n                {\n                    \"Label\": \"Name\",\n                    \"Value\": \"Jenkins Leeroy \"\n                },\n                {\n                    \"Label\": \"Shift plan\",\n                    \"Value\": \"184:00\"\n                },\n                {\n                    \"Label\": \"Paid time\",\n                    \"Value\": \"176:00\"\n                },\n                {\n                    \"Label\": \"Department\",\n                    \"Value\": \"TEST2\"\n                }\n            ]\n        },\n        {\n            \"Columns\": [\n                {\n                    \"Label\": \"Name\",\n                    \"Value\": \"Skywalker Luke \"\n                },\n                {\n                    \"Label\": \"Shift plan\",\n                    \"Value\": \"184:00\"\n                },\n                {\n                    \"Label\": \"Paid time\",\n                    \"Value\": \"32:00\"\n                },\n                {\n                    \"Label\": \"Department\",\n                    \"Value\": \"HighGround\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"64d98b2f-0060-4aa1-a0c7-524124c33275"}],"id":"74866163-243f-46aa-9b7c-953765804f89","description":"<p>The Payrolls endpoint retrieves payroll data within a specified date range. It requires <code>dateFrom</code> and <code>dateTo</code> values to define the period and supports optional filters like <code>organizationUnitId</code> and <code>tagId</code> to narrow down results. This allows you to generate payroll information for specific timeframes, departments, or tagged groups of employees. The response returns payroll records in JSON format.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"0b93cad4-2841-465f-b963-c94eb4069061","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"615731ba-adca-448d-8467-f8c2fa37e6e2","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"74866163-243f-46aa-9b7c-953765804f89"},{"name":"Audit Logs","item":[{"name":"Audit Logs","id":"3a4c8c5e-fe8b-40b0-8c6e-00a58f8924c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AuditLogs?dateFrom=2025-01-01&searchTerm=Makswell&entityType=UserRole","description":"<p>This endpoint retrieves a list of audit logs based on various filtering criteria such as user ID, action type, date range, search term, and entity type.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/AuditLogs</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>userId</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filters logs by the specific user’s unique ID.</td>\n</tr>\n<tr>\n<td>action</td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Filters logs based on action type.</td>\n</tr>\n<tr>\n<td>dateFrom</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Retrieves logs from a specific start date.</td>\n</tr>\n<tr>\n<td>dateTo</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Retrieves logs up to a specific end date.</td>\n</tr>\n<tr>\n<td>searchTerm</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filters logs using a keyword or phrase.</td>\n</tr>\n<tr>\n<td>entityType</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Filters logs based on the type of entity involved.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<p><code>200 OK</code> - The request was successful, and the response contains the audit logs in JSON format.<br /><code>400 Bad Request</code> - The request was malformed, possibly due to invalid query parameters.</p>\n","urlObject":{"path":["api","v1","AuditLogs"],"host":["https://api4.allhours.com"],"query":[{"key":"dateFrom","value":"2025-01-01"},{"key":"searchTerm","value":"Makswell"},{"key":"entityType","value":"UserRole"}],"variable":[]}},"response":[{"id":"dff1000a-9ee1-40c4-a4c2-ba6abbe5e4b9","name":"Audit Logs","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":{"raw":"https://api4.allhours.com/api/v1/AuditLogs?dateFrom=2025-01-01&searchTerm=Makswell&entityType=UserRole","host":["https://api4.allhours.com"],"path":["api","v1","AuditLogs"],"query":[{"key":"dateFrom","value":"2025-01-01"},{"key":"searchTerm","value":"Makswell"},{"key":"entityType","value":"UserRole"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Date","value":"Sun, 14 Sep 2025 18:58:18 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Strict-Transport-Security","value":"max-age=2592000"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"Id\": \"d754d990-aaae-4783-dc49-08dd25613fd1\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"298764f5-7242-4c7d-b677-46fb82c1a629\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.69.170\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-01-11T16:27:14.9896812+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"ecdc4753-5939-4776-d1cb-08dd316e2461\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"83ec3d2c-b685-4dbd-953d-08dd31296498\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"348780fd-c6cd-4131-89eb-bbfeb8fd8b9f\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.69.170\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-01-10T11:07:39.3193499+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"2f267ef8-c5ec-4798-2953-08dd3148882b\\\"}\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"915fe9be-019b-4d98-c094-08dd312964b4\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"20e89e0a-e776-45fe-bf15-2d678b28153a\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.69.170\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-01-10T11:58:48.3045053+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"ecdc4753-5939-4776-d1cb-08dd316e2461\\\"}\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"546445f7-300e-42d1-9142-08dd31297efe\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"9f039ed1-02ea-428c-bb92-0219e89838d3\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.69.170\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-01-10T11:26:03.9485167+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"2f267ef8-c5ec-4798-2953-08dd3148882b\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": \"fea14a87-fdbf-4976-091c-08db3909952a\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Makswell Buckswel\"\n    },\n    {\n        \"Id\": \"c9ca3875-07a2-49a8-cffb-08dd3129908a\",\n        \"TableName\": \"Andraž Furlan\",\n        \"EntityId\": \"3b931dd3-2dbf-45cd-a8ac-9646411e1794\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.69.170\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-01-10T11:24:48.362523+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"8b1aed90-0432-4ae5-7ead-08dd31696473\\\"}\",\n        \"SupportAccountId\": \"fea14a87-fdbf-4976-091c-08db3909952a\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Makswell Buckswel\"\n    },\n    {\n        \"Id\": \"11a43cf7-78bb-47d5-cffc-08dd3129908a\",\n        \"TableName\": \"Andraž Furlan\",\n        \"EntityId\": \"60a75c33-6c0b-4382-8227-d9d6627d173c\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.69.170\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-01-10T11:24:48.3896749+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"239ef07e-29b5-4cd5-d3f8-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"070e0d23-83c2-44af-9032-08dd31488f7e\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": \"fea14a87-fdbf-4976-091c-08db3909952a\",\n        \"UserId\": \"5c853130-8aa1-4570-584c-08dcf3075c0e\",\n        \"UserName\": \"Makswell Buckswel\"\n    },\n    {\n        \"Id\": \"da5d6c68-1638-4000-f38c-08dd41aa454c\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"a5bea90d-9b50-4d04-85c2-1d2c350273d6\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.102.212\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-01-31T12:51:07.9641527+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"239ef07e-29b5-4cd5-d3f8-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"f0b670d3-82d0-4eec-9993-08dd0886609c\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"7f05f4c0-a9a8-4c2e-fba9-08dd43625810\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"9bb0e13c-4384-4ec5-8e14-1805ca464284\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.102.212\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-02-02T13:08:08.4815381+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"239ef07e-29b5-4cd5-d3f8-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"4d9ed4ed-f2db-4612-b617-08dd438aa38a\\\"}\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"be5fc647-a86c-4189-0a9e-08dd44055dc4\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"e9042385-c1a3-4209-bb79-fad88bc9d1f6\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"93.103.5.81\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-02-03T12:51:44.1676605+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"0d195497-377f-4fed-f553-08dd441b254a\\\"}\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"33266474-4cc9-4491-cadc-08dd56185533\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"8af506e2-9b8b-4e55-8cb4-7434980185f0\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"93.103.5.81\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-02-26T09:47:31.8076457+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"877efab5-db53-441a-d3f9-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"bb7c6c4a-7618-4d31-7be6-08dd563bfab7\\\"}\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"049b969e-7535-40dd-cadd-08dd56185533\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"b9e5d5f8-225e-4255-8ad3-b1840def4c2b\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"93.103.5.81\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-02-26T09:47:31.8123159+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"239ef07e-29b5-4cd5-d3f8-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"4d9ed4ed-f2db-4612-b617-08dd438aa38a\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"b655ea22-3492-4d91-cade-08dd56185533\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"c3133413-bf13-4846-866a-d88d9eff9733\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"93.103.5.81\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-02-26T09:47:31.8219229+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"cdf91455-0e05-470a-d3f7-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"0d195497-377f-4fed-f553-08dd441b254a\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"71a22eb6-dbed-4b5e-e640-08dd57aa787a\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"572713ef-b6a2-408f-b3c0-2cc77f06ab54\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.68.159\",\n        \"Action\": 0,\n        \"DateTime\": \"2025-02-28T08:36:52.2374287+00:00\",\n        \"OldValue\": \"\\\"\\\"\",\n        \"NewValue\": \"{\\\"TenantId\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"239ef07e-29b5-4cd5-d3f8-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"b115a924-6724-46da-5b49-08dd57d30cd0\\\"}\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    },\n    {\n        \"Id\": \"efbed799-e87c-4004-e641-08dd57aa787a\",\n        \"TableName\": \"Makswell Buckswel\",\n        \"EntityId\": \"9ec10775-2c67-434d-8640-e9311f6ddb6e\",\n        \"EntityType\": \"UserRole\",\n        \"EntityTypeName\": \"User role\",\n        \"IpAddress\": \"46.122.68.159\",\n        \"Action\": 2,\n        \"DateTime\": \"2025-02-28T08:36:52.2498504+00:00\",\n        \"OldValue\": \"{\\\"TenantId\\\":\\\"18b63a11-2825-418c-4e07-08dcf3075bca\\\",\\\"UserId\\\":\\\"5c853130-8aa1-4570-584c-08dcf3075c0e\\\",\\\"RoleDefinitionId\\\":\\\"877efab5-db53-441a-d3f9-08dcfd85516d\\\",\\\"IsDeleted\\\":false,\\\"Id\\\":\\\"bb7c6c4a-7618-4d31-7be6-08dd563bfab7\\\"}\",\n        \"NewValue\": \"\\\"\\\"\",\n        \"SupportAccountId\": null,\n        \"UserId\": \"64b25eb3-7f2c-4abc-584b-08dcf3075c0e\",\n        \"UserName\": \"Andraž Furlan\"\n    }\n]"}],"_postman_id":"3a4c8c5e-fe8b-40b0-8c6e-00a58f8924c8"},{"name":"Audit Log Types","id":"faa7fb02-6670-4c11-95cc-1bdcc68d89d6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"tokenType","value":"<token-type>"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AuditLogs/Types","description":"<p>This endpoint retrieves a list of available audit log types, which can be used to filter logs based on specific actions.</p>\n<ul>\n<li><strong>Endpoint:</strong> <code>/api/v1/AuditLogs/Types</code></li>\n</ul>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<blockquote>\n<p><em><strong>Note:</strong></em> <em>This endpoint doesn't support any querying and does not have any path parameters.</em> </p>\n</blockquote>\n<h4 id=\"response\">Response</h4>\n<h4 id=\"http-status\">HTTP Status</h4>\n<p><code>200 OK</code> - The request was successful, and the response contains a list of audit log types in JSON format.</p>\n","urlObject":{"path":["api","v1","AuditLogs","Types"],"host":["https://api4.allhours.com"],"query":[],"variable":[]}},"response":[{"id":"49213d38-4df1-40eb-baa2-60a5a264f68d","name":"Audit Log Types","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"{{AccessToken}}","type":"text"}],"url":"https://api4.allhours.com/api/v1/AuditLogs/Types"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Mon, 10 Mar 2025 12:48:45 GMT"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"Content-Encoding","value":"gzip"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Strict-Transport-Security","value":"max-age=2592000"},{"key":"X-Powered-By","value":"ASP.NET"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"DisplayName\": \"Clocking\",\n        \"Value\": \"Clocking\"\n    },\n    {\n        \"DisplayName\": \"Unknown clocking\",\n        \"Value\": \"UnknownClocking\"\n    },\n    {\n        \"DisplayName\": \"Work plan membership\",\n        \"Value\": \"WorkPlanMembership\"\n    },\n    {\n        \"DisplayName\": \"Organization unit membership\",\n        \"Value\": \"OrganizationUnitMembership\"\n    },\n    {\n        \"DisplayName\": \"Time policy counter assignment\",\n        \"Value\": \"TimePolicyCounterAssignment\"\n    },\n    {\n        \"DisplayName\": \"Clocking interface detail\",\n        \"Value\": \"ClockingInterfaceDetail\"\n    },\n    {\n        \"DisplayName\": \"Absence definition\",\n        \"Value\": \"AbsenceDefinition\"\n    },\n    {\n        \"DisplayName\": \"Geo location\",\n        \"Value\": \"GeoLocation\"\n    },\n    {\n        \"DisplayName\": \"Work plan policy\",\n        \"Value\": \"WorkPlanPolicy\"\n    },\n    {\n        \"DisplayName\": \"Identifier membership\",\n        \"Value\": \"IdentifierMembership\"\n    },\n    {\n        \"DisplayName\": \"User tag\",\n        \"Value\": \"UserTag\"\n    },\n    {\n        \"DisplayName\": \"Identifier\",\n        \"Value\": \"Identifier\"\n    },\n    {\n        \"DisplayName\": \"Absence\",\n        \"Value\": \"Absence\"\n    },\n    {\n        \"DisplayName\": \"Calendar group\",\n        \"Value\": \"CalendarGroup\"\n    },\n    {\n        \"DisplayName\": \"Adjustment\",\n        \"Value\": \"Adjustment\"\n    },\n    {\n        \"DisplayName\": \"Counter assignment\",\n        \"Value\": \"CounterAssignment\"\n    },\n    {\n        \"DisplayName\": \"Calendar event\",\n        \"Value\": \"CalendarEvent\"\n    },\n    {\n        \"DisplayName\": \"System setting\",\n        \"Value\": \"SystemSetting\"\n    },\n    {\n        \"DisplayName\": \"Counter calculation result type source\",\n        \"Value\": \"CounterCalculationResultTypeSource\"\n    },\n    {\n        \"DisplayName\": \"Clocking point\",\n        \"Value\": \"ClockingPoint\"\n    },\n    {\n        \"DisplayName\": \"Calendar group membership\",\n        \"Value\": \"CalendarGroupMembership\"\n    },\n    {\n        \"DisplayName\": \"User organization unit restriction\",\n        \"Value\": \"UserOrganizationUnitRestriction\"\n    },\n    {\n        \"DisplayName\": \"User tag restriction\",\n        \"Value\": \"UserTagRestriction\"\n    },\n    {\n        \"DisplayName\": \"Approval request\",\n        \"Value\": \"ApprovalRequest\"\n    },\n    {\n        \"DisplayName\": \"Rule assignment\",\n        \"Value\": \"RuleAssignment\"\n    },\n    {\n        \"DisplayName\": \"Work plan\",\n        \"Value\": \"WorkPlan\"\n    },\n    {\n        \"DisplayName\": \"Adjustment definition\",\n        \"Value\": \"AdjustmentDefinition\"\n    },\n    {\n        \"DisplayName\": \"Rule assignment configuration\",\n        \"Value\": \"RuleAssignmentConfiguration\"\n    },\n    {\n        \"DisplayName\": \"Role claim action\",\n        \"Value\": \"RoleClaimAction\"\n    },\n    {\n        \"DisplayName\": \"Tag\",\n        \"Value\": \"Tag\"\n    },\n    {\n        \"DisplayName\": \"Clocking definition\",\n        \"Value\": \"ClockingDefinition\"\n    },\n    {\n        \"DisplayName\": \"Time policy\",\n        \"Value\": \"TimePolicy\"\n    },\n    {\n        \"DisplayName\": \"User\",\n        \"Value\": \"User\"\n    },\n    {\n        \"DisplayName\": \"Organization unit\",\n        \"Value\": \"OrganizationUnit\"\n    },\n    {\n        \"DisplayName\": \"Beacon\",\n        \"Value\": \"Beacon\"\n    },\n    {\n        \"DisplayName\": \"Time clock\",\n        \"Value\": \"TimeClock\"\n    },\n    {\n        \"DisplayName\": \"User role\",\n        \"Value\": \"UserRole\"\n    },\n    {\n        \"DisplayName\": \"Calculation result type\",\n        \"Value\": \"CalculationResultType\"\n    },\n    {\n        \"DisplayName\": \"Clocking interface definition\",\n        \"Value\": \"ClockingInterface\"\n    },\n    {\n        \"DisplayName\": \"Time policy rule assignment\",\n        \"Value\": \"TimePolicyRuleAssignment\"\n    },\n    {\n        \"DisplayName\": \"Role definition\",\n        \"Value\": \"RoleDefinition\"\n    },\n    {\n        \"DisplayName\": \"Counter definition\",\n        \"Value\": \"CounterDefinition\"\n    },\n    {\n        \"DisplayName\": \"Report template\",\n        \"Value\": \"ReportTemplate\"\n    },\n    {\n        \"DisplayName\": \"Automated Report Task\",\n        \"Value\": \"AutomatedReportTask\"\n    },\n    {\n        \"DisplayName\": \"Approval request delegation\",\n        \"Value\": \"ApprovalRequestDelegation\"\n    },\n    {\n        \"DisplayName\": \"Insights into user data\",\n        \"Value\": \"InsightsIntoUserData\"\n    },\n    {\n        \"DisplayName\": \"Logout\",\n        \"Value\": \"Logout\"\n    },\n    {\n        \"DisplayName\": \"Login\",\n        \"Value\": \"Login\"\n    },\n    {\n        \"DisplayName\": \"User time policy\",\n        \"Value\": \"UserTimePolicy\"\n    },\n    {\n        \"DisplayName\": \"User clock-in geolocation insight\",\n        \"Value\": \"InsightsIntoUserGeoLocation\"\n    },\n    {\n        \"DisplayName\": \"Access key\",\n        \"Value\": \"AccessKey\"\n    },\n    {\n        \"DisplayName\": \"eBOL module - insights into documents\",\n        \"Value\": \"EBolDocument\"\n    },\n    {\n        \"DisplayName\": \"eBOL module - system settings\",\n        \"Value\": \"EBolSystemSetting\"\n    },\n    {\n        \"DisplayName\": \"eBOL module - analyze absences\",\n        \"Value\": \"EBolAbsence\"\n    }\n]"}],"_postman_id":"faa7fb02-6670-4c11-95cc-1bdcc68d89d6"}],"id":"83438871-44ac-46e8-9051-fa6b81fdbf57","description":"<p>The AuditLogs endpoint provide access to system audit logs, enabling tracking, monitoring, and analysis for purposes like compliance, troubleshooting, and security.</p>\n<h4 id=\"example-query-using-searchterm\"><strong>Example Query Using</strong> <code>searchTerm</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api4.allhours.com/api/v1/AuditLogs?searchTerm=Jery\n\n</code></pre><ul>\n<li>The <code>searchTerm</code> is optional and allows users to filter the adjustments (usually by name). When not provided, the endpoint returns all available adjustments.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"fb9b28f4-0a10-4605-9152-3391bf14f5cd","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"8c2cc5a1-95e5-4359-91e4-d6ad2d87e48f","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"83438871-44ac-46e8-9051-fa6b81fdbf57"}],"auth":{"type":"oauth2","oauth2":{"basicConfig":[]}},"event":[{"listen":"prerequest","script":{"id":"bd14e1d9-82c1-4fb7-852a-6837f1dafdd6","type":"text/javascript","exec":["//Function to retry a failing request ","pm.globals.set('loadUtils', function loadUtils() {","    let utils = {};","    utils.retryOnFailure = function retryOnFailure(expectedHttpStatus , maxNumberOfTries ) {","        var sleepBetweenTries = 5000;","        if (!pm.environment.get(\"collection_tries\")) {","        pm.environment.set(\"collection_tries\", 1);","        }","        if ((pm.response.code != expectedHttpStatus) && (pm.environment.get(\"collection_tries\") < maxNumberOfTries)) {","            var tries = parseInt(pm.environment.get(\"collection_tries\"), 10);","                pm.environment.set(\"collection_tries\", tries + 1);","                setTimeout(function() {}, sleepBetweenTries);","                 postman.setNextRequest(pm.info.requestId);","                  } else {","                      pm.environment.unset(\"collection_tries\");","                      pm.test(\"Status code is \" + expectedHttpStatus, function () {","                          pm.response.to.have.status(expectedHttpStatus);","     });","","     // more tests here...","}","","}","return utils;","} + '; loadUtils();');","",""]}},{"listen":"test","script":{"id":"a12ace02-91c6-4959-b88c-15ff2c292990","type":"text/javascript","packages":{},"exec":["",""]}}],"variable":[{"id":"f5667457-ac01-448e-816b-b5853a31d839","key":"URL","value":"https://api4.allhours.com"},{"id":"d3111e9d-355c-4f1e-a982-13f5b14ebcb0","key":"OAuth 2.0","value":"{{AccessToken}}"},{"id":"0991508c-c54f-447a-ad80-11d69037182a","key":"UserId","value":"{{UserId}}"},{"id":"8f3b0684-2076-4997-bbdf-8b5c93d9f57a","key":"HolidayLeaveId","value":"{{HolidayLeaveId}}"},{"id":"7e3c79df-abc2-47a3-9767-30555cf9432b","key":"SickLeaveId","value":"{{SickLeaveId}}"},{"id":"30c32f07-96f5-4e30-947c-6f20324a0918","key":"WorkFromHomeID","value":"{{WorkFromHomeId}}"},{"id":"2819b7db-5245-48aa-aa75-0f97069620cd","key":"AbsenceId","value":"{{AbsenceId}}"},{"id":"43d51485-e7f5-406b-85ff-cbdaffb4e14f","key":"UpdatedTimestamp","value":"{{UpdatedTimestamp}}"},{"id":"e12500e3-044a-43ea-8d81-56c373e4205b","key":"UpdatedUser","value":"{{UpdatedUser}}"},{"id":"04e62d0a-b2e4-43ec-bd3a-3407a9a0747a","key":"AbsenceId2","value":"{{AbsenceId}}"},{"id":"180ae56b-b3e5-4abf-b67f-ef74ed5f005d","key":"StudyLeaveId","value":"{{StudyLeaveId}}"},{"id":"89a566db-abf0-435e-9a03-68139a5e73d3","key":"AbsenceId3","value":"{{AbsenceId}}"},{"id":"9a49e6a2-5fb8-4c57-a844-9746800defd1","key":"AbsenceDefinitionId","value":"{{AbsenceDefinitionId}}"},{"id":"e319fff7-0105-4dab-a1e8-16e42b064759","key":"CategoryDefinition WFH","value":"{{CategoryDefinitionId}}"},{"id":"e584f0cf-a7cc-4dd1-ae6c-56be61e2b74a","key":"CategoryDefinition SL","value":"{{CategoryDefinitionId}}"},{"id":"dc0c4347-284e-48d9-9077-d59fa9faad1f","key":"WorkFromHome","value":"{{WorkFromHomeId}}"},{"id":"279d2211-0508-4ba5-8bca-9c07d728de2b","key":"SpecialLeave","value":"{{SpecialLeaveId}}"},{"id":"247a69ff-9601-4c96-98b5-47357552f792","key":"Correctionofhours","value":"{{AdjustmentDefinitionId}}"},{"id":"00e30986-cd7d-419e-b395-f8ce70e8d3ee","key":"CalculationResultType","value":"{{CalculationResultTypeId}}"},{"id":"65706f06-c18f-4024-96de-42e3c3ba7dbf","key":"AdjustmentDefinitionWFH","value":"{{AdjustmentDefinitionId}}"},{"id":"58b7d254-282f-4b94-9f28-b009dbfa0d2d","key":"AdjustmentId","value":"{{AdjustmentId}}"},{"id":"3088cb97-7067-4acf-8d92-a9831090464e","key":"Overridebalanceofhours","value":"{{AdjustmentDefinitionId}}"},{"id":"e7db5834-1674-453b-b83d-a3720babe48c","key":"AddPaidTimeInterval","value":"{{AdjustmentDefinitionId}}"},{"id":"7006cfd3-2b97-4ad3-b718-678f8b0d694b","key":"BusinessLeave","value":"{{BusinessLeaveId}}"},{"id":"829735a0-0a5f-4294-8638-f36e88dc2cea","key":"AdjustmentIdOvertime","value":"{{AdjustmentId}}"},{"id":"42056342-ec3c-4997-bf08-0003e9100ee8","key":"AndrazID","value":"{{ApproverId}}"},{"id":"247017c8-4f07-4d84-b087-a08254f897be","key":"Arrival","value":"{{ClockingId}}"},{"id":"1cb2d012-c2b5-496c-b109-57d64239163b","key":"ApprovalRequest_1","value":"{{Approvalld}}"},{"id":"a8cc929b-3f81-4224-8af4-1a3f53998fca","key":"ApprovalRequest_2","value":"{{Approvalld}}"},{"id":"206e6871-6136-4298-8f52-68ef50063680","key":"ClockingPointId","value":"{{ClockingPointId}}"},{"id":"485fda16-798d-42b3-8e0e-8d6858cbe9bb","key":"Random UUID","value":"{{RandomUUID}}"},{"id":"2fde25e6-729f-484e-8270-42e26ff15b4d","key":"BeaconId","value":"{{BeaconId}}"},{"id":"b9bf856e-b352-44c2-994c-a91715f39264","key":"HolidayEventId","value":"{{HolidayEventId}}"},{"id":"de13d743-bcdb-4b40-ac8b-f83a10199fdc","key":"IrelandCalendarId","value":"{{CalendarGroupId}}"},{"id":"c33da26a-03e4-47fb-b150-128f2afebd6f","key":"Autralia","value":"{{CalendarGroupId}}"},{"id":"ba165737-e6fc-4bc6-9fae-e8eb8ad02558","key":"CalendarEventId","value":"{{CalendarEventId}}"},{"id":"12cdcfbe-d14f-4100-bd14-f065350ecedc","key":"Payday","value":"{{CalendarEventId}}"},{"id":"14b83ae6-7b3a-444d-b09b-2ad136335aeb","key":"department","value":"{{DepartmentId}}"},{"id":"cbfc4575-5b2c-43f4-ab36-ce2f35f0a2af","key":"user1","value":"{{UserId}}"},{"id":"967daaea-d3b4-4a25-9a16-0e930900fba8","key":"user2","value":"{{UserId}}"},{"id":"7a43fbc6-bcbe-44cd-9e9d-404edbb6c958","key":"user3","value":"{{UserId}}"},{"id":"e8cb28d2-22ad-479a-9a98-e66549abaa25","key":"identifierId","value":"{{IdentifierId}}"},{"id":"1247e2af-359f-4acb-b930-a8d8bb955be2","key":"avtshema","value":"{{AuthorizationRoleId}}"},{"id":"d4275ee7-d3b6-46cc-98d8-0772e759688a","key":"workplan","value":"{{WorkPlanId}}"},{"id":"0418a0d8-2091-47d5-b0fb-d22146892b76","key":"user4","value":"{{UserId}}"},{"id":"a6be7712-f5b0-4913-aa23-1923e91ed96c","key":"user5","value":"{{UserId}}"},{"id":"05a77753-d4a1-4802-ab19-2ef282ddb984","key":"calendargroupid","value":"{{CalendarGroupId}}"},{"id":"c9a1ff82-985b-45c5-a314-7e1b3548fef6","key":"payday","value":"{{CalendarEventType}}"},{"id":"5a9e9181-0255-4a75-aa0e-f9a48025558f","key":"category","value":"{{CategoryId}}"},{"id":"b864bb40-8576-4d1a-a2be-424db929c54a","key":"tagid","value":"{{TagId}}"},{"id":"7b6791fd-f4b5-46f7-aeab-a7ec31c46fb6","key":"clockingdefinition","value":"{{ClockingDefinitionId}}"},{"id":"8f08a8b4-5bc4-4351-87d1-758d18245044","key":"timeclockid","value":"{{TimeClockId}}"},{"id":"22b9b080-14a7-45d5-8892-d3271f75f632","key":"clockingpointid","value":"{{ClockingPointId}}"},{"id":"df5d2f7f-c2db-4c1e-83ef-3ce2d0a1824e","key":"lunch","value":"{{ClockingTypeId}}"},{"id":"a2a66554-346a-4140-bec7-f36e132894bd","key":"clockingid","value":"{{ClockingId}}"},{"id":"bfe60adf-74bf-4509-87fa-5b36edddcb9a","key":"reportid","value":"{{ReportId}}"},{"id":"06f34110-35bb-415a-86bc-35e01e8f0ec8","key":"geolocationid","value":"{{GeolocationId}}"},{"id":"e7038e61-962d-4aea-8850-1e27c553a0d4","key":"identifierid","value":"{{IdentifierId}}"},{"id":"6bf157b3-98ae-4fd3-9496-d6ad5e3d74d0","key":"organizationalunitid","value":"{{OrganizationalUnitId}}"},{"id":"2466753a-8273-439b-acdb-8e54cc0c289f","key":"organizationalunitid2","value":"{{OrganizationalUnitId}}"},{"id":"581d2771-cde4-4754-a09d-d2bb59397ac3","key":"tag","value":"{{TimePolicyId}}"},{"id":"2034b4f4-e375-428e-9640-d6ce7590554b","key":"timepolicy","value":"{{TimePolicyId}}"},{"id":"b01dc6ae-61a1-4e89-ada3-67e002799cab","key":"workplanid","value":"{{WorkPlanId}}"},{"id":"a9b21743-7fa0-4c0e-b4b2-5d6a51b57301","key":"timepolicy1","value":"{{TimePolicyId}}"},{"id":"8e1a20d9-abfd-46d2-8535-5ba7d4cde5ab","key":"timepolicyidinworkplan","value":"{{TimePolicy-WorkPlanId}}"},{"id":"f9461685-37ec-47e2-bf21-c362fc2711d7","key":"timepolicyidinworkplan1","value":"{{TimePolicy-WorkPlanId}}"},{"id":"a24294cf-6ed2-4528-864f-569c8c979844","key":"clockingdefinitionid","value":""}]}